Opened 14 years ago
Closed 13 years ago
#2673 closed defect (wontfix)
Make '--with-hide-internal-symbols=yes' default option
Reported by: | dron | Owned by: | dron |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | ConfigBuild | Version: | svn-trunk |
Severity: | normal | Keywords: | |
Cc: | Even Rouault |
Description
There is an option to hide symbols used by GDAL internally that was added a year ago now (see bug #1810 for details). Is it a time to make it default? This options is a great help when you want to build GDAL with the internal third-party stuff (such as libtiff etc.) and still have ability to link with GDAL and that third-party external stuff at the same time.
Attachments (1)
Change History (4)
by , 14 years ago
Attachment: | hide-internals-default.diff added |
---|
comment:1 by , 14 years ago
Milestone: | 1.6.0 → 1.7.0 |
---|
No, after beta2 is definately *not* the time to make this the default. Frankly, I'm not sure I even want it to be the default ever, but we can re-evaluate this for 1.7.
comment:2 by , 14 years ago
There is another approach possible. This option could be automatically activated when an 'internal' option chosen for one of the libraries.
comment:3 by , 13 years ago
Milestone: | 1.7.0 |
---|---|
Resolution: | → wontfix |
Status: | new → closed |
I close because --with-hide-internal-symbols doesn't really help when wanting to make an application link against GDAL with internal libtiff (4.X) and against system libtiff (3.X). It seems that the linking order '-ltiff -lgdal' or '-lgdal -ltiff' makes a difference. OTB ran into this.
See http://www.mail-archive.com/gdal-dev@lists.osgeo.org/msg04966.html
Yes, I can confirm that the order matters: gcc -c gdalHideSymbols.cxx -I/usr/include/gdal gcc gdalHideSymbols.o -lgeotiff -lgdal1.6.0 -o gdalHideSymbols-gtiffgdal gcc gdalHideSymbols.o -lgdal1.6.0 -lgeotiff -o gdalHideSymbols-gdalgtiff ./gdalHideSymbols-gtiffgdal IMAGERY_ortho.tif Segmentation fault ./gdalHideSymbols-gdalgtiff IMAGERY_ortho.tif Ok
Patch to make --with-hide-internal-symbols enabled by default