Skip to content

OSX build gives libopenjp2.6.dylib with not-absolute install name id  #367

Closed
@gcode-importer

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

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions