Open sbjw opened 11 months ago
Please ensure that your dynamic triplet file contains
set(VCPKG_FIXUP_ELF_RPATH ON)
as x64-linux-dynamic does.
(Note that you must rebuild all packages for this triplet after adding this line.)
ok, I try it again
i remove all cache archives, installed buildtrees packages folder.
add set(VCPKG_FIXUP_ELF_RPATH ON) to file x64-linux-dynamic.cmake
but get the new error
Package: libspatialite[core,freexl,geocallbacks]:arm64-linux-dynamic -> 5.0.1#12
Host Environment
To Reproduce
vcpkg install libspatialite
Failure logs
-- Using cached libspatialite-5.0.1.tar.gz.
-- Cleaning sources at /data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/src/atialite-5-bc39e08d26.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /data/vcpkg/vcpkg-2023.08.09/downloads/libspatialite-5.0.1.tar.gz
-- Applying patch fix-makefiles.patch
-- Applying patch fix-linux-configure.patch
-- Applying patch gaiaconfig-msvc.patch
-- Applying patch fix-mingw.patch
-- Using source at /data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/src/atialite-5-bc39e08d26.clean
-- Getting CMake variables for arm64-linux-dynamic-dbg
-- Getting CMake variables for arm64-linux-dynamic-rel
-- Generating configure for arm64-linux-dynamic
-- Finished generating configure for arm64-linux-dynamic
-- Configuring arm64-linux-dynamic-dbg
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
Command failed: /usr/bin/bash -c "V=1 ./../src/atialite-5-bc39e08d26.clean/configure \"--enable-freexl\" \"--disable-gcp\" \"--enable-geocallbacks\" \"--disable-rttopo\" \"--disable-examples\" \"--disable-minizip\" \"--disable-silent-rules\" \"--verbose\" \"--enable-shared\" \"--disable-static\" \"LIBS=-L/data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug/lib/pkgconfig/../../lib -lgeos_c -lxml2 -lproj -lsqlite3 -lz -lfreexl -lm $LIBS\" \"--prefix=/data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug\" \"--bindir=\\${prefix}/../tools/libspatialite/debug/bin\" \"--sbindir=\\${prefix}/../tools/libspatialite/debug/sbin\" \"--libdir=\\${prefix}/lib\" \"--includedir=\\${prefix}/../include\" \"--datarootdir=\\${prefix}/share/libspatialite\""
Working Directory: /data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/arm64-linux-dynamic-dbg
Error code: 1
See logs for more information:
/data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/config-arm64-linux-dynamic-dbg-config.log
/data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/config-arm64-linux-dynamic-dbg-out.log
/data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/config-arm64-linux-dynamic-dbg-err.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_configure_make.cmake:838 (vcpkg_execute_required_process)
ports/libspatialite/portfile.cmake:180 (vcpkg_configure_make)
scripts/ports.cmake:147 (include)
in building get the error
but i found the so file in geos folder
Hm, I can't reproduce this error for native x64-linux-dynamic builds, but I see the problem:
The port is supplying LIBS
in order to reduce the amount of patching. The libs are found when compiling configuration test programs. But when trying to run a compiled test program, the runtime-linker doesn't find the directory of vcpkg's libs.
It is possible to pass rpath flags, but we don't want absolute paths in the final binaries.
It is possible to provide search paths via LD_LIBRARY_PATH
but this would need to be setup per build type (debug, release), and it could break programs which are run during the build.
Maybe we should simply enforce cross-compilation mode which doesn't run configuration test programs. At least when passing LIBS
.
@dg0yt Eh, i found some problem .
in x64-linux-dynamic , the command is
./../src/atialite-5-bc39e08d26.clean/configure --enable-freexl --disable-gcp --enable-geocallbacks --disable-rttopo --disable-examples --disable-minizip --disable-silent-rules --verbose --enable-shared --disable-static 'LIBS=-L/opt/vcpkg-2023.08.09/installed/x64-linux-dynamic/debug/lib/pkgconfig/../../lib -lgeos_c -lxml2 -lproj -lsqlite3 -lz -lfreexl -lm ' --prefix=/opt/vcpkg-2023.08.09/installed/x64-linux-dynamic/debug '--bindir=${prefix}/../tools/libspatialite/debug/bin' '--sbindir=${prefix}/../tools/libspatialite/debug/sbin' '--libdir=${prefix}/lib' '--includedir=${prefix}/../include' '--datarootdir=${prefix}/share/libspatialite'
in arm64-linux-dynamic, the command is
./../src/atialite-5-bc39e08d26.clean/configure --enable-freexl --disable-gcp --enable-geocallbacks --disable-rttopo --disable-examples --disable-minizip --disable-silent-rules --verbose --enable-shared --disable-static LIBS=-L/data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug/lib/pkgconfig/../../lib -lgeos_c -lxml2 -lproj -lsqlite3 -lz -lfreexl -lm ' --prefix=/data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug --bindir=${prefix}/../tools/libspatialite/debug/bin --sbindir=${prefix}/../tools/libspatialite/debug/sbin --libdir=${prefix}/lib --includedir=${prefix}/../include --datarootdir=${prefix}/share/libspatialite
the arm64-linux-dynamic missing a lot of quotations
so i add the quotation(') to the same position.
./../src/atialite-5-bc39e08d26.clean/configure --enable-freexl --disable-gcp --enable-geocallbacks --disable-rttopo --disable-examples --disable-minizip --disable-silent-rules --verbose --disable-shared --enable-static 'LIBS=-L/data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux/debug/lib/pkgconfig/../../lib -lgeos_c -lgeos -lxml2 -lproj -lstdc++ -ltiffd -ljpeg -llzma -lcurl-d -lssl -lcrypto -lpthread -lsqlite3 -pthread -ldl -lz -lfreexl -lm ' --prefix=/data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux/debug '--bindir=${prefix}/../tools/libspatialite/debug/bin' '--sbindir=${prefix}/../tools/libspatialite/debug/sbin' '--libdir=${prefix}/lib' '--includedir=${prefix}/../include' '--datarootdir=${prefix}/share/libspatialite'
It is works well .
Is that the problem?
Which linux system are using at that arm64 host? Maybe the system pkg-config tool is too old? Try
pkg-config --version
Does the problem still occur with the latest version?
configure
.Not the original poster but I'm seeing the same issue with a different host (but still arm)
os: macOS Sonoma triplet: gdal_arm64-osx pkg-config version: 0.29.2 Apple clang version 15.0.0
This is an automated message. Per our repo policy, stale issues get closed if there has been no activity in the past 180 days. The issue will be automatically closed in 14 days. If you wish to keep this issue open, please add a new comment.
Operating system
arm64-linux-dynamic
Compiler
gcc 11.4.0
Steps to reproduce the behavior
Failure logs
Package: libspatialite[core,freexl,geocallbacks]:arm64-linux-dynamic -> 5.0.1#12
Host Environment
To Reproduce
vcpkg install libspatialite:arm64-linux-dynamic --recurse
Failure logs/data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/config-arm64-linux-dynamic-dbg-config.log
``` This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by libspatialite configure 5.0.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ ./../src/atialite-5-bc39e08d26.clean/configure --enable-freexl --disable-gcp --enable-geocallbacks --disable-rttopo --disable-examples --disable-minizip --disable-silent-rules --verbose --enable-shared --disable-static LIBS=-L/data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug/lib/pkgconfig/../../lib -lgeos_c -lxml2 -lproj -lsqlite3 -lz -lfreexl -lm --prefix=/data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug --bindir=${prefix}/../tools/libspatialite/debug/bin --sbindir=${prefix}/../tools/libspatialite/debug/sbin --libdir=${prefix}/lib --includedir=${prefix}/../include --datarootdir=${prefix}/share/libspatialite ## --------- ## ## Platform. ## ## --------- ## hostname = localhost.localdomain uname -m = aarch64 uname -r = 4.19.90-17.ky10.aarch64 uname -s = Linux uname -v = #1 SMP Sun Jun 28 14:27:40 CST 2020 /usr/bin/uname -p = aarch64 /bin/uname -X = unknown /bin/arch = aarch64 /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /usr/local/java/jdk8u382-b05/bin PATH: /usr/local/java/jdk8u382-b05/bin PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /usr/sbin PATH: /usr/bin PATH: /root/bin PATH: /root/bin PATH: /bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:2584: checking for a BSD-compatible install configure:2652: result: /usr/bin/install -c configure:2663: checking whether build environment is sane configure:2718: result: yes configure:2867: checking for a thread-safe mkdir -p configure:2906: result: /usr/bin/mkdir -p configure:2913: checking for gawk configure:2929: found /usr/bin/gawk configure:2940: result: gawk configure:2951: checking whether make sets $(MAKE) configure:2973: result: yes configure:3002: checking whether make supports nested variables configure:3019: result: yes configure:3137: checking whether to enable maintainer-specific portions of Makefiles configure:3146: result: no configure:3206: checking whether make supports the include directive configure:3221: make -f confmf.GNU && cat confinc.out this is the am__doit target configure:3224: $? = 0 configure:3243: result: yes (GNU style) configure:3313: checking for gcc configure:3340: result: /usr/bin/cc configure:3569: checking for C compiler version configure:3578: /usr/bin/cc --version >&5 cc (GCC) 11.4.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:3589: $? = 0 configure:3578: /usr/bin/cc -v >&5 Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/aarch64-unknown-linux-gnu/11.4.0/lto-wrapper ... Skipped 42 lines ... /usr/bin/ld: /data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug/lib/libgeos_c.so: undefined reference to `typeinfo for geos::geom::CoordinateArraySequence' /usr/bin/ld: /data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug/lib/libgeos_c.so: undefined reference to `geos::algorithm::MinimumBoundingCircle::getCircle()' /usr/bin/ld: /data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug/lib/libgeos_c.so: undefined reference to `geos::io::WKTWriter::setTrim(bool)' /usr/bin/ld: /data/vcpkg/vcpkg-2023.08.09/installed/arm64-linux-dynamic/debug/lib/libgeos_c.so: undefined reference to `geos::geom::GeometryFactory::createMultiLineString(std::vector/data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/config-arm64-linux-dynamic-dbg-out.log
``` checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports the include directive... yes (GNU style) checking for gcc... /usr/bin/cc checking whether the C compiler works... no ```/data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/config-arm64-linux-dynamic-dbg-err.log
``` configure: error: in `/data/vcpkg/vcpkg-2023.08.09/buildtrees/libspatialite/arm64-linux-dynamic-dbg': configure: error: C compiler cannot create executables See `config.log' for more details ```Additional context
No response