Illegal CPU instructions when testing GDAL.jl?

Does GDAL come with prebuilt x86_64 libraries?

If yes, it seems that the libraries were built with march that is not x86-64.

On my old Pentium 4 CPU, Julia gives an error. I think the error was caused by a CPU instruction that is not supported by an old Pentium 4 CPU.

Here is the full log:

(@v1.4) pkg> test GDAL
    Testing GDAL
Status `/tmp/jl_0RUuwZ/Manifest.toml`
  [fa961155] CEnum v0.4.1
  [add2ef01] GDAL v1.1.2
  [a7073274] GDAL_jll v3.0.4+0
  [d604d12d] GEOS_jll v3.8.1+0
  [deac9b47] LibCURL_jll v7.70.0+0
  [29816b5a] LibSSH2_jll v1.9.0+1
  [c8ffd9c3] MbedTLS_jll v2.16.0+2
  [58948b4f] PROJ_jll v6.3.2+1
  [76ed43ae] SQLite_jll v3.31.1+0
  [83775a58] Zlib_jll v1.2.11+10
  [8e850ede] nghttp2_jll v1.40.0+0
  [2a0f44e3] Base64 
  [ade2ca70] Dates 
  [8ba89e20] Distributed 
  [b77e0a4c] InteractiveUtils 
  [76f85450] LibGit2 
  [8f399da3] Libdl 
  [56ddb016] Logging 
  [d6f4376e] Markdown 
  [44cfe95a] Pkg 
  [de0858da] Printf 
  [3fa0cd96] REPL 
  [9a3f8284] Random 
  [ea8e919c] SHA 
  [9e88b42a] Serialization 
  [6462fe0b] Sockets 
  [8dfed614] Test 
  [cf7118a7] UUIDs 
  [4ec0a83e] Unicode 
┌ Info: GDAL 3.0.4, released 2020/01/28
│ 194 GDAL drivers found
└ 69 OGR drivers found

signal (6): Aborted
in expression starting at /home/c/.julia/packages/GDAL/tKD0i/test/tutorial_raster.jl:24
gsignal at /lib64/libc.so.6 (unknown line)
abort at /lib64/libc.so.6 (unknown line)
unknown function (ip: 0x7f0206c023c8)
_ZNK5osgeo4proj9operation10Conversion19_exportToPROJStringEPNS0_2io19PROJStringFormatterE at /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/lib/libproj.so (unknown line)
_ZNK5osgeo4proj2io21IPROJStringExportable18exportToPROJStringB5cxx11EPNS1_19PROJStringFormatterE at /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/lib/libproj.so (unknown line)
_ZL13pj_obj_createP9projCtx_tRKN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj6common16IdentifiedObjectEEEE at /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/lib/libproj.so (unknown line)
proj_create_conversion at /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/lib/libproj.so (unknown line)
SetProjCS at /workspace/srcdir/gdal-3.0.4/ogr/ogrspatialreference.cpp:4624
GTIFGetOGISDefnAsOSR at /workspace/srcdir/gdal-3.0.4/frmts/gtiff/gt_wkt_srs.cpp:525
LookForProjection at /workspace/srcdir/gdal-3.0.4/frmts/gtiff/geotiff.cpp:12649
GetSpatialRef at /workspace/srcdir/gdal-3.0.4/frmts/gtiff/geotiff.cpp:18054
GetProjectionRef at /workspace/srcdir/gdal-3.0.4/gcore/gdaldataset.cpp:851
gdalgetprojectionref at /home/c/.julia/packages/GDAL/tKD0i/src/gdal_h.jl:1070
unknown function (ip: 0x7f01f69b6392)
unknown function (ip: 0x7f020a2ffdbd)
unknown function (ip: 0x7f020a2ffa83)
unknown function (ip: 0x7f020a2ffee5)
unknown function (ip: 0x7f020a300ec1)
unknown function (ip: 0x7f020a3014a9)
unknown function (ip: 0x7f020a301a07)
unknown function (ip: 0x7f020a318f40)
unknown function (ip: 0x7f020a2f673d)
jl_load at /usr/bin/../lib64/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f01fd5d3b28)
#3 at /home/c/.julia/packages/GDAL/tKD0i/test/runtests.jl:45
cd at ./file.jl:104
unknown function (ip: 0x7f020a2ffdbd)
unknown function (ip: 0x7f020a2ffa83)
unknown function (ip: 0x7f020a2ffee5)
unknown function (ip: 0x7f020a300ec1)
unknown function (ip: 0x7f020a3014a9)
unknown function (ip: 0x7f020a3014a9)
unknown function (ip: 0x7f020a301a07)
unknown function (ip: 0x7f020a318f40)
unknown function (ip: 0x7f020a2f673d)
jl_load at /usr/bin/../lib64/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f01fd5d3b28)
unknown function (ip: 0x7f020a2ffdbd)
unknown function (ip: 0x7f020a2ffa83)
unknown function (ip: 0x7f020a2ffee5)
unknown function (ip: 0x7f020a300ec1)
unknown function (ip: 0x7f020a301a07)
unknown function (ip: 0x7f020a318f40)
unknown function (ip: 0x7f020a319214)
jl_toplevel_eval_in at /usr/bin/../lib64/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f01fd38bb34)
unknown function (ip: 0x7f01fd38a015)
unknown function (ip: 0x7f01fd38b57f)
unknown function (ip: 0x7f01fd38b6c5)
unknown function (ip: 0x555f857f771a)
unknown function (ip: 0x555f857f732e)
__libc_start_main at /lib64/libc.so.6 (unknown line)
unknown function (ip: 0x555f857f73d9)
Allocations: 3358712 (Pool: 3358035; Big: 677); GC: 2
ERROR: Package GDAL errored during testing

I opened an issue on github: https://github.com/JuliaGeo/GDAL.jl/issues/92

At the same time, I would like to ask for inputs here, in the hope of solving the issue faster.

Yes, GDAL.jl comes with prebuilt libraries. It’s unfortunate that you get an error due to an unsupported CPU instruction. The build is done with BinaryBuilder, with a build file stored in Yggdrasil. This line shows it is built for all platforms that BinaryBuilder supports. So in the GDAL build in particular I don’t think there is much I can do, it seems this architecture would need to be supported in BinaryBuilder.

Perhaps you could for now manually hook it up to another GDAL build that does work for you?

Thank you!

I have a GDAL that is compiled on my computer and installed on /usr. Do you mean to copy the library files from /usr into ~/.julia?

I opened a ticket on BinaryBuilder: https://github.com/JuliaPackaging/BinaryProvider.jl/issues/198
I hope that it could be fixed there.

One question that I do not fully understand.

Take gdal as an example. On my computer, there is a gdal library that is installed as part of the system on /usr. It seems that GDAL.jl uses its own gdal library. Is that right?

Is it possible to ask GDAL.jl to use the system gdal library?

https://julialang.github.io/Pkg.jl/v1/artifacts/#Overriding-artifact-locations-1

1 Like

Thank you.

Interesting thing is that under /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/, the binaries are put in the bin folder and the libraries in the lib folder.

On my system, which is x86-64, the binaries are in /usr/bin, but the libraries are in /usr/lib64.

I set ~/.julia/artifacts/Overrides.toml to be

[add2ef01-049f-52c4-9ee2-e494f65e021a]
libc = "/usr/lib64/libc.so"
libcurl = "/usr/lib64/libcurl.so"
libproj = "/usr/lib64/libproj.so"
libssh2 = "/usr/lib64/libssh2.so"

I got the same error when ] test GDAL. What can I try next to fix the problem?

Are you missing libgdal here? I haven’t used Overrides.toml before, but it’d be nice if there is a good example for how to switch from a jll package to a manual version.

New content of ~/.julia/artifacts/Overrides.toml:

# Override package bindings by specifying the package UUID and bound artifact name.
# The UUIDs are found from https://github.com/JuliaRegistries/General/blob/master/Registry.toml.
#
# GDAL
[add2ef01-049f-52c4-9ee2-e494f65e021a]
libc = "/usr/lib64/libc.so"
libcurl = "/usr/lib64/libcurl.so"
libgdal = "/usr/lib64/libgdal.so"
libproj = "/usr/lib64/libproj.so"
libssh2 = "/usr/lib64/libssh2.so"

I used the codes from https://github.com/JuliaGeo/GDAL.jl/blob/master/test/tutorial_raster.jl. All codes started with @test were removed.

Here are the codes:

using Pkg
Pkg.build("GDAL")
using GDAL

utmsmall = joinpath(@__DIR__, "/home/c/g/temp/utmsmall.tif")
utmsmall_copy = joinpath(@__DIR__, "/tmp/utmsmall.tif")

# needed to actually load tifs
GDAL.gdalallregister()

