[Interest] Qt 5.4 make INSTALL_ROOT=N artefacts?

René J.V. Bertin rjvbertin at gmail.com
Sun Feb 15 11:46:19 CET 2015


Hello,

I noticed an artefact with my MacPorts port for Qt 5.4.0 . MacPorts' build and install procedure involves a dedicated working environment and directory, and then an intermediate install step in which the project is installed with DESTDIR=destroot or INSTALL_ROOT=destroot for qmake-based projects. The result from the destroot directory is then bundled and finally installed, possibly after having made "last-minute" modifications in the destroot directory.

Following the procedure with my port, I get the following in my dedicated working dir (using an out-of-tree build):

%> ls -ltr qt5d-mac-mp9-work/
total 0
drwxr-xr-x 32 bertin bertin 1496 Dec  5 17:26 qt-everywhere-opensource-src-5.4.0
drwxr-xr-x 30 bertin bertin 1122 Jan 12 02:34 build
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:28 destrootQtCore.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:28 destrootQtNetwork.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:28 destrootQtSql.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:28 destrootQtXml.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:28 destrootQtTest.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:29 destrootQtDBus.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:29 destrootQtConcurrent.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:29 destrootQtGui.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:29 destrootQtWidgets.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:29 destrootQtOpenGL.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:29 destrootQtPrintSupport.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:29 destrootQtMacExtras.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:31 destrootQtWebKit.framework
drwxr-xr-x  3 bertin bertin  136 Feb 15 11:31 destrootQtWebKitWidgets.framework
drwxrwxr-x  4 bertin bertin  136 Feb 15 11:32 destroot

Based on the timestamps and their evolution, the destroot*.framework entries are the result of the `make install INSTALL_ROOT=destroot` step, not from the modifications I do post-destroot (none of which can create that kind of filename).

It looks as if the install procedure creates the framework directory in the destroot parent directory, and then copies the result to the expected directory under destroot. Is this an artefact from having done several incremental configure and build steps, or does this always happen? (Sadly I don't have multiple hours to waste to check with a build-from-scratch...)
If it always happens, that would suggest that a regular install that does NOT use INSTALL_ROOT= will create these framework bundles in the system root ...

R.



More information about the Interest mailing list