[geos-devel] cmake detailed comments
Sandro Santilli
strk at kbt.io
Wed Oct 13 14:31:54 PDT 2021
On Wed, Oct 13, 2021 at 12:08:50PM -0400, Greg Troxel wrote:
> So maybe strk can test (on Linux I'm guessing):
Ubuntu 20.10 here
> build and install geos 3.9.1 as --prefix=/usr/foo
Done (3.9 branch of geos):
./autogen.sh && \
./configure --prefix=/tmp/geos && \
sudo make install
Note that after this I get:
$ objdump -x /tmp/geos/lib/libgeos_c.so.1.14.2 | grep RUNPATH
RUNPATH /tmp/geos/lib
I'm not sure it's relevant.
> build geos 3.10 by telling cmake to use /usr/foo as prefix, and
> passing in the environment
> CPPFLAGS=-I/usr/foo/include
> LDFLAGS="-L/usr/foo/lib -Wl,-R/usr/foo/lib"
> as a packaging system building everything for /usr/foo would do.
Done:
$ export CPPFLAGS=-I/tmp/geos
$ export LDFLAGS="-L/tmp/geos/lib -Wl,-R/tmp/geos/lib"
$ cmake .
$ make
> Then look at the test binaries with objdump -x, ldd, and run them.I
> expect they will mislink against the installed geos.
$ objdump -x bin/test_geos_unit | grep RUNPATH
RUNPATH /tmp/geos/lib:/usr/local/src/geos/geos/src/main/lib
$ ldd bin/test_geos_unit | grep tmp
libgeos_c.so.1 => /tmp/geos/lib/libgeos_c.so.1 (0x00007f0be9ead000)
libgeos-3.9.2.so => /tmp/geos/lib/libgeos-3.9.2.so (0x00007f0be9489000)
> If so, the bug in cmake or geos cmakefiles is that the extra RPATH for
> tests is put after the other RPATH values, rather then being put first.
>
> Or rather, that is the bug, but if you can reproduce it that's progress
> in understanding its scope.
So yes, I can reproduce the problem on a Linux system.
--strk;
More information about the geos-devel
mailing list