mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 16:26:39 +00:00
gst-env: Don't set DYLD_LIBRARY_PATH on macOS
This is not actually needed because everything we build is using @rpath already, and setting it causes dynamic linker path priority issues with macOS internals causing *all* programs to fail to run inside gst-env: ``` $ vim dyld: Symbol not found: __cg_jpeg_resync_to_restart Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib Expected in: /Users/nirbheek/projects/repos/gst-build/_build_macos/subprojects/libjpeg-turbo-2.1.0/libJPEG.dylib in /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib Abort trap: 6 ``` In this case it is caused by libjpeg.dylib, but it can happen with other dylibs that conflict with dylibs used by macOS internally. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/257>
This commit is contained in:
parent
80621a3f07
commit
a31e9dcf43
1 changed files with 4 additions and 1 deletions
|
@ -72,6 +72,8 @@ def stringify(o):
|
||||||
raise AssertionError('Object {!r} must be a string or a list'.format(o))
|
raise AssertionError('Object {!r} must be a string or a list'.format(o))
|
||||||
|
|
||||||
def prepend_env_var(env, var, value, sysroot):
|
def prepend_env_var(env, var, value, sysroot):
|
||||||
|
if var is None:
|
||||||
|
return
|
||||||
if value.startswith(sysroot):
|
if value.startswith(sysroot):
|
||||||
value = value[len(sysroot):]
|
value = value[len(sysroot):]
|
||||||
# Try not to exceed maximum length limits for env vars on Windows
|
# Try not to exceed maximum length limits for env vars on Windows
|
||||||
|
@ -275,7 +277,8 @@ def get_subprocess_env(options, gst_version):
|
||||||
if os.name == 'nt':
|
if os.name == 'nt':
|
||||||
lib_path_envvar = 'PATH'
|
lib_path_envvar = 'PATH'
|
||||||
elif platform.system() == 'Darwin':
|
elif platform.system() == 'Darwin':
|
||||||
lib_path_envvar = 'DYLD_LIBRARY_PATH'
|
# RPATH is sufficient on macOS, and DYLD_LIBRARY_PATH can cause issues with dynamic linker path priority
|
||||||
|
lib_path_envvar = None
|
||||||
else:
|
else:
|
||||||
lib_path_envvar = 'LD_LIBRARY_PATH'
|
lib_path_envvar = 'LD_LIBRARY_PATH'
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue