Bug 93106 - Incompatible library versions
Summary: Incompatible library versions
Status: RESOLVED INVALID
Alias: None
Product: XQuartz
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: unspecified
Hardware: Other Mac OS X (All)
: medium normal
Assignee: Jeremy Huddleston Sequoia
QA Contact: Jeremy Huddleston Sequoia
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-25 16:36 UTC by Stuart Chalk
Modified: 2016-02-02 21:41 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Stuart Chalk 2015-11-25 16:36:15 UTC
I am trying to run pkg from the command line on El Capitan and when I do I get the following message

dyld: Library not loaded: /opt/X11/lib/libfreetype.6.dylib
  Referenced from: /opt/X11/lib/libXft.2.dylib
  Reason: Incompatible library version: libXft.2.dylib requires version 19.0.0 or later, but libfreetype.6.dylib provides version 18.0.0
Trace/BPT trap

Any chance the version can be updated?  Or how might I do the update myself?

Stuart
Comment 1 Jeremy Huddleston Sequoia 2015-11-25 17:09:13 UTC
Did you cancel the install half way through?  If so, restart the install and wait for it to finish.

What is the output of 'echo $DYLD_LIBRARY_PATH'?  If it contains anything, fix that.  You should not be using it, and you should go complain to whomever suggested that you should set it in the first place.  It doesn't do what you or they thought it would do.
Comment 2 Stuart Chalk 2016-02-02 13:36:27 UTC
I reinstalled both XQuartz and the software package I am using letting them complete as you suggested. Unfortunately, I still can't get rid of this error.  'csed' is part of the Cactvs tookit (http://85.214.192.197/academic) and I have been in contact with the developer and reported the error but have not been able to communicate the necessary fix.  Could you help me understand what I need to tell him to change so that I can run this software?

Below is the check that $DYLD_LIBRARY_PATH is empty, and the env vars that are set...

Any help greatly appreciated.

Stuart Chalk
Associate Professor of Chemistry
University of North Florida


$ csed
dyld: Library not loaded: /opt/X11/lib/libfreetype.6.dylib
  Referenced from: /opt/X11/lib/libXft.2.dylib
  Reason: Incompatible library version: libXft.2.dylib requires version 19.0.0 or later, but libfreetype.6.dylib provides version 18.0.0
Trace/BPT trap
$ echo $DYLD_LIBRARY_PATH

$ printenv
_=*55423*/usr/bin/printenv
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.0v4QZPGFD8/Render
DISPLAY=/private/tmp/com.apple.launchd.9S0rrhUKJx/org.macosforge.xquartz:0
HOME=/Users/n00002621
LOGNAME=n00002621
PATH=/opt/local/bin:/opt/local/sbin:/opt/local/lib:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/opt/X11/bin
PWD=/Users/n00002621
SHELL=/bin/ksh
SHLVL=3
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.YHYT7NQ3up/Listeners
TERM=xterm
TMPDIR=/var/folders/w6/j8jl8xqs5dz0wy7m7hgszkzsht526d/T/
USER=n00002621
WINDOWID=6291469
X11_PREFS_DOMAIN=org.macosforge.xquartz.X11
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
XTERM_LOCALE=C
XTERM_SHELL=/bin/ksh
XTERM_VERSION=XTerm(314)
_AST_FEATURES=UNIVERSE - ucb
__CF_USER_TEXT_ENCODING=0x61A288CD:0x0:0x0
A__z="*SHLVL
$
Comment 3 Stuart Chalk 2016-02-02 13:37:27 UTC
Sorry, its Yosemite not El Capitan
Comment 4 Jeremy Huddleston Sequoia 2016-02-02 20:39:30 UTC
I downloaded http://85.214.192.197/cgi-bin/counters/unicounter.pl?name=macosx64&deliver=/academic/cactvstools-Darwin11.4-x86_64-3.433.tar.gz

I don’t see a csed script in the package, but it is quite clear that the problem is with this package.  They’re definitely setting DYLD_LIBRARY_PATH all over the place.  Please request that they fix their product.

~/Downloads/cactvstools-Darwin11.4-x86_64-3.433 $ grep -R DYLD_ .
./installme:						echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\"" 
./installme:						echo "export DYLD_LIBRARY_PATH TCLX_LIBRARY"
./installme:			echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\""
./installme:			echo "export DYLD_LIBRARY_PATH TCLX_LIBRARY"
./installme:			echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\""
./installme:			echo "export DYLD_LIBRARY_PATH TCLX_LIBRARY"
./installme:			echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\""
./installme:			echo "export DYLD_LIBRARY_PATH TCLX_LIBRARY"
./installme:				echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\""
./installme:				echo "export DYLD_LIBRARY_PATH TCLX_LIBRARY"
./installme:				echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\""
./installme:				echo "export DYLD_LIBRARY_PATH TCLX_LIBRARY"
./installme:			echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\""
./installme:			echo "export DYLD_LIBRARY_PATH TCLX_LIBRARY TCL_LIBRARY OS"
./installme:			echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\""
./installme:			echo "export DYLD_LIBRARY_PATH OS PYTHONPATH PYTHONHOME TCL_LIBRARY TCLX_LIBRARY DATADIR"
./installme:			echo "DYLD_LIBRARY_PATH=\"$libdir/lib:$libdir/lib/ssl:\$DYLD_LIBRARY_PATH\""
./installme:			echo "export DYLD_LIBRARY_PATH TCLX_LIBRARY TCL_LIBRARY TK_LIBRARY OS"
Binary file ./lib/libclntsh.dylib matches
Binary file ./lib/libclntsh.dylib.11.1 matches
./lib/python3.4/config-3.4/Makefile:RUNSHARED=       DYLD_LIBRARY_PATH=/home/wdi/CACTVS/AUXLIB/PYTHONLIB/Python-3.4.2:/home/wdi/CACTVS/LIB/Darwin11.4-x86_64:/home/wdi/CACTVS/LIB/Darwin11.4-x86_64/qt:/usr/gnu/lib:/opt/SUNWspro/lib:/usr/lib:/usr/lib/X11:/usr/oracle/OraHome1/lib:/usr/local/lib:
./lib/python3.4/config-3.4/Makefile:	export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
./lib/python3.4/lib-dynload/_sysconfigdata.py: 'RUNSHARED': 'DYLD_LIBRARY_PATH=/home/wdi/CACTVS/AUXLIB/PYTHONLIB/Python-3.4.2:/home/wdi/CACTVS/LIB/Darwin11.4-x86_64:/home/wdi/CACTVS/LIB/Darwin11.4-x86_64/qt:/usr/gnu/lib:/opt/SUNWspro/lib:/usr/lib:/usr/lib/X11:/usr/oracle/OraHome1/lib:/usr/local/lib:',
./lib/python3.4/lib-dynload/_sysconfigdata.py: 'TESTPYTHON': 'DYLD_LIBRARY_PATH=/home/wdi/CACTVS/AUXLIB/PYTHONLIB/Python-3.4.2:/home/wdi/CACTVS/LIB/Darwin11.4-x86_64:/home/wdi/CACTVS/LIB/Darwin11.4-x86_64/qt:/usr/gnu/lib:/opt/SUNWspro/lib:/usr/lib:/usr/lib/X11:/usr/oracle/OraHome1/lib:/usr/local/lib: '
./lib/python3.4/lib-dynload/_sysconfigdata.py: 'TESTRUNNER': 'DYLD_LIBRARY_PATH=/home/wdi/CACTVS/AUXLIB/PYTHONLIB/Python-3.4.2:/home/wdi/CACTVS/LIB/Darwin11.4-x86_64:/home/wdi/CACTVS/LIB/Darwin11.4-x86_64/qt:/usr/gnu/lib:/opt/SUNWspro/lib:/usr/lib:/usr/lib/X11:/usr/oracle/OraHome1/lib:/usr/local/lib: '
Binary file ./modules/dbx_odbc.dylib matches
./python3.4/config-3.4m/Makefile:	export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
Binary file ./python3.4/ctypes/macholib/__pycache__/dyld.cpython-34.pyc matches
Binary file ./python3.4/ctypes/macholib/__pycache__/dyld.cpython-34.pyo matches
./python3.4/ctypes/macholib/dyld.py:    return env.get('DYLD_IMAGE_SUFFIX')
./python3.4/ctypes/macholib/dyld.py:    return dyld_env(env, 'DYLD_FRAMEWORK_PATH')
./python3.4/ctypes/macholib/dyld.py:    return dyld_env(env, 'DYLD_LIBRARY_PATH')
./python3.4/ctypes/macholib/dyld.py:    return dyld_env(env, 'DYLD_FALLBACK_FRAMEWORK_PATH')
./python3.4/ctypes/macholib/dyld.py:    return dyld_env(env, 'DYLD_FALLBACK_LIBRARY_PATH')
./python3.4/ctypes/macholib/dyld.py:    """For a potential path iterator, add DYLD_IMAGE_SUFFIX semantics"""
./python3.4/ctypes/macholib/dyld.py:    # If DYLD_FRAMEWORK_PATH is set and this dylib_name is a
./python3.4/ctypes/macholib/dyld.py:    # path if any.  If there is none go on to search the DYLD_LIBRARY_PATH
./python3.4/ctypes/macholib/dyld.py:    # If DYLD_LIBRARY_PATH is set then use the first file that exists
grep: ./python3.4/lib: No such file or directory

$ find . -name '*freetype*'
./lib/libfreetype.6.dylib
./lib/libfreetype.dylib

$ otool -L ./lib/libfreetype.6.dylib
./lib/libfreetype.6.dylib:
	libfreetype.6.dylib (compatibility version 18.0.0, current version 18.2.0)
	libz.dylib (compatibility version 0.0.0, current version 0.0.0)
	libbz2.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1669.0.0)

The packager needs to use proper linkage rather than relying on DYLD_LIBRARY_PATH without understanding how it works.
Comment 5 Stuart Chalk 2016-02-02 21:41:08 UTC
Jeremy thanks for doing that.  I have forwarded the information on to the developer.

Stuart


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.