[Marble-devel] Issues with building Marble 1.3 on Mac OS X 10.6.8

Amit Chaudhuri amit.k.chaudhuri at gmail.com
Sun Apr 29 11:34:45 UTC 2012


 ** The problems **


 Using git to download source and Techbase for instructions on Cmake build
settings with recent versions of Qt & Qt Creator I experience the following
issues. Others have reported similar problems dating back about a year.

   1.

   Marble on Mac OS X compiles but will not link.
   2.

   When compiling MarbleWidgetDesignerPlugin on Mac OS X resulting target
   is built as .so not .dylib
   3.

   After compiling MarbleWidgetDesignerPlugin and installing in <location>
   the plugin does not appear in the list of widgets Qt Creator displays, but
   it does appear in Qt Designer.


** My system & installation **


Mac Book Pro

OS X 10.6.8 (s/w update current)

2.4 Ghz Intel Core i5

Qt Creator 2.4.1 revision 8cd370e163

Qt 4.7.4 (4.8.0 also installed but not yet used)

Marble 1.3.0 stable (download from git)

Using marble library 0.13.0

Compiled using standard instructions and CMAKE flags as recommended on
Techbase:


 cmake

-DCMAKE_BUILD_TYPE=release

-DQT_ONLY=on

-DWITH_DESIGNER_PLUGIN=on

-DCMAKE_INSTALL_PREFIX=/Applications/ ../marble

 Qt SDK installed under /Users/<me>/QtSDK

Marble source in /Users/<me>/marble

Build dir is /Users/<me>/marble-build


 ** Workarounds **


 [Linker problem]The linker problem arises because the standard Frameworks
installed from Nokia are built as x86_64. The standard build without
modifying cmake files is i386. Comment out line 160 in cmakelists.txt at
top of the source tree and linking proceeds.

 Reports from Akos ( on Marble-devel early in April 2011) suggest that
specifying architecture using Cmake flags is overridden to i386. I tried
this myself and (unless I did something wrong – possible) I had the same
result.


 [Plugin in problem] After build (but before installation) the plugin build
targets are present as .so Unix Executables rather than dylibs. For
example, I get libLatLonEditPlugin.so in directory
/Users/<me>/marble-build/src/plugins/designer/latloneditwidget/liblatloneditwidget.so

If you examine link.txt in the MarbleWidgetPlugin.dir (under CmakeFiles
under /Users/<me>/marble-build/src/plugins/designer/marblewidget) and
replace -bundle with -dylib and .so with .dylib in the output clause and
invoke gcc from the command line the dylib is build. It can then be
manually installed into the relevant place for Designer to recognise it.


 [Creator problem] Having moved the marble widget dylib into the designer
plugin install directory under the Qt install directory, the widget is not
visible in Creator's default form editor windows. But if designer is used
outside of Creator, it is present and can be used.


 The installation path used for the plugin is:
/Users/<me>/QtSDK/Desktop/Qt/474/gcc/plugins/designer/libMarbleWidgetPlugin.dylib

 I suspect this last is a problem with Creator rather than Marble - but for
info.

<end>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20120429/a36cffce/attachment.html>


More information about the Marble-devel mailing list