update

Dirk Hohndel dirk at hohndel.org
Sat Oct 5 00:38:47 UTC 2013


I hope that Thiago and the folks affected will figure out the build issues. 
This is one of the areas I find frustrating with the Qt move. It's even worse on the Mac. 
Unless one uses MacPorts (which I am trying to avoid as its dependencies are brutal
and a Subsurface/Qt build against the MacPorts versions currently weighs in at 1.1GB),
there are tons of compile problems  even with libmarble and other tools that use cmake. 

I ended up creating tons of weird links for include directories and libraries (and had
to copy the libmarble include files around)… there is NO WAY this is how things are
supposed to work.

I needed things like

/opt/local/include/QtCore -> /Library/Frameworks/QtCore.framework/Headers
/opt/local/include/QtNetwork -> /Library/Frameworks/QtNetwork.framework/Headers

etc.

Thiago, what am I doing wrong?


One reason I started from scratch on a freshly installed Mac is to try and get rid of ALL
of the glib dependencies. Which means the glib helper functions and gettext() will have
to go as well. I know this is a change of direction from what I said earlier that we'd do,
but the more I look at it, using gettext() in a Qt application is causing more pain than 
it is worth. But on the flip side, removing it means undoing the changes that we did
to enable it to begin with. And means to figure out how to translate the strings in the C
code.

Help from the Qt experts would be very welcome.

In the end the goal is to reduce the dependencies for Subsurface and make it
easier to create an installable bundle for it.

At this point this is mostly a four hour hack-and-whack session where I tried to
replace the things that are easy to replace, commented out the things that might
be hard and left many FIXMEs all over the place.

I have a working Subsurface build on this Mac which only loads the following 
non-standard libraries

dyld: loaded: /Developer/Applications/Qt/plugins/bearer/libqcorewlanbearer.dylib
dyld: loaded: /Developer/Applications/Qt/plugins/bearer/libqgenericbearer.dylib
dyld: loaded: /Developer/Applications/Qt/plugins/imageformats/libqgif.dylib
dyld: loaded: /Developer/Applications/Qt/plugins/imageformats/libqico.dylib
dyld: loaded: /Developer/Applications/Qt/plugins/imageformats/libqjpeg.dylib
dyld: loaded: /Developer/Applications/Qt/plugins/imageformats/libqmng.dylib
dyld: loaded: /Developer/Applications/Qt/plugins/imageformats/libqsvg.dylib
dyld: loaded: /Developer/Applications/Qt/plugins/imageformats/libqtga.dylib
dyld: loaded: /Developer/Applications/Qt/plugins/imageformats/libqtiff.dylib
dyld: loaded: /Library/Frameworks/QtCore.framework/Versions/4/QtCore
dyld: loaded: /Library/Frameworks/QtDBus.framework/Versions/4/QtDBus
dyld: loaded: /Library/Frameworks/QtDeclarative.framework/Versions/4/QtDeclarative
dyld: loaded: /Library/Frameworks/QtGui.framework/Versions/4/QtGui
dyld: loaded: /Library/Frameworks/QtNetwork.framework/Versions/4/QtNetwork
dyld: loaded: /Library/Frameworks/QtScript.framework/Versions/4/QtScript
dyld: loaded: /Library/Frameworks/QtSql.framework/Versions/4/QtSql
dyld: loaded: /Library/Frameworks/QtSvg.framework/Versions/4/QtSvg
dyld: loaded: /Library/Frameworks/QtWebKit.framework/Versions/4/QtWebKit
dyld: loaded: /Library/Frameworks/QtXml.framework/Versions/4/QtXml
dyld: loaded: /Library/Frameworks/QtXmlPatterns.framework/Versions/4/QtXmlPatterns
dyld: loaded: /opt/local/lib/libiconv.2.dylib
dyld: loaded: /opt/local/lib/liblzma.5.dylib
dyld: loaded: /opt/local/lib/libmarblewidget.17.dylib
dyld: loaded: /opt/local/lib/libsqlite3.0.dylib
dyld: loaded: /opt/local/lib/libusb-1.0.0.dylib
dyld: loaded: /opt/local/lib/libxml2.2.dylib
dyld: loaded: /opt/local/lib/libxslt.1.dylib
dyld: loaded: /opt/local/lib/libz.1.dylib
dyld: loaded: /opt/local/lib/libzip.2.dylib
dyld: loaded: /usr/local/lib/libdivecomputer.0.dylib

I find that rather encouraging :-)

I completely broke localization, I disabled checking if GPS coordinates have
changed, and I'm sure there are other areas that don't quite work anymore,
but it seems to be a first step in the right direction.

/D


More information about the subsurface mailing list