[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