Greg Troxel <g...@lexort.com> writes: > Also, the tests are broken for me. Running make check fails > completely, and I find in the log: > > /tmp/work/geography/geos/work/geos-3.10.0beta2/bin/test_geos_unit: Shared > object "libgeos.so.3.10.0" not found > > I am running tests from the build directory before I have built a > package and then replaced the existing 3.9 installation. So in > /usr/pkg/lib, where the library is expected to be, there is > libgeos.so.3.9.0 and no 3.10. Looking at the test program: > > $ ldd /tmp/work/geography/geos/work/geos-3.10.0beta2/bin/test_geos_unit > /tmp/work/geography/geos/work/geos-3.10.0beta2/bin/test_geos_unit: > -lgeos_c.1 => /usr/pkg/lib/libgeos_c.so.1 > -lgeos-3.9.1 => /usr/pkg/lib/libgeos-3.9.1.so > -lstdc++.9 => /usr/lib/libstdc++.so.9 > -lm.0 => /usr/lib/libm.so.0 > -lc.12 => /usr/lib/libc.so.12 > -lgcc_s.1 => /usr/lib/libgcc_s.so.1 > -lgeos.3.10.0 => not found > -lpthread.1 => /usr/lib/libpthread.so.1 > > I see it's also finding the wrong libgeos_c, so the root cause is very > likely not arranging a temporary library path for testing built but not > installed code. autoconf/libtool did this correctly, with a scheme to > link test programs (and anything else) against the built but not > installed library, and then to relink at installation. There are of > course multiple approaches, but "make check" needs to use the > programs/libs in the build tree, and ignore what's installed.
I worked around the bug in "make check" by installing the package, and then building it again and running tests, so that when it links against the wrong library, it finds the same bits. I was happy to see that all the tests passed, so there aren't any real geos bugs, just cmake/test bugs.
signature.asc
Description: PGP signature
_______________________________________________ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel