gdalのビルドに失敗したら古いgdalが悪さしてた
portsでgdal (3.0.4)をビルドしていたところ
ld: error: undefined symbol: OSRSetAxisMappingStrategy
で止まりました。
次のコマンドが見て取れたので、リンクしているところで止まっているようです。
c++ -Wl,-rpath,/usr/local/lib -L/usr/local/lib -fstack-protector-strong gdallocationinfo.o -L/usr/ports/graphics/gdal/work/gdal-3.0.4 -lgdal -lcrypto -L/usr/local/lib -lpoppler -ljson-c -lfreexl -L/usr/local/lib -lSFCGAL -L/usr/local/lib -lgeos_c -L/usr/local/lib -lkmlbase -lkmldom -lkmlengine -lkmlxsd -lkmlregionator -L/usr/local/lib -lexpat -L/usr/local/lib -lxerces-c -lpthread -L/usr/local/lib -lopenjp2 -ljasper -L/usr/local/lib -lnetcdf -lgif -ljpeg -lgeotiff -ltiff -lpng -L/usr/local/lib -lpq -lzstd -llzma -lproj -lz -L/usr -L/usr/lib -lpthread -lm -lrt -ldl -L/usr/local/lib -lspatialite -lsqlite3 -lproj -lpcre -L/usr/local/lib -lcurl -L/usr/local/lib -lxml2 -lz -L/usr/lib -llzma -L/usr/lib -lm -o gdallocationinfo
全く意味不明。
2時間費やしたところで、-lgdal
となっているのに注目。前にpackagesからgdal 2を入れてたのです。
pkgでgdalをいったん外してビルドしなおすとうまくいきました。
悩んだ割にあっけなかったです。