[Qgis-developer] Mac OS Build Architecture Setting?
Dan Dittmann
qgis at dandittmann.org
Fri Feb 17 01:17:21 EST 2012
On Feb 16, 2012, at 10:15 PM, William Kyngesburye wrote:
> On Feb 16, 2012, at 7:32 PM, Charlie Sharpsteen wrote:
>
>>
[Snip Again]
>> ..snip..
>>
>> The _OGR_L_* symbols are part of libgdal. Looks like you have a 32-bit version of GDAL running around that is getting in the way of the build.
>>
> Maybe. But if so, then qgis_core would have failed also, since that links GDAL also and is compiled first.
>
> One thing to try is a simple "make". Sometimes the parallel compilation can get ahead of itself (maybe some dependency isn't properly waited for?) and you get errors.
>
> Also, to see all the gory details of the compilation (may help figure out if some other GDAL is linking), add this to the cmake configuration:
>
> -D CMAKE_VERBOSE_MAKEFILE=true
I didn't see this post as I was in the process of running a few test compiles as a sanity check prior to posting what I found as a resolution.
I ran cmake with the suggested verbose flag as well as a simple make and received similar output as before. (That has been pasted at the bottom of this message.) When finished, the output indicated GDAL was at /Library/Frameworks/GDAL.framework as it did before.
Ultimately, as long as I am able to build a current version, I am happy. It makes little difference which set libraries I build against.
=== cmake script ===
cmake -D CMAKE_INSTALL_PREFIX=~/Applications -D \
CMAKE_BUILD_TYPE= MinSizeRel \
-D WITH_INTERNAL_SPATIALITE=FALSE \
-D WITH_MAPSERVER=TRUE \
-D SIP_BINARY_PATH=/opt/local/bin/sip-2.7 \
-D CMAKE_OSX_ARCHITECTURES=x86_64 \
-D QWT_LIBRARY=/opt/local/lib/libqwt.dylib \
-D QWT_INCLUDE_DIR=/opt/local/include/qwt \
-D CMAKE_VERBOSE_MAKEFILE=true ..
=== Error received ===
[ … Lots of output … ]
Linking CXX shared module ../../../PlugIns/qgis/libogrprovider.so
cd /Users/dandittmann/Desktop/qgis-Quantum-GIS/build/src/providers/ogr && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/ogrprovider.dir/link.txt --verbose=1
/usr/bin/c++ -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -bundle -Wl,-headerpad_max_install_names -o ../../../PlugIns/qgis/libogrprovider.so CMakeFiles/ogrprovider.dir/qgsogrprovider.cpp.o CMakeFiles/ogrprovider.dir/qgsogrdataitems.cpp.o CMakeFiles/ogrprovider.dir/moc_qgsogrprovider.cxx.o CMakeFiles/ogrprovider.dir/moc_qgsogrdataitems.cxx.o -L/Users/dandittmann/Desktop/qgis-Quantum-GIS/build/src/core -L/Users/dandittmann/Desktop/qgis-Quantum-GIS/build/src/gui ../../../output/lib/qgis_core.framework/Versions/1.9/qgis_core -framework CoreFoundation -framework IOKit /opt/local/lib/libQtXml.dylib /opt/local/lib/libQtCore.dylib /opt/local/lib/libQtGui.dylib /opt/local/lib/libQtNetwork.dylib /opt/local/lib/libQtSvg.dylib -framework PROJ -framework GEOS -framework GDAL -framework SQLite3
Undefined symbols for architecture x86_64:
"_OGR_L_SetIgnoredFields", referenced from:
QgsOgrProvider::setRelevantFields(bool, QList<int> const&)in qgsogrprovider.cpp.o
"_OGR_L_DeleteField", referenced from:
QgsOgrProvider::deleteAttributes(QSet<int> const&)in qgsogrprovider.cpp.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [PlugIns/qgis/libogrprovider.so] Error 1
make[1]: *** [src/providers/ogr/CMakeFiles/ogrprovider.dir/all] Error 2
make: *** [all] Error 2
> -----
> William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
> http://www.kyngchaos.com/
>
> "I ache, therefore I am. Or in my case - I am, therefore I ache."
>
> - Marvin
More information about the Qgis-developer
mailing list