Bug 261485

Summary: graphics/gdal: qhull check not versions, fails to link with qhull8: ld: error: undefined symbol: OGRSpatialReference::GetCoordinateEpoch() const
Product: Ports & Packages Reporter: alt2600
Component: Individual Port(s)Assignee: Po-Chuan Hsieh <sunpoet>
Status: Closed Overcome By Events    
Severity: Affects Many People CC: rkoberman, stephen, thierry
Priority: --- Keywords: needs-patch, needs-qa
Version: LatestFlags: bugzilla: maintainer-feedback? (sunpoet)
koobs: maintainer-feedback? (stephen)
Hardware: Any   
OS: Any   
Bug Depends on: 261278    
Bug Blocks:    

Description alt2600 2022-01-26 04:30:37 UTC
qhull8 apparently being planned to go to the new qhull, the change to use qhull8 doesn't version check so doesn't force qhull8, perhaps you should be looking for 

libqhull_r.so.8

instead?

either way this breaks too many things still I use still using version 7 for me to swap things and test things for a patch.
Comment 1 rkoberman 2022-01-26 17:53:45 UTC
Deleted qhull and installed qhaull8. No improvement as gdal still fails to build.

++ -L/usr/local/lib -fstack-protector-strong  ogrinfo.o   -L/usr/ports/graphics/gdal/work/gdal-3.4.1 -lgdal -o ogrinfo
ld: error: undefined symbol: OGRSpatialReference::GetCoordinateEpoch() const
>>> referenced by ogrinfo.cpp:303
>>>               ogrinfo.o:(ReportOnLayer(OGRLayer*, char const*, char const*, OGRGeometry*, bool, bool, char**, bool, bool, bool, char const*)::$_0::operator()(OGRSpatialReference const*) const)
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [GNUmakefile:161: ogrinfo] Error 1
gmake[3]: *** Waiting for unfinished jobs....
gmake[3]: Leaving directory '/usr/ports/graphics/gdal/work/gdal-3.4.1/apps'
gmake[2]: *** [GNUmakefile:123: apps-target] Error 2
gmake[2]: Leaving directory '/usr/ports/graphics/gdal/work/gdal-3.4.1'
===> Compilation failed unexpectedly.

I believe the "fix" is to "pkg delete -f gdal" and then install graphics/gdal. Otherwise it will attempt to link to the existing version of libgdal rather than to the newly built one in work. After deleting gdal, the new version builds cleanly.

Note that this probably deals with the other tickets for gdal failing to build. 

I am still rebuilding opencv and ImageMagick, so I can't completely confirm that this fixes everything.
Comment 2 alt2600 2022-01-26 19:48:57 UTC
(In reply to rkoberman from comment #1)

to this end, gdal builds fine against qhull 7 . seems odd to force qhull8 when qhull is being planned to be upgraded to qhull 8, especially given this change hasn't hit all affected ports yet, so it is impossible to install all software that uses qhull because you cannot have multiple versions of qhull. also, confirms this port doesn't check for qhull8 only the presence of qhull, I made no changes to the port to compile against qhull 7.
Comment 3 Po-Chuan Hsieh freebsd_committer freebsd_triage 2022-01-29 01:33:38 UTC
I've reverted gdal to math/qhull. The migration to qhull 8 will be committed together.