[MacPorts] #27558: qt4-mac @4.7.1 adding 'framework' variants
MacPorts
noreply at macports.org
Tue Dec 7 08:12:59 PST 2010
#27558: qt4-mac @4.7.1 adding 'framework' variants
------------------------------------+---------------------------------------
Reporter: youngtaek.oh@… | Owner: michaelld@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 1.9.2
Keywords: | Port: qt4-mac
------------------------------------+---------------------------------------
Comment(by michaelld@…):
OK; interesting, and confusing too. I think you're saying that you've
installed "qt4-mac +debug +framework" in order to get both release and
debug libraries for linking -- yes, you prefer the +framework version; I'm
just trying to understand your setup so I can provide good feedback.
Since pyqt4 doesn't have a +debug variant, it must link to the release
libraries. Your Qt/Python application, in order to do debug and if
qt4-mac were NOT installed with +framework, would use the debug libraries
-- which would cause a conflict when loading because both the release and
debug libraries are used. Is the above correct?
Questions:
* Since both your Qt/Python application and pyqt4 are linked to the
release framework, do you use the DYLD_IMAGE_SUFFIX variable to access the
debug version? And, in doing so, you don't get the release / debug
version conflict (since your application wants the debug version while
pyqt4 wants the release version)? Does this not happen correctly when not
using frameworks -- meaning that for frameworks the DYLD will load just
whichever library is found via DYLD_IMAGE_SUFFIX but for non-frameworks
both libraries are loaded?
* Have you tried setting DYLD_IMAGE_SUFFIX when using the non-framework
install of qt4-mac? It is supposed to override the actual load libraries
no matter if they are installed as a framework or not. In my limited
testing, once the system debug libraries are installed, most of the time
setting this environment variable worked as expected. Using this variable
allowed me to access just the "_debug" installed libraries, no matter that
my application was linked to the release version. It might work for you
in the same way, which would then resolve your dual debug/release load
conflict.
* Might one option be to create a +debug version of pyqt4, and then make
sure your application's variant matches that of pyqt4? Seems like you'd
want to do that anyway, no matter if using +framework or not. Shouldn't
be too difficult, since pyqt4 uses QMake build files to do its work.
--
Ticket URL: <https://trac.macports.org/ticket/27558#comment:8>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list