[Qgis-user] Make error while building QGIS against Homebrew dependencies on Mac OS 10.6

Christian Spanring cspanring at gmail.com
Mon Jan 24 06:50:09 PST 2011


Thanks again! setting WITH_INTERNAL_SPATIALITE=TRUE removed the error
(homebrew is using spatialite 2.4.0-rc4 btw).

I'm basically able to make install without errors now. But something
funny seems to be happening with the Python version QGIS is trying to
access: my default Python is 2.7.1, installed with homebrew and used
to build. When I start QGIS I get the error below, which indicates
that QGIS is using Mac OS 10.6 original Python 2.6.1.

Is there documentation available for cmake variables?

I found http://www.qgis.org/wiki/Building_QGIS_with_CMake which I
think doesn't cover the entire spectrum. What I'm trying to do is to
specify where my homebrew dependency libs and includes are (by default
in /user/local/lib + include) to avoid having QGIS linked to something
in /usr/local/Cellar/package/version/lib + include.

---
Couldn't load SIP module. (note: SIP is installed in /usr/local/bin)
Python support will be disabled.


Traceback (most recent call last):
  File "", line 1, in
ImportError: No module named sip


Python version:
2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)]

QGIS version:
1.7.0-Trunk 'Trunk', 15066

Python path:
['/Users/me/Applications/QGIS.app/Contents/MacOS/../Resources/python',
'/Users/me/.qgis/python', '/Users/me/.qgis/python/plugins',
'/Users/me/Applications/QGIS.app/Contents/MacOS/../Resources/python/plugins',
'/Library/Frameworks/SQLite3.framework/Versions/3/Python',
'/Library/Python/2.6/site-packages/numpy-override',
'/Library/Frameworks/GDAL.framework/Versions/1.7/Python/site-packages',
'/Library/Python/2.6/site-packages/flickrapi-1.4.2-py2.6.egg',
'/Library/Python/2.6/site-packages/hg_git-0.2.4-py2.6.egg',
'/Library/Python/2.6/site-packages/docutils-0.7-py2.6.egg',
'/Library/Python/2.6/site-packages/Sphinx-1.0.5-py2.6.egg',
'/Library/Python/2.6/site-packages/Jinja2-2.5.5-py2.6.egg',
'/Library/Python/2.6/site-packages/Pygments-1.3.1-py2.6.egg',
'/Library/Frameworks/cairo.framework/Versions/1/Python',
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip',
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6',
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages',
'/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python',
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old',
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload',
'/Library/Python/2.6/site-packages',
'/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC',
'/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode']
---

Thanks!
Christian

On Sun, Jan 23, 2011 at 11:30 PM, William Kyngesburye
<woklist at kyngchaos.com> wrote:
> Looks like spatialite.  I noticed that you are using an external spatialite, make sure this is at least 2.4 (the version included in QGIS), I think 2.4rc4.  I don't know how homebrew handles development versions.  Or use the internal spatialite (and sqlite).
>
> On Jan 23, 2011, at 10:11 PM, Christian Spanring wrote:
>
>> Thanks! I added libgeos_c and it worked.
>>
>> However, another error keeps me from finishing a clean build:
>>
>> Undefined symbols:
>>  "_spatial_ref_sys_init", referenced from:
>>      QgsOfflineEditing::initializeSpatialMetadata(sqlite3*)       in
>> offline_editing.cpp.o
>>  "_spatialite_init", referenced from:
>>      QgsOfflineEditing::createSpatialiteDB(QString const&)  in
>> offline_editing.cpp.o
>>      QgsOfflineEditing::convertToOfflineProject(QString const&,
>> QString const&, QStringList const&)in offline_editing.cpp.o
>> ld: symbol(s) not found
>> collect2: ld returned 1 exit status
>> make[2]: *** [src/plugins/offline_editing/libofflineeditingplugin.so] Error 1
>> make[1]: *** [src/plugins/offline_editing/CMakeFiles/offlineeditingplugin.dir/all]
>> Error 2
>> make[1]: *** Waiting for unfinished jobs....
>> [ 73%] Built target georefplugin
>> [ 99%] Built target QGIS
>> make: *** [all] Error 2
>>
>> Any idea what could causing that?
>>
>> "make -i install" seems to build a working QGIS otherwise.
>>
>> When opening a Shapefile I get the following error in my built QGIS:
>>
>> Could not open CRS database
>> /Users/me/Applications/QGIS.app/Contents/MacOS/../Resources/resources/srs.db<br>Error(14):
>> unable to open database file
>>
>> It might be related to the build error above, at least I see a
>> "_spatial_ref_sys_init" in the output.
>>
>> Thanks!
>>
>> Christian
>>
>> On Sun, Jan 23, 2011 at 8:19 PM, William Kyngesburye
>> <woklist at kyngchaos.com> wrote:
>>> Those undefined symbols are all from GEOS... ah, Qgis uses the GEOS C API, which is libgeos_c.
>>>
>>> On Jan 23, 2011, at 6:08 PM, Christian Spanring wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm trying to compile QGIS (svn trunk rev 15066) against dependencies
>>>> installed and managedy by homebrew on Mac OS 10.6, and run basically
>>>> into following make error:
>>>>
>>>> Linking CXX shared library libqgis_core.dylib
>>>> [https://gist.github.com/792508#LID581]
>>>> Undefined symbols:
>>>> ...
>>>> ld: symbol(s) not found [https://gist.github.com/792508#LID1001]
>>>> collect2: ld returned 1 exit status
>>>> make[2]: *** [src/core/libqgis_core.1.7.0.dylib] Error 1
>>>> make[1]: *** [src/core/CMakeFiles/qgis_core.dir/all] Error 2
>>>> make: *** [all] Error 2
>>>>
>>>> For some dependencies I needed to add cmake path variables.
>>>>
>>>>> -D QWT_LIBRARY=/usr/local/lib/libqwt.dylib \
>>>>> -D QWT_INCLUDE_DIR=/usr/local/include \
>>>>> -D GEOS_INCLUDE_DIR=/usr/local/include \
>>>>> -D GEOS_LIBRARY=/usr/local/lib/libgeos.dylib \
>>>>> -D GDAL_INCLUDE_DIR=/usr/local/include \
>>>>> -D GDAL_LIBRARY=/usr/local/lib/libgdal.dylib \
>>>>
>>>> ...others were found in homebrew's Cellar, which shouldn't matter I believe.
>>>>
>>>> -- Found PostgreSQL: /usr/local/Cellar/postgresql/9.0.2/lib/libpq.dylib
>>>>
>>>> The only dependency that I didn't add is PyQwt. According to the build
>>>> docs it's only required by ".. GPS tracking feature uses Qwt. Some
>>>> popular 3rd-party plugins use PyQwt.", correct?
>>>>
>>>> The entire make shell output is here: https://gist.github.com/792508
>>>>
>>>> Any hint what's going wrong is highly appreciated!
>>>>
>>>> Thanks,
>>>> Christian
>>>> _______________________________________________
>>>> Qgis-user mailing list
>>>> Qgis-user at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/qgis-user
>>>
>>> -----
>>> William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
>>> http://www.kyngchaos.com/
>>>
>>> "Oh, look, I seem to have fallen down a deep, dark hole.  Now what does that remind me of?  Ah, yes - life."
>>>
>>> - Marvin
>>>
>>>
>>>
>> _______________________________________________
>> Qgis-user mailing list
>> Qgis-user at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-user
>
> -----
> 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-user mailing list