-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
GDAL linking to system libjson-c instead of requested libjson-c #3895
Copy link
Copy link
Closed
Labels
Description
Expected behavior and actual behavior.
I'm trying to install GDAL using an existing installation of libjson-c. I'm telling configure where to find it using --with-libjson-c. According to the config.log, the build does pick up the right version of libjson-c, but ultimately links against the system version and the build crashes with:
/gcc/g++ gdalinfo_bin.lo /data/geol552/a/adamjs5/spack-stage-gdal-3.2.3-ozkzmsnz4b4ucfeag6ezpb7xg6e67kpf/spack-src/libgdal.la -o gdalinfo
/data/geol552/a/adamjs5/spack-stage-gdal-3.2.3-ozkzmsnz4b4ucfeag6ezpb7xg6e67kpf/spack-src/.libs/libgdal.so: undefined reference to `json_object_get_userdata'
/data/geol552/a/adamjs5/spack-stage-gdal-3.2.3-ozkzmsnz4b4ucfeag6ezpb7xg6e67kpf/spack-src/.libs/libgdal.so: undefined reference to `json_c_object_sizeof'
collect2: error: ld returned 1 exit status
make[1]: *** [GNUmakefile:90: gdalinfo] Error 1
make[1]: Leaving directory '/data/geol552/a/adamjs5/spack-stage-gdal-3.2.3-ozkzmsnz4b4ucfeag6ezpb7xg6e67kpf/spack-src/apps'
make: *** [GNUmakefile:120: apps-target] Error 2
$ ldd -r /data/geol552/a/adamjs5/spack-stage-gdal-3.2.3-ozkzmsnz4b4ucfeag6ezpb7xg6e67kpf/spack-src/.libs/libgdal.so
linux-vdso.so.1 => (0x00007ffc92ffb000)
libjson-c.so.2 => /lib64/libjson-c.so.2 (0x00002ada82e03000)
libjpeg.so.62 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/libjpeg-turbo-2.0.6-2uplqkmzpxxntoli3z4gno2r3ov4txq7/lib64/libjpeg.so.62 (0x00002ada8300e000)
libgeotiff.so.5 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/libgeotiff-1.6.0-yq4is6bs7taipfuyi2uqraenrwcyxvuk/lib/libgeotiff.so.5 (0x00002ada832a3000)
liblzma.so.5 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/xz-5.2.5-tlrh4ts46kmxzwx34ay7d7fdk6m4y3xd/lib/liblzma.so.5 (0x00002ada834d7000)
libproj.so.19 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/proj-7.2.1-dzvrkjdzoy42ivr6acuticd4eqvs66ul/lib/libproj.so.19 (0x00002ada836fd000)
libtiff.so.5 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/libtiff-4.1.0-ufpixfx7frhh37ovmfvqnil6mnwzvx7g/lib/libtiff.so.5 (0x00002ada83c5f000)
libz.so.1 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/zlib-1.2.11-o5eyrr46zecie66pglu4lamuqvhpcrkl/lib/libz.so.1 (0x00002ada83eda000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ada840f1000)
librt.so.1 => /lib64/librt.so.1 (0x00002ada8430d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002ada84515000)
libiconv.so.2 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/libiconv-1.16-3h4ijv3dekrsfiejax5zgakffztcr4a5/lib/libiconv.so.2 (0x00002ada84719000)
libstdc++.so.6 => /sw/gcc-9.3.0/lib/../lib64/libstdc++.so.6 (0x00002ada84a16000)
libm.so.6 => /lib64/libm.so.6 (0x00002ada84df0000)
libc.so.6 => /lib64/libc.so.6 (0x00002ada850f2000)
/lib64/ld-linux-x86-64.so.2 (0x00002ada81c7d000)
libgcc_s.so.1 => /sw/gcc-9.3.0/lib/../lib64/libgcc_s.so.1 (0x00002ada854c0000)
libsqlite3.so.0 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/sqlite-3.35.5-7nsxx6bdqfxhbzubr3qo5xtjwkmcyeaw/lib/libsqlite3.so.0 (0x00002ada856d8000)
libcurl.so.4 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/curl-7.76.1-p24yzuljbvtdkotcts7twz5d245fbwlx/lib/libcurl.so.4 (0x00002ada859fb000)
libidn2.so.0 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/libidn2-2.3.0-pb37dfy42weiwnilmp7gjumphgei7k7j/lib/libidn2.so.0 (0x00002ada85c7d000)
libssl.so.1.1 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/openssl-1.1.1k-fpqvofqgdeat5is2k6am5dzinbxcz2tu/lib/libssl.so.1.1 (0x00002ada85e9d000)
libcrypto.so.1.1 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/openssl-1.1.1k-fpqvofqgdeat5is2k6am5dzinbxcz2tu/lib/libcrypto.so.1.1 (0x00002ada86130000)
libunistring.so.2 => /data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/libunistring-0.9.10-72fcbpxxc3gvpxptlj4i7u5aqow3cyqt/lib/libunistring.so.2 (0x00002ada86615000)
undefined symbol: json_object_get_userdata (/data/geol552/a/adamjs5/spack-stage-gdal-3.2.3-ozkzmsnz4b4ucfeag6ezpb7xg6e67kpf/spack-src/.libs/libgdal.so)
undefined symbol: json_c_object_sizeof (/data/geol552/a/adamjs5/spack-stage-gdal-3.2.3-ozkzmsnz4b4ucfeag6ezpb7xg6e67kpf/spack-src/.libs/libgdal.so)Steps to reproduce the problem.
$ configure ... --with-libjson-c=/data/keeling/a/adamjs5/spack/opt/spack/linux-centos7-x86_64/gcc-9.3.0/json-c-0.15-jypilhqx24qxiynsqbfypwqjf7gsheibSee the following files for the full build log and environment variables used:
Operating system
This error has occurred on the following operating systems:
- CentOS 7.9.2009 64-bit
- RHEL 7 64-bit
GDAL version and provenance
I'm attempting to install GDAL using the Spack package manager. The above failure happens for both GDAL 3.3.0 and 3.2.3.
Originally reported by @tldahlgren in spack/spack#23943
P.S. If anyone wants to help me maintain Spack's GDAL recipe, please let me know!
Reactions are currently unavailable