Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
5.6.2, 5.7.0, 5.12.3
-
macOS 10.11
-
-
a90899df4330afccd8299fa81754f369e6d12344 (qt/qtbase/5.15)
Description
[macOS]: The wrapper scripts generated by qmake do not have the DYLD_* variables that are set on the calling terminal nor from the script itself, so the generated DYLD_FRAMEWORK_PATH is not passed through either.
This is specifically a problem when you have libraries in DYLD_LIBRARY_PATH which need to be found when running the tools, for example a custom build ICU which QtCore is depending on.
Attached is an example of two scripts, startme.sh is used to call the uic_wrapper.sh (which is a modified version of the one generated by qmake, which replaces the uic call with printenv to illustrate the problem).
The output I get from the attached example is:
TERM_PROGRAM=Apple_Terminal SHELL=/bin/bash TERM=xterm-256color TMPDIR=/var/folders/6j/vzfk15ld6k75_d59zdhzkw2m0000gn/T/ FOO=foo Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.uKEUZOtBzz/Render TERM_PROGRAM_VERSION=361.1 TERM_SESSION_ID=92F08310-1F3D-4CBC-86AB-602BD82BD2B7 USER=anshaw SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.eKd0LXuDn7/Listeners __CF_USER_TEXT_ENCODING=0x1F5:0x0:0xC PATH=/Users/anshaw/dev/qt5.7/qtbase/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin PWD=/Users/anshaw/tasks XPC_FLAGS=0x0 XPC_SERVICE_NAME=0 SHLVL=3 HOME=/Users/anshaw LOGNAME=anshaw LC_CTYPE=UTF-8 QT_PLUGIN_PATH=/Users/anshaw/dev/qt5.7/qtbase/plugins _=/usr/bin/printenv