Closed
Description
Originally reported on Google Code with ID 367
What steps will reproduce the problem?
1. Download openjpeg-2.0.0.tar.gz
2. tar zxvf openjpeg-2.0.0.tar.gz && cd openjpeg-2.0.0
3. cmake . && make
4. DESTDIR=/Users/mb312/tmp/junk make install
5. otool -D /Users/mb312/tmp/junk/usr/local/lib/libopenjp2.2.0.0.dylib
What is the expected output? What do you see instead?
The command above gives the 'install_name_id'. This generally gives the path location
of the library for other libraries to link against. For example here is the output
of ``otool -L /usr/local/lib/libjpeg.dylib ``:
/usr/local/lib/libjpeg.dylib:
/usr/local/lib/libjpeg.8.dylib (compatibility version 13.0.0, current version 13.0.0)
So, for the command (5) above, I expect to see this:
/Users/mb312/tmp/junk/usr/local/lib/libopenjp2.2.0.0.dylib:
/Users/mb312/tmp/junk/usr/local/lib/libopenjp2.6.dylib (compatibility version
6.0.0, current version 2.0.0)
but in fact I see:
/Users/mb312/tmp/junk/usr/local/lib/libopenjp2.2.0.0.dylib:
libopenjp2.6.dylib (compatibility version 6.0.0, current version 2.0.0)
Notice the library filename rather than the library path as the 'install_name_id'.
Code linking against this library will put this path into to a generated dynamic library
as the path at which to find the library at run-time, and therefore the openjpeg library
will either have to be in the current directory of the running process or will not
be found at run-time.
I notice that the install_name_id is correctly set before 'make install' Here ``otool
-D bin/libopenjp2.6.dylib``:
bin/libopenjp2.6.dylib:
/Users/mb312/tmp/openjpeg/openjpeg-2.0.0/bin/libopenjp2.6.dylib
What version of the product are you using? On what operating system?
OpenJPEG 2.0.0 on OSX 10.9.3
Please provide any additional information below.
Reported by matthew.brett
on 2014-06-30 10:53:46