[Qgis-developer] New FAKE_LIB_GRASS_GIS fails to compile on Mac OS X

Radim Blazek radim.blazek at gmail.com
Mon Dec 10 11:59:31 PST 2012


On Mon, Dec 10, 2012 at 8:43 PM, Larry Shaffer <larrys at dakotacarto.com> wrote:
> On Mon, Dec 10, 2012 at 12:14 PM, John C. Tull <jctull at gmail.com> wrote:
>> On Dec 8, 2012, at 11:03 AM, Radim Blazek <radim.blazek at gmail.com> wrote:
>>
>> The  output should be standard shared library. I have probably copy-pasted
>> wrong (provider) block. I have no idea what is the difference on  OS X.
>>
>> Sorry for the problems, i dont have access to source code at this moment,
>> could you try to change
>> CMakeLists.txt to  build simple shared library.
>>
>> Radim
>>
>> On Dec 8, 2012 6:25 PM, "Larry Shaffer" <larrys at dakotacarto.com> wrote:
>>>
>>> Hi,
>>>
>>> With recent commit:
>>>
>>> https://github.com/qgis/Quantum-GIS/commit/4dc84995ee4dec8fe4b927a650b900e7edddaad4
>>>
>>> Build of FAKE_LIB_GRASS_GIS fails on Mac OS X with:
>>> Linking CXX shared module ../../../PlugIns/qgis/libgrass_gis.6.4.2.so
>>> clang: error: invalid argument '-compatibility_version 1.9.0' only
>>> allowed with '-dynamiclib'
>>> make[2]: *** [PlugIns/qgis/libgrass_gis.6.4.2.1.9.0.so] Error 1
>>> make[1]: *** [src/providers/grass/CMakeFiles/grass_gis.6.4.2.dir/all]
>>> Error 2
>>>
>>> In src/providers/grass/CMakeLists.txt it seems a MODULE, and not
>>> SHARED library is generated (which I think is needed if a framework is
>>> being built), but I do not know enough about this aspect of CMake, or
>>> the build process, to fix it.
>>>
>>> Any help would be appreciated.
>>>
>>> Regards,
>>>
>>> Larry
>>
>> Did anyone come up with a workaround for this? I am still getting the error
>> on my build attempts for trunk:
>
> Hi John,
>
> I have a new pull request in for fixing this on Mac, but am not
> entirely sure I did it correctly (or what the new FAKE_LIB_GRASS_GIS
> does or how to test it):
> https://github.com/qgis/Quantum-GIS/pull/349
>
> https://github.com/qgis/Quantum-GIS/pull/349.patch

Thanks Larry,
I have pushed that to the master. The library should make it possible
to run GRASS modules without mapset and data data import. You can try
to run a GRASS module in this mode  from GRASS Tools ( which is now
always enabled), if no mapset is open. Most probably it will need more
fixes on Mac and Win. It is work in progress, currently there are only
few modules and you can find problems.

I'll write more about in another thread soon.

Radim

> Regards,
>
> Larry
>
>>>> Scanning dependencies of target grass_gis.6.4.2
>> [ 44%] Building CXX object
>> src/providers/grass/CMakeFiles/grass_gis.6.4.2.dir/qgsgrassgislib.cpp.o
>> [ 45%] Building CXX object
>> src/providers/grass/CMakeFiles/grass_gis.6.4.2.dir/qgsgrassgislibfunctions.cpp.o
>> Linking CXX shared module ../../../PlugIns/qgis/libgrass_gis.6.4.2.so
>> clang: error: invalid argument '-compatibility_version 1.9.0' only allowed
>> with '-dynamiclib'
>> make[2]: *** [PlugIns/qgis/libgrass_gis.6.4.2.1.9.0.so] Error 1
>> make[1]: *** [src/providers/grass/CMakeFiles/grass_gis.6.4.2.dir/all] Error
>> 2
>> make: *** [all] Error 2
>>
>>
>> Regards,
>> John


More information about the Qgis-developer mailing list