Skip to content

Comments

lib/imagery: fix SONAME missing#2269

Merged
neteler merged 2 commits intoOSGeo:mainfrom
t0b3:patch-1
Mar 23, 2022
Merged

lib/imagery: fix SONAME missing#2269
neteler merged 2 commits intoOSGeo:mainfrom
t0b3:patch-1

Conversation

@t0b3
Copy link
Contributor

@t0b3 t0b3 commented Mar 18, 2022

Fixes #2268

@nilason
Copy link
Contributor

nilason commented Mar 18, 2022

I'm not quite sure including GRASS.make is needed at all in this Makefile (it isn't included in Makefiles for any of the other lib parts either). Just successfully compiled with that line removed.

@t0b3
Copy link
Contributor Author

t0b3 commented Mar 18, 2022

shall I remove it?

@nilason
Copy link
Contributor

nilason commented Mar 18, 2022

Please give it a try locally first with the line removed. If there are no problem, update this PR to see what the CI checks will tell us.

@t0b3
Copy link
Contributor Author

t0b3 commented Mar 18, 2022

k, it compiles and the library is fixed. 😄

@nilason
Copy link
Contributor

nilason commented Mar 18, 2022

@neteler
If I understand correctly the line:

include $(MODULE_TOPDIR)/include/Make/Grass.make

was added with #2091 for enabling copying of images to the documentation.
Testing locally with that line removed, suggests that it isn't needed. Could you please test this (with no import of Grass.make)?

@t0b3
Copy link
Contributor Author

t0b3 commented Mar 19, 2022

@nilason @neteler omitting Grass.make results in colortables dir not being packaged
to make those files available it would be necessary to include Grass.make
however the current (unpatched) situation isn't devlivering those files neither which might be unintentionally? 😕

see comparision of resulting files

--- grass-8.0.1_grass_make_at_1st_rank.files 2022-03-19 11:48:46.865748161 +0100
+++ grass-8.0.1_dropped_grass_make.files     2022-03-19 11:48:55.155748044 +0100
@@ -430,63 +430,6 @@
 ./usr/lib64/grass80/docs/html/barscales/tail_checker.png
 ./usr/lib64/grass80/docs/html/barscales/up_ticks.png
 ./usr/lib64/grass80/docs/html/class_graphical.html
