Re: [GRASS-dev] build system: module overlinking?

2021-03-01 Thread Nicklas Larsson via grass-dev
 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


Re: [GRASS-dev] [GRASS-PSC] Min. req. of programming language standard support, GRASS GIS 8

2021-03-01 Thread Nicklas Larsson via grass-dev
 Good, Anna, you brought up this question on regular update of Python version 
support. I deliberately left that part out of the draft for setting/updating 
language standards, as I would argue it deserves a RFC on its own.

A RFC should't be updatable, but may be overridden, partly or completely, with 
a new RFC. Adopting adherence to a new C or C++ standard will most likely be a 
quite rare business and should be dealt with a new RFC. The discussed approach, 
following the Python versions life-cycle, could possibly look a little 
different, however the forms and modes for this should be established likewise 
with a RFC.

If we agree now, to set Python 3.6 as a minimum, we have roughly six months to 
work out such a procedure. I’m glad to assist to this in, say around, October, 
in time for the 3.6 retirement.

Cheers,
Nicklas
 On Sunday, 28 February 2021, 21:55:57 CET, Anna Petrášová 
 wrote:  
 
 

On Fri, Feb 26, 2021 at 1:45 PM Veronica Andreo  wrote:

Dear Nicklas, 

Thanks much for such a clearly written RFC! I only made very minor cosmetic 
changes. 

Are there any other comments, objections or suggestions? Or further aspects to 
be discussed?If no, maybe we can vote on it soon-ish, no?
Have a nice weekend :)Vero


Regarding Python support, I thought we could add more specific rules for 
updating it, since that will happen fairly often. E.g. "For a new release of a 
minor GRASS version, the Python minimum version should be raised if the current 
minimum Python version reaches end of life or there are any important technical 
reasons."Once we need to update the min version (next year I suppose), would 
this RFC be updated? I guess I am unsure if the RFC is supposed to work.
Anna

El mar, 16 feb 2021 a las 15:36, Nicklas Larsson via grass-psc 
() escribió:

 I added the RFC draft to GRASS Wiki [1].

Well, it's only a draft, so any thoughts, modifications, additions are most 
welcome!

Nicklas


[1] https://trac.osgeo.org/grass/wiki/RFC/7_LanguageStandardsSupport



 On Thursday, 11 February 2021, 14:34:44 CET, Moritz Lennert 
 wrote:  
 
 

Am 11. Februar 2021 13:29:10 MEZ schrieb Nicklas Larsson :
> Moritz,
>
>I'd be honoured!
>I will put it on GRASS Wiki [1] if you don't have another suggestion and 
>notify here when done.


Great, thanks a lot !

Moritz

>
>[1] https://trac.osgeo.org/grass/wiki/RFC
>
>
>
>    On Thursday, 11 February 2021, 12:54:30 CET, Moritz Lennert 
> wrote:  
> 
> On 10/02/21 13:16, Nicklas Larsson wrote:
>> It would be most favourable for all contributors and the project if the 
>> community could come to an agreement on this topic. I see no reason to 
>> postpone a decision on this much longer.
>> 
>> The final word on this need to be that of the PSC's. Whether through 
>> simple vote or a RFC. However, a sounding of the opinion of the 
>> dev-community on this matter is of equal importance and can be of help 
>> for the PSC.
>
>Thanks a lot, Nicklas, for this very comprehensive summary !
>
>A suggestion made at the first meeting of the new PSC was to use this 
>discussion as a use case for a more extensive usage of RFC's to put 
>important decisions into more permanent documents than mailing list 
>archives and to provoke a formal decision as you suggest. Would you be 
>willing to write a first draft of such an RFC ?
>
>Moritz
>
  ___
grass-psc mailing list
grass-...@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-psc

___
grass-psc mailing list
grass-...@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-psc

  ___
grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev


[GRASS-dev] build system: module overlinking?

2021-03-01 Thread Benjamin Ducke

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