[geos-devel] 3.12.0beta2

Greg Troxel gdt at lexort.com
Thu Jun 15 06:10:32 PDT 2023


This is of course not a request to hold the release; just a comment on
something that I don't yet understand.  I am able to run tests by
installing the just built geos and then running them.


The plot thickens on the meta test issues.  I built on RPI3 under
NetBSD; geos had not been previously installed (because that CPU, 1 GB
RAM, and no monitor or keyboard makes for a poor qgis experience!).  The
tests all failed, which if the issue was rpath order should not be.  I
then looked into the build dir:

/usr/pkgsrc/geography/geos/work/geos-3.12.0beta2/bin $ ldd test_xmltester 
test_xmltester:
        -lgeos.3.12.0 => not found
        -lstdc++.9 => /usr/lib/libstdc++.so.9
        -lm.0 => /usr/lib/libm.so.0
        -lc.12 => /usr/lib/libc.so.12

objdump says

  NEEDED               libgeos.so.3.12.0
  NEEDED               libstdc++.so.9
  NEEDED               libm.so.0
  NEEDED               libc.so.12
  RPATH                /usr/pkg/lib

which is ok for an installed program, but not one that intends to use a
library from the build tree.

I see 'make test' runs ctest, but I can't follow how that is supposed to
set up LD_LIBRARY_PATH to pre-load from the built but not installed
library.  I can't find 'LD_LIBR' by grepping the source tree.  I know
autoconf/libtool links once in the tree and relinks at install time --
but I do not have the impression cmake does it that way.

I wonder if for others, tests work from a build, in the case of no geos
at all installed on the system, and what ldd/objdump says on
bin/test_xmltester after building.

Can anyone explain the theory of how the tests are run linking against
the just-built library instead of one that is (or is not) installed in
the system?


More information about the geos-devel mailing list