issues after installed qt4-mac+debug

"René J.V. Bertin" rjvbertin at gmail.com
Sat Jul 26 04:08:04 PDT 2014


> Have you seen this http://qt-project.org/doc/qt-4.8/debug.html ?

Of course.
> Since the release and debug libraries are inside the framework, the app is simply linked against the framework. Then when you run in the debugger, you will get either the release version or the debug version, depending on whether you set DYLD_IMAGE_SUFFIX. If you don't set it, you get the release version by default (i.e., non _debug). If you set DYLD_IMAGE_SUFFIX=_debug, you get the debug version.

And apparently things don't work that way. First, "simply linked against the framework" isn't try. Do an otool -L on any app using frameworks, and you'll find that it links against the binary inside the framework. And apparently KDE or MacPorts build things in such a way that a reference to the _debug version is hard-coded. Which may be the reason that I need to set DYLD_IMAGE_SUFFIX=_debug to get everyone on the same wavelength ...
This may be related to the fact that apparently one needs to install qt4-mac+debug in order to install kde*+debug ...

> * don't use the +debug variant of qt4-mac

Sure, and forego the possibility to do any kind of debugging because without qt4-mac+debug one cannot install KDE +debug variants?

> * don't make /opt/local a symlink


Gee, hadn't seen that one for a while. If we're going there: an even more obvious mother-of-solutions to lots of problems would be not to install MacPorts at all ...

I think a more obvious solutions would be for the port command not to try and be clever about /opt/local, in particular not to try to resolve it. I fail to see reasons to resolve /opt/local to an actual directory, but if ever there are the feature ought to be optional. And even if that's not acceptable for some (principled/moral/uptight O:-) ) reason, the following is a bug however one turns it:

{{{
> port contents kde4-runtime | fgrep kwalletd
  /opt/local/bin/kwalletd
  /opt/local/lib/libkdeinit4_kwalletd.dylib
  /opt/local/share/apps/kwalletd/kwalletd.notifyrc
  /opt/local/share/kde4/services/kwalletd.desktop

> port provides `port contents kde4-runtime | fgrep kwalletd`
/Volumes/Debian/MacPorts/bin/kwalletd is not provided by a MacPorts port.
/Volumes/Debian/MacPorts/lib/libkdeinit4_kwalletd.dylib is not provided by a MacPorts port.
/Volumes/Debian/MacPorts/share/apps/kwalletd/kwalletd.notifyrc is not provided by a MacPorts port.
/Volumes/Debian/MacPorts/share/kde4/services/kwalletd.desktop is not provided by a MacPorts port.
}}}

One of these should happen on my system:

{{{
> port contents kde4-runtime | fgrep bin/kwalletd
  /opt/local/bin/kwalletd
> port provides /opt/local/bin/kwalletd
/opt/local/bin/kwalletd is provided by kde4-runtime.
> port provides /Volumes/Debian/MacPorts/bin/kwalletd
/Volumes/Debian/MacPorts/bin/kwalletd is not provided by a MacPorts port.
}}}

or

{{{
> port contents kde4-runtime | fgrep bin/kwalletd
  /Volumes/Debian/MacPorts/bin/kwalletd
> port provides /opt/local/bin/kwalletd
/opt/local/bin/kwalletd is not provided by a MacPorts port.
> port provides /Volumes/Debian/MacPorts/bin/kwalletd
/Volumes/Debian/MacPorts/bin/kwalletd is provided by kde4-runtime.
}}}



R.


More information about the macports-users mailing list