[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