[Interest] [OS X/MacPorts] parallel qt4 and qt5 installs

Thiago Macieira thiago.macieira at intel.com
Fri Nov 14 20:04:29 CET 2014


On Friday 14 November 2014 18:30:18 René J.V. Bertin wrote:
> > Therefore, you need to install them in separate prefixes.
> 
> Yes, Apple's support for multiple versions in a single framework is limited
> to backward compatibility; the linker will always pick the newest version.
> Python allows you to get around that by providing for an optional suffix in
> the build system, so translated back to Qt you could have QtCore4.framework
> and QtCore5.framework (containing a QtCore4 and QtCore5 binary,
> respectively). 

But we can't and won't. That breaks both source and binary compatibility.

> That's for the theory. In practice, nothing forbids us to
> have all of Qt4 in ${prefix}/lib/Qt4 and Qt5 in ${prefix}/lib/Qt5, right?

No, no problem there. But if you keep ${prefix} and change only ${libdir}, you 
need to ensure that other parts of Qt also get the change, like ${datadir} and 
${archdatadir}. It's easier to just change the prefix.

> > qtchooser will help you. Your $PATH should contain only qtchooser, like 
so:
> Stupid question maybe, but where does qtchooser come from? I don't see it in
> the Qt4 source tree ...

It comes from the qtchooser release. You can find the latest here:
	http://macieira.org/qtchooser/

> > But it does not help for the libraries. It will only help the executables.
> > Then qmake takes over and uses the right paths to the libraries when
> > linking.
> Ok, so making sure existing binaries don't break without a complete rebuild
> would require a manual set-up of all the links. That sucks :) but not
> overly so :)

Huh?

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Interest mailing list