[MacPorts] #60366: liblas: Duplicate -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib flag and reintroduction of rpath
MacPorts
noreply at macports.org
Fri Apr 17 21:13:11 UTC 2020
#60366: liblas: Duplicate -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib flag and
reintroduction of rpath
------------------------+--------------------
Reporter: ryandesign | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.6.2
Keywords: | Port: liblas
------------------------+--------------------
In [0f281244b3d78d09dd057034a5e386c6f0e353e1/macports-ports] a duplicate
`-DCMAKE_INSTALL_NAME_DIR=${prefix}/lib` flag was added to the port. This
is pointless since the cmake portgroup already adds this so the duplicate
flag should be removed.
So the only real effect of that commit was to change the install name of
the libraries from ones that don't use rpath to ones that do:
Before:
{{{
$ otool -L ./liblas-1.8.1.99_1.darwin_17.x86_64/opt/local/lib/liblas.dylib
| head -n 2
./liblas-1.8.1.99_1.darwin_17.x86_64/opt/local/lib/liblas.dylib:
/opt/local/lib/liblas.2.4.0.dylib (compatibility version 3.0.0,
current version 2.4.0)
$ otool -L
./liblas-1.8.1.99_1.darwin_17.x86_64/opt/local/lib/liblas_c.dylib | head
-n 2
./liblas-1.8.1.99_1.darwin_17.x86_64/opt/local/lib/liblas_c.dylib:
/opt/local/lib/liblas_c.2.4.0.dylib (compatibility version 3.0.0,
current version 2.4.0)
}}}
After:
{{{
$ otool -L ./liblas-1.8.1.99_2.darwin_17.x86_64/opt/local/lib/liblas.dylib
| head -n 2
./liblas-1.8.1.99_2.darwin_17.x86_64/opt/local/lib/liblas.dylib:
@rpath/liblas.3.dylib (compatibility version 3.0.0, current
version 2.4.0)
$ otool -L
./liblas-1.8.1.99_2.darwin_17.x86_64/opt/local/lib/liblas_c.dylib | head
-n 2
./liblas-1.8.1.99_2.darwin_17.x86_64/opt/local/lib/liblas_c.dylib:
@rpath/liblas_c.3.dylib (compatibility version 3.0.0, current
version 2.4.0)
}}}
Is this reintroduction of rpath ok? I don't know. Vincent deliberately
changed the port so that it did not use rpath in
[3d0aac3095640e42fabc64de06f9e16427d2664f/macports-ports] but the commit
message doesn't say why. Vincent, do you remember why? Possibly it was
just the usual reason, which is that we don't usually use rpath, for one
thing because rpath is not compatible with Mac OS X 10.4. And doesn't it
also require every other program/library that uses the library to specify
the rpath?
Because the install name of the libraries has changed, all
programs/libraries that link with this library must be revbumped to use
the new install name.
--
Ticket URL: <https://trac.macports.org/ticket/60366>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list