[GRASS-git] [OSGeo/grass] 66e80c: lib/imagery: fix missing SONAME (#2363)

Markus Neteler noreply at github.com
Mon May 9 03:44:21 PDT 2022


  Branch: refs/heads/releasebranch_8_2
  Home:   https://github.com/OSGeo/grass
  Commit: 66e80c0e7925a37c9ffcd50633b9951462285a70
      https://github.com/OSGeo/grass/commit/66e80c0e7925a37c9ffcd50633b9951462285a70
  Author: Markus Neteler <neteler at gmail.com>
  Date:   2022-05-09 (Mon, 09 May 2022)

  Changed paths:
    M lib/imagery/Makefile

  Log Message:
  -----------
  lib/imagery: fix missing SONAME (#2363)

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).




More information about the grass-commit mailing list