-./usr/lib64/grass80/docs/html/colortables/
-./usr/lib64/grass80/docs/html/colortables/aspectcolr.png
-./usr/lib64/grass80/docs/html/colortables/aspect.png
-./usr/lib64/grass80/docs/html/colortables/bcyr.png
-./usr/lib64/grass80/docs/html/colortables/bgyr.png
-./usr/lib64/grass80/docs/html/colortables/blues.png
-./usr/lib64/grass80/docs/html/colortables/byg.png
-./usr/lib64/grass80/docs/html/colortables/byr.png
-./usr/lib64/grass80/docs/html/colortables/celsius.png
-./usr/lib64/grass80/docs/html/colortables/corine.png
-./usr/lib64/grass80/docs/html/colortables/curvature.png
-./usr/lib64/grass80/docs/html/colortables/differences.png
-./usr/lib64/grass80/docs/html/colortables/elevation.png
-./usr/lib64/grass80/docs/html/colortables/etopo2.png
-./usr/lib64/grass80/docs/html/colortables/evi.png
-./usr/lib64/grass80/docs/html/colortables/fahrenheit.png
-./usr/lib64/grass80/docs/html/colortables/forest_cover.png
-./usr/lib64/grass80/docs/html/colortables/gdd.png
-./usr/lib64/grass80/docs/html/colortables/grass.png
-./usr/lib64/grass80/docs/html/colortables/greens.png
-./usr/lib64/grass80/docs/html/colortables/grey1.0.png
-./usr/lib64/grass80/docs/html/colortables/grey255.png
-./usr/lib64/grass80/docs/html/colortables/grey.eq.png
-./usr/lib64/grass80/docs/html/colortables/grey.log.png
-./usr/lib64/grass80/docs/html/colortables/grey.png
-./usr/lib64/grass80/docs/html/colortables/gyr.png
-./usr/lib64/grass80/docs/html/colortables/haxby.png
-./usr/lib64/grass80/docs/html/colortables/inferno.png
-./usr/lib64/grass80/docs/html/colortables/kelvin.png
-./usr/lib64/grass80/docs/html/colortables/magma.png
-./usr/lib64/grass80/docs/html/colortables/ndvi.png
-./usr/lib64/grass80/docs/html/colortables/ndwi.png
-./usr/lib64/grass80/docs/html/colortables/nlcd.png
-./usr/lib64/grass80/docs/html/colortables/oranges.png
-./usr/lib64/grass80/docs/html/colortables/plasma.png
-./usr/lib64/grass80/docs/html/colortables/population_dens.png
-./usr/lib64/grass80/docs/html/colortables/population.png
-./usr/lib64/grass80/docs/html/colortables/precipitation_daily.png
-./usr/lib64/grass80/docs/html/colortables/precipitation_monthly.png
-./usr/lib64/grass80/docs/html/colortables/precipitation.png
-./usr/lib64/grass80/docs/html/colortables/rainbow.png
-./usr/lib64/grass80/docs/html/colortables/ramp.png
-./usr/lib64/grass80/docs/html/colortables/random.png
-./usr/lib64/grass80/docs/html/colortables/reds.png
-./usr/lib64/grass80/docs/html/colortables/roygbiv.png
-./usr/lib64/grass80/docs/html/colortables/rstcurv.png
-./usr/lib64/grass80/docs/html/colortables/ryb.png
-./usr/lib64/grass80/docs/html/colortables/ryg.png
-./usr/lib64/grass80/docs/html/colortables/sepia.png
-./usr/lib64/grass80/docs/html/colortables/slope.png
-./usr/lib64/grass80/docs/html/colortables/soilmoisture.png
-./usr/lib64/grass80/docs/html/colortables/srtm_plus.png
-./usr/lib64/grass80/docs/html/colortables/srtm.png
-./usr/lib64/grass80/docs/html/colortables/terrain.png
-./usr/lib64/grass80/docs/html/colortables/viridis.png
-./usr/lib64/grass80/docs/html/colortables/water.png
-./usr/lib64/grass80/docs/html/colortables/wave.png
 ./usr/lib64/grass80/docs/html/database_graphical.html
 ./usr/lib64/grass80/docs/html/database.html
 ./usr/lib64/grass80/docs/html/databaseintro.html
@@ -4675,63 +4618,6 @@
 ./usr/share/doc/grass-8.0.1/html/barscales/tail_checker.png
 ./usr/share/doc/grass-8.0.1/html/barscales/up_ticks.png
 ./usr/share/doc/grass-8.0.1/html/class_graphical.html
-./usr/share/doc/grass-8.0.1/html/colortables/
-./usr/share/doc/grass-8.0.1/html/colortables/aspectcolr.png
-./usr/share/doc/grass-8.0.1/html/colortables/aspect.png
-./usr/share/doc/grass-8.0.1/html/colortables/bcyr.png
-./usr/share/doc/grass-8.0.1/html/colortables/bgyr.png
-./usr/share/doc/grass-8.0.1/html/colortables/blues.png
-./usr/share/doc/grass-8.0.1/html/colortables/byg.png
-./usr/share/doc/grass-8.0.1/html/colortables/byr.png
-./usr/share/doc/grass-8.0.1/html/colortables/celsius.png
-./usr/share/doc/grass-8.0.1/html/colortables/corine.png
-./usr/share/doc/grass-8.0.1/html/colortables/curvature.png
-./usr/share/doc/grass-8.0.1/html/colortables/differences.png
-./usr/share/doc/grass-8.0.1/html/colortables/elevation.png
-./usr/share/doc/grass-8.0.1/html/colortables/etopo2.png
-./usr/share/doc/grass-8.0.1/html/colortables/evi.png
-./usr/share/doc/grass-8.0.1/html/colortables/fahrenheit.png
-./usr/share/doc/grass-8.0.1/html/colortables/forest_cover.png
-./usr/share/doc/grass-8.0.1/html/colortables/gdd.png
-./usr/share/doc/grass-8.0.1/html/colortables/grass.png
-./usr/share/doc/grass-8.0.1/html/colortables/greens.png
-./usr/share/doc/grass-8.0.1/html/colortables/grey1.0.png
-./usr/share/doc/grass-8.0.1/html/colortables/grey255.png
-./usr/share/doc/grass-8.0.1/html/colortables/grey.eq.png
-./usr/share/doc/grass-8.0.1/html/colortables/grey.log.png
-./usr/share/doc/grass-8.0.1/html/colortables/grey.png
-./usr/share/doc/grass-8.0.1/html/colortables/gyr.png
-./usr/share/doc/grass-8.0.1/html/colortables/haxby.png
-./usr/share/doc/grass-8.0.1/html/colortables/inferno.png
-./usr/share/doc/grass-8.0.1/html/colortables/kelvin.png
-./usr/share/doc/grass-8.0.1/html/colortables/magma.png
-./usr/share/doc/grass-8.0.1/html/colortables/ndvi.png
-./usr/share/doc/grass-8.0.1/html/colortables/ndwi.png
-./usr/share/doc/grass-8.0.1/html/colortables/nlcd.png
-./usr/share/doc/grass-8.0.1/html/colortables/oranges.png
-./usr/share/doc/grass-8.0.1/html/colortables/plasma.png
-./usr/share/doc/grass-8.0.1/html/colortables/population_dens.png
-./usr/share/doc/grass-8.0.1/html/colortables/population.png
-./usr/share/doc/grass-8.0.1/html/colortables/precipitation_daily.png
-./usr/share/doc/grass-8.0.1/html/colortables/precipitation_monthly.png
-./usr/share/doc/grass-8.0.1/html/colortables/precipitation.png
-./usr/share/doc/grass-8.0.1/html/colortables/rainbow.png
-./usr/share/doc/grass-8.0.1/html/colortables/ramp.png
-./usr/share/doc/grass-8.0.1/html/colortables/random.png
-./usr/share/doc/grass-8.0.1/html/colortables/reds.png
-./usr/share/doc/grass-8.0.1/html/colortables/roygbiv.png
-./usr/share/doc/grass-8.0.1/html/colortables/rstcurv.png
-./usr/share/doc/grass-8.0.1/html/colortables/ryb.png
-./usr/share/doc/grass-8.0.1/html/colortables/ryg.png
-./usr/share/doc/grass-8.0.1/html/colortables/sepia.png
-./usr/share/doc/grass-8.0.1/html/colortables/slope.png
-./usr/share/doc/grass-8.0.1/html/colortables/soilmoisture.png
-./usr/share/doc/grass-8.0.1/html/colortables/srtm_plus.png
-./usr/share/doc/grass-8.0.1/html/colortables/srtm.png
-./usr/share/doc/grass-8.0.1/html/colortables/terrain.png
-./usr/share/doc/grass-8.0.1/html/colortables/viridis.png
-./usr/share/doc/grass-8.0.1/html/colortables/water.png
-./usr/share/doc/grass-8.0.1/html/colortables/wave.png
 ./usr/share/doc/grass-8.0.1/html/database_graphical.html
 ./usr/share/doc/grass-8.0.1/html/database.html
 ./usr/share/doc/grass-8.0.1/html/databaseintro.html

@nilason
Copy link
Contributor

nilason commented Mar 19, 2022

@nilason @neteler omitting Grass.make results in colortables dir not being packaged to make those files available it would be necessary to include Grass.make however the current (unpatched) situation isn't devlivering those files neither which might be unintentionally? 😕

I'm not sure I understand what you mean. Eventual differences with the colortables dir in docs is unrelated to this Makefile (and the proposed changes of the same). That being said, diff -rq the result of compiling both with and without including Grass.make in this grass/lib/imagery/Makefile file showed no difference (in files present or not).

@t0b3
Copy link
Contributor Author

t0b3 commented Mar 19, 2022

@nilason your absolutely right 👍 I had a local caching issue causing that difference.

Co-authored-by: Nicklas Larsson <[email protected]>
@nilason nilason added this to the 8.0.2 milestone Mar 19, 2022
@nilason nilason added bug Something isn't working backport_needed labels Mar 19, 2022
@neteler neteler changed the title fix: SONAME missing lib/imagery: fix SONAME missing Mar 19, 2022
gentoo-bot pushed a commit to gentoo/gentoo that referenced this pull request Mar 20, 2022
Almost supports GRASS 8, but not yet, due to a bug in GRASS.

3.22.5+ *does* support GRASS 8 but we can't enable it yet because of
OSGeo/grass#2269 (=> unresolved SONAME dependencies)

Keep an eye on that bug / a fixed GRASS release and readd support
by unrestricting the dep in ${COMMON_DEPEND} once it's fixed!
(No need to change the supported GRASS versions in src_configure b/c
it won't find GRASS 8 with this dependency set.)

Bug: OSGeo/grass#2269
Signed-off-by: Sam James <[email protected]>
@nilason
Copy link
Contributor

nilason commented Mar 23, 2022

@neteler According to my testing, this is good to go. If you agree, please go ahead and merge.

@neteler
Copy link
Member

neteler commented Mar 23, 2022

No problems on Fedora 35, will merge and backport it.
Thanks for the PR!

@neteler neteler merged commit 7573a7c into OSGeo:main Mar 23, 2022
neteler pushed a commit that referenced this pull request Mar 23, 2022
* Update lib/imagery/Makefile: fix SONAME missing

Fixes #2268

Co-authored-by: Nicklas Larsson <[email protected]>
@thesamesam
Copy link

@t0b3 could you backport this for gentoo?

@t0b3
Copy link
Contributor Author

t0b3 commented Apr 16, 2022

@neteler what would be the release date for 8.0.2?

@t0b3
Copy link
Contributor Author

t0b3 commented Apr 16, 2022

@thesamesam sure I can backport if there won't be a release these days. Would you prefer to hotfix and keep existing arch or better stay conservative and reset to ~arch?

@t0b3 t0b3 deleted the patch-1 branch April 16, 2022 21:32
@t0b3 t0b3 restored the patch-1 branch April 16, 2022 21:32
@t0b3 t0b3 deleted the patch-1 branch April 16, 2022 21:32
t0b3 added a commit to t0b3/gentoo that referenced this pull request Apr 16, 2022
gentoo-bot pushed a commit to gentoo/gentoo that referenced this pull request Apr 17, 2022
backport OSGeo/grass#2269

Signed-off-by: Thomas Bettler <[email protected]>
Closes: #25050
Signed-off-by: Sam James <[email protected]>
@neteler
Copy link
Member

neteler commented Apr 19, 2022

@neteler what would be the release date for 8.0.2?

We are still stuck on a couple of backports which I try to clarify by next week. Then the RC cycle may start with the final release coming in a few weeks.

@t0b3
Copy link
Contributor Author

t0b3 commented Apr 19, 2022

Thanks for your information. Good luck with the backports then.

neteler added a commit that referenced this pull request May 9, 2022
The change implemented in #2269 actually didn't fix the SONAME problem (see issue #2268), at least on Fedora:

```
# status after PR 2269:
readelf -d /usr/lib64/grass80/lib/libgrass_imagery.so

Dynamic section at offset 0x16860 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x11e8c
 0x0000000000000019 (INIT_ARRAY)         0x17848
...
```

==> The SONAME is still missing which means that #2269 did not solve it (tested on Fedora).

With this PR (see e.g. also `lib/display/Makefile`) the SONAME appears:

```
readelf -d /home/mneteler/software/grass80/dist.x86_64-pc-linux-gnu/lib/libgrass_imagery.so

Dynamic section at offset 0x14db8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libgrass_imagery.8.0.so]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x10864
 0x0000000000000019 (INIT_ARRAY)         0x15da0
...
```

which is a requirement to compile, install and run the GDAL-GRASS driver (https://github.com/OSGeo/gdal-grass).
neteler added a commit that referenced this pull request May 9, 2022
The change implemented in #2269 actually didn't fix the SONAME problem (see issue #2268), at least on Fedora:

```
# status after PR 2269:
readelf -d /usr/lib64/grass80/lib/libgrass_imagery.so

Dynamic section at offset 0x16860 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x11e8c
 0x0000000000000019 (INIT_ARRAY)         0x17848
...
```

==> The SONAME is still missing which means that #2269 did not solve it (tested on Fedora).

With this PR (see e.g. also `lib/display/Makefile`) the SONAME appears:

```
readelf -d /home/mneteler/software/grass80/dist.x86_64-pc-linux-gnu/lib/libgrass_imagery.so

Dynamic section at offset 0x14db8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libgrass_imagery.8.0.so]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x10864
 0x0000000000000019 (INIT_ARRAY)         0x15da0
...
```

which is a requirement to compile, install and run the GDAL-GRASS driver (https://github.com/OSGeo/gdal-grass).
neteler added a commit that referenced this pull request May 9, 2022
The change implemented in #2269 actually didn't fix the SONAME problem (see issue #2268), at least on Fedora:

```
# status after PR 2269:
readelf -d /usr/lib64/grass80/lib/libgrass_imagery.so

Dynamic section at offset 0x16860 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x11e8c
 0x0000000000000019 (INIT_ARRAY)         0x17848
...
```

==> The SONAME is still missing which means that #2269 did not solve it (tested on Fedora).

With this PR (see e.g. also `lib/display/Makefile`) the SONAME appears:

```
readelf -d /home/mneteler/software/grass80/dist.x86_64-pc-linux-gnu/lib/libgrass_imagery.so

Dynamic section at offset 0x14db8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libgrass_imagery.8.0.so]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x10864
 0x0000000000000019 (INIT_ARRAY)         0x15da0
...
```

which is a requirement to compile, install and run the GDAL-GRASS driver (https://github.com/OSGeo/gdal-grass).
neteler added a commit that referenced this pull request May 9, 2022
The change implemented in #2269 actually didn't fix the SONAME problem (see issue #2268), at least on Fedora:

```
# status after PR 2269:
readelf -d /usr/lib64/grass80/lib/libgrass_imagery.so

Dynamic section at offset 0x16860 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x11e8c
 0x0000000000000019 (INIT_ARRAY)         0x17848
...
```

==> The SONAME is still missing which means that #2269 did not solve it (tested on Fedora).

With this PR (see e.g. also `lib/display/Makefile`) the SONAME appears:

```
readelf -d /home/mneteler/software/grass80/dist.x86_64-pc-linux-gnu/lib/libgrass_imagery.so

Dynamic section at offset 0x14db8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libgrass_imagery.8.0.so]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x10864
 0x0000000000000019 (INIT_ARRAY)         0x15da0
...
```

which is a requirement to compile, install and run the GDAL-GRASS driver (https://github.com/OSGeo/gdal-grass).
ninsbl pushed a commit to ninsbl/grass that referenced this pull request Oct 26, 2022
* Update lib/imagery/Makefile: fix SONAME missing

Fixes OSGeo#2268

Co-authored-by: Nicklas Larsson <[email protected]>
ninsbl pushed a commit to ninsbl/grass that referenced this pull request Oct 26, 2022
The change implemented in OSGeo#2269 actually didn't fix the SONAME problem (see issue OSGeo#2268), at least on Fedora:

```
# status after PR 2269:
readelf -d /usr/lib64/grass80/lib/libgrass_imagery.so

Dynamic section at offset 0x16860 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x11e8c
 0x0000000000000019 (INIT_ARRAY)         0x17848
...
```

==> The SONAME is still missing which means that OSGeo#2269 did not solve it (tested on Fedora).

With this PR (see e.g. also `lib/display/Makefile`) the SONAME appears:

```
readelf -d /home/mneteler/software/grass80/dist.x86_64-pc-linux-gnu/lib/libgrass_imagery.so

Dynamic section at offset 0x14db8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libgrass_imagery.8.0.so]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x10864
 0x0000000000000019 (INIT_ARRAY)         0x15da0
...
```

which is a requirement to compile, install and run the GDAL-GRASS driver (https://github.com/OSGeo/gdal-grass).
ninsbl pushed a commit to ninsbl/grass that referenced this pull request Feb 17, 2023
* Update lib/imagery/Makefile: fix SONAME missing

Fixes OSGeo#2268

Co-authored-by: Nicklas Larsson <[email protected]>
ninsbl pushed a commit to ninsbl/grass that referenced this pull request Feb 17, 2023
The change implemented in OSGeo#2269 actually didn't fix the SONAME problem (see issue OSGeo#2268), at least on Fedora:

```
# status after PR 2269:
readelf -d /usr/lib64/grass80/lib/libgrass_imagery.so

Dynamic section at offset 0x16860 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x11e8c
 0x0000000000000019 (INIT_ARRAY)         0x17848
...
```

==> The SONAME is still missing which means that OSGeo#2269 did not solve it (tested on Fedora).

With this PR (see e.g. also `lib/display/Makefile`) the SONAME appears:

```
readelf -d /home/mneteler/software/grass80/dist.x86_64-pc-linux-gnu/lib/libgrass_imagery.so

Dynamic section at offset 0x14db8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libgrass_imagery.8.0.so]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x10864
 0x0000000000000019 (INIT_ARRAY)         0x15da0
...
```

which is a requirement to compile, install and run the GDAL-GRASS driver (https://github.com/OSGeo/gdal-grass).
neteler pushed a commit to nilason/grass that referenced this pull request Nov 7, 2023
* Update lib/imagery/Makefile: fix SONAME missing

Fixes OSGeo#2268

Co-authored-by: Nicklas Larsson <[email protected]>
neteler added a commit to nilason/grass that referenced this pull request Nov 7, 2023
The change implemented in OSGeo#2269 actually didn't fix the SONAME problem (see issue OSGeo#2268), at least on Fedora:

```
# status after PR 2269:
readelf -d /usr/lib64/grass80/lib/libgrass_imagery.so

Dynamic section at offset 0x16860 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x11e8c
 0x0000000000000019 (INIT_ARRAY)         0x17848
...
```

==> The SONAME is still missing which means that OSGeo#2269 did not solve it (tested on Fedora).

With this PR (see e.g. also `lib/display/Makefile`) the SONAME appears:

```
readelf -d /home/mneteler/software/grass80/dist.x86_64-pc-linux-gnu/lib/libgrass_imagery.so

Dynamic section at offset 0x14db8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_gis.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_raster.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libgrass_vector.8.0.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000e (SONAME)             Library soname: [libgrass_imagery.8.0.so]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/local/grass80/lib]
 0x000000000000000c (INIT)               0x5000
 0x000000000000000d (FINI)               0x10864
 0x0000000000000019 (INIT_ARRAY)         0x15da0
...
```

which is a requirement to compile, install and run the GDAL-GRASS driver (https://github.com/OSGeo/gdal-grass).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

libgrass_imagery: missing SONAME

4 participants