# Opening the File
dataset = GDAL.gdalopen(utmsmall, GDAL.GA_ReadOnly) # file from GDAL SVN

# Getting Dataset Information
driver = GDAL.gdalgetdriverbyname("GTiff")
nad27_prefix = "PROJCS[\"NAD27 / UTM zone 11N\",GEOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\","

geotransform = fill(0.0, 6)
GDAL.gdalgetgeotransform(dataset, geotransform)

# Fetching a Raster Band
band = GDAL.gdalgetrasterband(dataset, 1)

blockxsize, blockysize = Ref(Cint(-1)), Ref(Cint(-1))
GDAL.gdalgetblocksize(band, blockxsize, blockysize)

gotmin, gotmax = Ref(Cint(-1)), Ref(Cint(-1))

# Reading Raster Data
xsize = GDAL.gdalgetrasterbandxsize(band)

scanline = fill(0.0f0, xsize)
GDAL.gdalrasterio(band, GDAL.GF_Read, 0, 0, xsize, 1,
                  scanline, xsize, 1, GDAL.GDT_Float32, 0, 0)

# Closing the Dataset
GDAL.gdalclose(dataset)

# Using CreateCopy()
ds_src = GDAL.gdalopen(utmsmall, GDAL.GA_ReadOnly)

progressfunc = convert(Ptr{GDAL.GDALProgressFunc}, C_NULL)

ds_dst = GDAL.gdalcreatecopy(driver, utmsmall_copy, ds_src, 0,
                         C_NULL, progressfunc, C_NULL)
#GDAL.gdalclose(ds_dst)
#GDAL.gdalclose(ds_src)

#rm(utmsmall_copy)

I was adding these codes one line by one line. The error occored in the last uncommented lines:

ds_dst = GDAL.gdalcreatecopy(driver, utmsmall_copy, ds_src, 0,
                         C_NULL, progressfunc, C_NULL)

The error message is:

julia> include("gdal.jl")

signal (6): Aborted
in expression starting at /home/c/g/temp/gdal.jl:44
gsignal at /lib64/libc.so.6 (unknown line)
abort at /lib64/libc.so.6 (unknown line)
unknown function (ip: 0x7f6d8d9ce3c8)
_ZNK5osgeo4proj9operation10Conversion19_exportToPROJStringEPNS0_2io19PROJStringFormatterE at /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/lib/libproj.so (unknown line)
_ZNK5osgeo4proj2io21IPROJStringExportable18exportToPROJStringB5cxx11EPNS1_19PROJStringFormatterE at /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/lib/libproj.so (unknown line)
_ZL13pj_obj_createP9projCtx_tRKN7dropbox6oxygen2nnISt10shared_ptrIN5osgeo4proj6common16IdentifiedObjectEEEE at /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/lib/libproj.so (unknown line)
proj_create_conversion at /home/c/.julia/artifacts/0896d7ece43eb82db63576fd6588d143c00e586e/lib/libproj.so (unknown line)
SetProjCS at /workspace/srcdir/gdal-3.0.4/ogr/ogrspatialreference.cpp:4624
GTIFGetOGISDefnAsOSR at /workspace/srcdir/gdal-3.0.4/frmts/gtiff/gt_wkt_srs.cpp:525
LookForProjection at /workspace/srcdir/gdal-3.0.4/frmts/gtiff/geotiff.cpp:12649
GetSpatialRef at /workspace/srcdir/gdal-3.0.4/frmts/gtiff/geotiff.cpp:18054
WriteMetadata at /workspace/srcdir/gdal-3.0.4/frmts/gtiff/geotiff.cpp:11610
CreateCopy at /workspace/srcdir/gdal-3.0.4/frmts/gtiff/geotiff.cpp:17107
CreateCopy at /workspace/srcdir/gdal-3.0.4/gcore/gdaldriver.cpp:938
gdalcreatecopy at /home/c/.julia/packages/GDAL/tKD0i/src/gdal_h.jl:366
unknown function (ip: 0x7f6d7d76eed3)
unknown function (ip: 0x7f6d910cbdbd)
unknown function (ip: 0x7f6d910cba83)
unknown function (ip: 0x7f6d910cbee5)
unknown function (ip: 0x7f6d910ccec1)
unknown function (ip: 0x7f6d910cda07)
unknown function (ip: 0x7f6d910e4f40)
unknown function (ip: 0x7f6d910c273d)
jl_load at /usr/bin/../lib64/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f6d8439fb28)
unknown function (ip: 0x7f6d910cbdbd)
unknown function (ip: 0x7f6d910cba83)
unknown function (ip: 0x7f6d910cbee5)
unknown function (ip: 0x7f6d910ccec1)
unknown function (ip: 0x7f6d910cda07)
unknown function (ip: 0x7f6d910e4f40)
unknown function (ip: 0x7f6d910e5214)
jl_toplevel_eval_in at /usr/bin/../lib64/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f6d84157b34)
unknown function (ip: 0x7f6d8437ebd8)
unknown function (ip: 0x7f6d8437eec4)
unknown function (ip: 0x7f6d910d0ac2)
unknown function (ip: (nil))
Allocations: 11966539 (Pool: 11964937; Big: 1602); GC: 14

What does the last two uncommentedd lines do, which caused julia to break down?

Do you think much of the GDAL.jl’s functions are working, since the codes were running until the last two uncommented lines?

It looks like that is the first line that needs a working libproj. The first four functions in the stacktrace are from libproj. But it is still loaded from the artifacts, instead of the one you want to override. Perhaps that is because GDAL.jl loads PROJ_jll. If you could take that out you may get a bit further. Seems like quite an effort though, not sure if it will work out in the end. Hope so! If you do figure it out, we should add it to the documentation.

You only override the prefix, not each single library, which Artifacts.toml doesn’t know anything about. Each JLL package has a single artifact, so a single prefix. For GDAL_jll is more like

[a7073274-a066-55f0-b90d-d619367d196c]
GDAL = "/usr"

but for some reason you have the libraries in lib64, so this won’t work anyway. Any chance to create a symlink of the library to /usr/lib?

1 Like

I’m experimenting with symlinks and will report back later.

However, I have a question. How did you find out the sha256 for GDAL_jll, which is [a7073274-a066-55f0-b90d-d619367d196c]?

Why is it GDAL_jll, but not GDAL? What’s the difference?

I think symlinks work. However, I got a new error:

ERROR: LoadError: InitError: could not load library "/home/c/.julia-usr/lib/libgdal.so"
/home/c/.julia-usr/lib/libgdal.so: undefined symbol: sqlite3_column_table_name
Stacktrace:
 [1] dlopen at /var/tmp/portage/dev-lang/julia-1.4.0-r2/work/julia-1.4.0/usr/share/julia/stdlib/v1.4/Libdl/src/Libdl.jl:109 [inlined] (repeats 2 times)
 [2] __init__() at /home/c/.julia/packages/GDAL_jll/yQoer/src/wrappers/x86_64-linux-gnu-cxx11.jl:665
 [3] top-level scope at none:6
during initialization of module GDAL_jll
in expression starting at /home/c/.julia/packages/GDAL/tKD0i/test/runtests.jl:1
ERROR: Package GDAL errored during testing

I’m not entirely certain what caused the error. It could be that the gdal I have on my system, has a different version that GDAL.jl uses.

The Gentoo system that I use, has gdal 3.0.4 installed. What version of gdal (or libgdal) does GDAL.jl packages and uses?

That’s not a SHA256 hash but a UUID, and it’s in the Project.toml of the package and in the General registry.

It’s GDAL_jll which provides the artifacts that you want to override, GDAL doesn’t provide any artifact

You should find all information in the README.md of GDAL_jll

1 Like

Thank you.

Currently, Julia is using system libgdal.so, through a symlink.

The error above showed that the symbol sqlite3_column_table_name in undefined.

The system’s libgdar was compiled using:

/var/tmp/portage/sci-libs/gdal-3.0.4-r1/work/gdal-3.0.4/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --docdir=/usr/share/doc/gdal-3.0.4-r1 --htmldir=/usr/share/doc/gdal-3.0.4-r1/html --with-sysroot=/ --libdir=/usr/lib64 --includedir=/usr/include/gdal --disable-lto --disable-static --disable-driver-bsb --disable-driver-mrf --disable-pdf-plugin --enable-shared --enable-driver-grib --with-bash-completion=/usr/share/bash-completion/completions --with-cpp14 --with-cryptopp=no --with-expat --with-geotiff --with-gnm --with-hide-internal-symbols --with-libjson-c=/usr/ --with-libtiff --with-libtool --with-libz=/usr/ --without-charls --without-dods-root --without-ecw --without-epsilon --without-fgdb --without-fme --without-gta --without-grass --without-hdf4 --without-idb --without-ingres --without-jasper --without-jp2lura --without-jp2mrsid --without-kakadu --without-kea --without-libkml --without-mongocxx --without-mrsid --without-mrsid_lidar --without-msg --without-rasdaman --without-rasterlite2 --without-pcraster --without-pdfium --without-perl --without-podofo --without-python --without-qhull --without-sde --without-sfcgal --without-sosi --without-teigha --disable-debug --with-armadillo --with-pam --with-curl --without-cfitsio --with-geos --with-gif --without-xerces --without-hdf5 --with-pcidsk --with-jpeg --with-openjpeg --without-liblzma --without-mysql --without-netcdf --without-oci --without-odbc --without-ogdi --without-opencl --with-poppler --with-png --with-pg --with-spatialite --with-sqlite3=/usr --with-threads --without-webp --without-freexl --without-zstd --with-java=/opt/icedtea-bin-3.16.0 --with-jvm-lib=dlopen --without-mdb

According to [0], GDAL’s libgdal was compiled with the options of:

./configure --prefix=$prefix --host=$target \
    --with-geos=${bindir}/geos-config \
    --with-proj=$prefix \
    --with-libz=$prefix \
    --with-sqlite3=$prefix \
    --with-curl=${bindir}/curl-config \
    --with-openjpeg \
    --with-python=no \
    --enable-shared \
    --disable-static

Both use gdal 3.0.4. Both enabled with-sqlite3.

Do I need to set up an entry in Overrides.toml for sqlite3’s libraries too?

[0] https://github.com/JuliaPackaging/Yggdrasil/blob/b65d76b0004ebb7a3b0256639cc1fdca34cad5a9/G/GDAL/build_tarballs.jl

Now it seems that the problem is my Gentoo Linux system and/or Julia.

I have set to use the system versions of gdal, proj, and sqlite in Overrides.toml:

# Override package bindings by specifying the package UUID and bound artifact name.
#
# GDAL_jll
[a7073274-a066-55f0-b90d-d619367d196c]
GDAL = "/home/c/.julia-usr/"
# PROJ_jll
[58948b4f-47e0-5654-a9ad-f609743f8632]
PROJ = "/home/c/.julia-usr/"
# SQLite_jll
[76ed43ae-9a5d-5a62-8c75-30186b810ce8]
SQLite = "/home/c/.julia-usr/"

I got a similar error as compared to when I used these libraries that were shipped with GDAL.jl:

(@v1.4) pkg> test GDAL
    Testing GDAL
Status `/tmp/jl_RcQ971/Manifest.toml`
  [fa961155] CEnum v0.4.1
  [add2ef01] GDAL v1.1.2
  [a7073274] GDAL_jll v3.0.4+0
  [d604d12d] GEOS_jll v3.8.1+0
  [deac9b47] LibCURL_jll v7.70.0+0
  [29816b5a] LibSSH2_jll v1.9.0+1
  [c8ffd9c3] MbedTLS_jll v2.16.0+2
  [58948b4f] PROJ_jll v6.3.2+1
  [76ed43ae] SQLite_jll v3.31.1+0
  [83775a58] Zlib_jll v1.2.11+10
  [8e850ede] nghttp2_jll v1.40.0+0
  [2a0f44e3] Base64 
  [ade2ca70] Dates 
  [8ba89e20] Distributed 
  [b77e0a4c] InteractiveUtils 
  [76f85450] LibGit2 
  [8f399da3] Libdl 
  [56ddb016] Logging 
  [d6f4376e] Markdown 
  [44cfe95a] Pkg 
  [de0858da] Printf 
  [3fa0cd96] REPL 
  [9a3f8284] Random 
  [ea8e919c] SHA 
  [9e88b42a] Serialization 
  [6462fe0b] Sockets 
  [8dfed614] Test 
  [cf7118a7] UUIDs 
  [4ec0a83e] Unicode 
┌ Info: GDAL 3.0.4, released 2020/01/28
│ 196 GDAL drivers found
└ 73 OGR drivers found

signal (6): Aborted
in expression starting at /home/c/.julia/packages/GDAL/tKD0i/test/tutorial_raster.jl:24
gsignal at /lib64/libc.so.6 (unknown line)
abort at /lib64/libc.so.6 (unknown line)
unknown function (ip: 0x7f1eecda53c8)
unknown function (ip: 0x7f1ed943421c)
_ZNK5osgeo4proj2io21IPROJStringExportable18exportToPROJStringB5cxx11EPNS1_19PROJStringFormatterE at /home/c/.julia-usr/lib/libproj.so (unknown line)
unknown function (ip: 0x7f1ed9557f5b)
proj_create_conversion at /home/c/.julia-usr/lib/libproj.so (unknown line)
_ZN19OGRSpatialReference9SetProjCSEPKc at /home/c/.julia-usr/lib/libgdal.so (unknown line)
unknown function (ip: 0x7f1ed823b77d)
unknown function (ip: 0x7f1ed81fe681)
unknown function (ip: 0x7f1ed820478b)
_ZNK11GDALDataset16GetProjectionRefEv at /home/c/.julia-usr/lib/libgdal.so (unknown line)
gdalgetprojectionref at /home/c/.julia/packages/GDAL/tKD0i/src/gdal_h.jl:1070
unknown function (ip: 0x7f1edcb37542)
unknown function (ip: 0x7f1ef049fdbd)
unknown function (ip: 0x7f1ef049fa83)
unknown function (ip: 0x7f1ef049fee5)
unknown function (ip: 0x7f1ef04a0ec1)
unknown function (ip: 0x7f1ef04a14a9)
unknown function (ip: 0x7f1ef04a1a07)
unknown function (ip: 0x7f1ef04b8f40)
unknown function (ip: 0x7f1ef049673d)
jl_load at /usr/bin/../lib64/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f1ee3776b28)
#3 at /home/c/.julia/packages/GDAL/tKD0i/test/runtests.jl:45
cd at ./file.jl:104
unknown function (ip: 0x7f1ef049fdbd)
unknown function (ip: 0x7f1ef049fa83)
unknown function (ip: 0x7f1ef049fee5)
unknown function (ip: 0x7f1ef04a0ec1)
unknown function (ip: 0x7f1ef04a14a9)
unknown function (ip: 0x7f1ef04a14a9)
unknown function (ip: 0x7f1ef04a1a07)
unknown function (ip: 0x7f1ef04b8f40)
unknown function (ip: 0x7f1ef049673d)
jl_load at /usr/bin/../lib64/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f1ee3776b28)
unknown function (ip: 0x7f1ef049fdbd)
unknown function (ip: 0x7f1ef049fa83)
unknown function (ip: 0x7f1ef049fee5)
unknown function (ip: 0x7f1ef04a0ec1)
unknown function (ip: 0x7f1ef04a1a07)
unknown function (ip: 0x7f1ef04b8f40)
unknown function (ip: 0x7f1ef04b9214)
jl_toplevel_eval_in at /usr/bin/../lib64/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f1ee352eb34)
unknown function (ip: 0x7f1ee352d015)
unknown function (ip: 0x7f1ee352e57f)
unknown function (ip: 0x7f1ee352e6c5)
unknown function (ip: 0x560a30ba071a)
unknown function (ip: 0x560a30ba032e)
__libc_start_main at /lib64/libc.so.6 (unknown line)
unknown function (ip: 0x560a30ba03d9)
Allocations: 3341345 (Pool: 3340594; Big: 751); GC: 4
ERROR: Package GDAL errored during testing

I run Jula 1.4.0-r1 on my system. I will try to update to the latest stable version when I find time.

But it may likely be that I have hitten a dead end and do not know how to fix this problem.

The previously used Julia 1.4.0-r1 was compiled using LLVM 8.0.1, which was downloaded from internet.

Now I have compiled Julia 1.4.1 using my system’s LLVM 9.0.1. The GDAL problem persists.

Too bad it seems to be hard to get this working. I’m not sure, but looking at the error you shared:

_ZNK5osgeo4proj2io21IPROJStringExportable18exportToPROJStringB5cxx11EPNS1_19PROJStringFormatterE at /home/c/.julia-usr/lib/libproj.so (unknown line)
proj_create_conversion at /home/c/.julia-usr/lib/libproj.so (unknown line)
_ZN19OGRSpatialReference9SetProjCSEPKc at /home/c/.julia-usr/lib/libgdal.so (unknown line)

My first guess was a mismatching CXX string ABI, that could still be something to try, see also Error in building julia.

Thank you.

The system uses GCC 9.3.0, which is quite recent.

There is a different error in building Julia on Fedora: https://github.com/JuliaLang/julia/issues/27118. But I do not know if this is relevant for my Gentoo amd64 system.