Hi Ben,
according to manual "ldd prints the shared objects (shared libraries) required
by each program or shared object specified on the command line." In my reading
not only directly linked objects, but cascading dependencies, are listed too.
On mac I can do:
otool -L bin/r.surf.area
bin/r.surf.area:
@rpath/libgrass_raster.7.9.dylib (compatibility version 7.9.0, current version
7.9.0)
@rpath/libgrass_gis.7.9.dylib (compatibility version 7.9.0, current version
7.9.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
1281.100.1)
which shows only two grass libs linked.
You may also try:
objdump -p bin/r.surf.area
which perhaps give a different result.
Nicklas
On Monday, 1 March 2021, 14:46:05 CET, Benjamin Ducke
wrote:
Dear Devs:
$ ldd r.surf.area
.. produces the list of linked libraries below.
AFAICT, this includes GDAL/OGR and all of their dependencies.
Should it not be enough for "r.surf.area" [insert any other
r.*/v.* module here] to link against the GRASS libs (plus
a handful of essential system runtime libs)?
Best,
Ben
---
linux-vdso.so.1
libgrass_raster.7.8.so => /opt/grass/lib/libgrass_raster.7.8.so
libgrass_gis.7.8.so => /opt/grass/lib/libgrass_gis.7.8.so
libm.so.6 => /usr/lib/libm.so.6
libc.so.6 => /usr/lib/libc.so.6
libgrass_gproj.7.8.so => /opt/grass/lib/libgrass_gproj.7.8.so
libdl.so.2 => /usr/lib/libdl.so.2
libgrass_datetime.7.8.so => /opt/grass/lib/libgrass_datetime.7.8.so
libz.so.1 => /usr/lib/libz.so.1
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0
libzstd.so.1 => /usr/lib/libzstd.so.1
libpthread.so.0 => /usr/lib/libpthread.so.0
libgdal.so.26 => /usr/lib/libgdal.so.26
libproj.so.15 => /usr/lib/libproj.so.15
libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1
libpoppler.so.107 => /usr/lib/libpoppler.so.107
libjson-c.so.5 => /usr/lib/libjson-c.so.5
libfreexl.so.1 => /usr/lib/libfreexl.so.1
libgeos_c.so.1 => /usr/lib/libgeos_c.so.1
libexpat.so.1 => /usr/lib/libexpat.so.1
libxerces-c-3.2.so => /usr/lib/libxerces-c-3.2.so
libopenjp2.so.7 => /usr/lib/libopenjp2.so.7
libnetcdf.so.18 => /usr/lib/libnetcdf.so.18
libhdf5.so.200 => /usr/lib/libhdf5.so.200
libgif.so.7 => /usr/lib/libgif.so.7
libjpeg.so.8 => /usr/lib/libjpeg.so.8
libgeotiff.so.5 => /usr/lib/libgeotiff.so.5
libtiff.so.5 => /usr/lib/libtiff.so.5
libpng16.so.16 => /usr/lib/libpng16.so.16
libcfitsio.so.9 => /usr/lib/libcfitsio.so.9
libpq.so.5 => /usr/lib/libpq.so.5
librt.so.1 => /usr/lib/librt.so.1
libspatialite.so.7 => /usr/lib/libspatialite.so.7
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0
libpcre.so.1 => /usr/lib/libpcre.so.1
libcurl.so.4 => /usr/lib/libcurl.so.4
libxml2.so.2 => /usr/lib/libxml2.so.2
liblzma.so.5 => /usr/lib/liblzma.so.5
libicui18n.so.68 => /usr/lib/libicui18n.so.68
libicuuc.so.68 => /usr/lib/libicuuc.so.68
libicudata.so.68 => /usr/lib/libicudata.so.68
libmariadb.so.3 => /usr/lib/libmariadb.so.3
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libfreetype.so.6 => /usr/lib/libfreetype.so.6
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1
liblcms2.so.2 => /usr/lib/liblcms2.so.2
libsmime3.so => /usr/lib/libsmime3.so
libnss3.so => /usr/lib/libnss3.so
libplc4.so => /usr/lib/libplc4.so
libnspr4.so => /usr/lib/libnspr4.so
libgeos-3.8.1.so => /usr/lib/libgeos-3.8.1.so
libnsl.so.2 => /usr/lib/libnsl.so.2
libhdf5_hl.so.200 => /usr/lib/libhdf5_hl.so.200
libsz.so.2 => /usr/lib/libsz.so.2
libmpi.so.40 => /usr/lib/openmpi/libmpi.so.40
libssl.so.1.1 => /usr/lib/libssl.so.1.1
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2
libnghttp2.so.14 => /usr/lib/libnghttp2.so.14
libidn2.so.0 => /usr/lib/libidn2.so.0
libssh2.so.1 => /usr/lib/libssh2.so.1
libpsl.so.5 => /usr/lib/libpsl.so.5
libkrb5.so.3 => /usr/lib/libkrb5.so.3
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3
libcom_err.so.2 => /usr/lib/libcom_err.so.2
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0
libnssutil3.so => /usr/lib/libnssutil3.so
libplds4.so => /usr/lib/libplds4.so
libtirpc.so.3 => /usr/lib/libtirpc.so.3
libaec.so.0 => /usr/lib/libaec.so.0
libopen-rte.so.40 => /usr/lib/openmpi/libopen-rte.so.40
libopen-pal.so.40 => /usr/lib/openmpi/libopen-pal.so.40
libutil.so.1 => /usr/lib/libutil.so.1
libhwloc.so.15 => /usr/lib/libhwloc.so.15
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0
libkeyutils.so.1 => /usr/lib/libkeyutils.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2
libsasl2.so.3 => /usr/lib/libsasl2.so.3
libunistring.so.2 => /usr/lib/libunistring.so.2
libgraphite2.so.3 => /usr/lib/libgraphite2.so.3
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
libudev.so.1 => /usr/lib/libudev.so.1
___
grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev
___
grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev