-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
configure script throws SEGFAULT under conditions involving multiple versions of PROJ libraries #2236
Comments
I do not use either ubuntu or containers for detailed work like this, I build GEOS, PROJ and GDAL (and libkea) from source (updated current Fedora release), and make sure that there is only one of each on the system. Your case is likely to be GDAL finding another version of PROJ than it was built with. I seem to recall seeing traffic on https://lists.osgeo.org/pipermail/gdal-dev/ or https://lists.osgeo.org/pipermail/proj/ which was not dissimilar. The other question was whether geotiff must be external for GDAL, answer is no, as the gdal sources bundle geotiff sources (and those of a fair number of other smaller libraries). I do however use Fedora binaries for most other upstream dependencies of GDAL, where version drag isn't so important, or where security matters more (curl, etc.). |
Thanks for the help, this all makes sense to me. Don't mean to belabor the point, but just want to clarify this is does appear to be a (very minor) bug in I believe the configure script in If we avoid installing any of the libraries that bring in libproj-dev, we can indeed install gdal from source and sf installs fine. We simply get a GDAL that lacks support for these optional drivers and whatever other features are associated with those dependencies (in my experimentation, these also include |
Leaving aside whether this should be considered a bug or not, it is a well-known issue mentioned in the README. It would be great if the IIRC the experiments I did when this came to light it had more to do with what R does with |
thanks @edzer , I'll poke around with LD_LIBRARY_PATH. I thought there may be a way I can do a staged build where I can successfully remove Ubuntu's libproj-dev etc after building GDAL from source (binding the newest proj but with optional dependencies that bring in repo proj). Unsurprisingly though |
I think this has been sufficiently diagnosed and discussed at #844 ; please reopen if you disagree or have new insights. |
Describe the bug
./configure
step in package installation throws the error:You can see the full log associated with this error in this GitHub Actions build: https://github.com/boettiger-lab/nasa-topst-env-justice/actions/runs/6315364948/job/17147738622#step:4:9711, which should include all the details about the system necessary to reproduce.
To Reproduce
I believe this occurs whenever we have PROJ installed from source (e.g. in /usr/local) and also installed from the ubuntu repos by apt-get (e.g. in /usr/) . More precisely, this script provides a build recipe that will reproduce this problem, i.e. building this Dockerfile will reproduce the error
Perhaps a failure on my part to run the appropriate linkers or path config? My installation recipe is based on the Docker Ubutnu 22.04 recipe from osgeo/gdal, which includes several packages from the ubuntu repos that implicitly depend on
libproj-dev
, such aslibgeotiff-dev
. Including any of these in the GDAL build results in the segfault crash. Most provide optional support for additional but less common drivers so for now I'm building without them. It's not entirely clear to me why gdal recommends libs likelibgeotiff-dev
for anyway since it can obviously read geotif without this. More generally I'd like to provide as 'complete' a build of GDAL as possible to users, but with an emphasis on support for the most recent and most performant drivers, legacy and proprietary drivers are of less interest anyway.The text was updated successfully, but these errors were encountered: