Opened 12 years ago

Closed 11 years ago

#23538 closed defect (fixed)

cmake portgroup does not set install name directory for libraries

Reported by: raphael-st (Raphael Straub) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: haspatch Cc: illogic-al@…, ryandesign (Ryan Schmidt)
Port:

Description

The cmake portgroup does not set the install name directory for libraries. This can be set with the parameter

-DCMAKE_INSTALL_NAME_DIR=${prefix}/lib

for cmake, see http://www.cmake.org/cmake/help/cmake-2-8-docs.html#prop_tgt:INSTALL_NAME_DIR.

I tested all ports that use the cmake portgroup and found out that some ports install libraries with the wrong install name (physfs, chipmunk, clucene-devel, eigen) and some other ports (bullet, nifticlib, OpenSceneGraph-devel, zorba, orocos-kdl, orocos-rtt, flann) manually use the above parameter or call install_name_tool. The rest either does not need this parameter (taglib, qhull, strigi, wbxml2) or installs no library at all (gccxml-devel, newmat, Vidalia).

I'm not sure, who is responsible for the cmake portgroup. I think, the patch for the cmake portgroup in the attachment can be applied without affecting ports that already use correct install names without this patch.

Attachments (1)

patch-cmake-1.0.tcl.diff (532 bytes) - added by raphael-st (Raphael Straub) 12 years ago.

Download all attachments as: .zip

Change History (6)

Changed 12 years ago by raphael-st (Raphael Straub)

Attachment: patch-cmake-1.0.tcl.diff added

comment:1 Changed 12 years ago by jmroot (Joshua Root)

Cc: illogic-al@… added

Portgroups don't officially have specific maintainers. The cmake one was originally written by illogic-al.

comment:2 Changed 12 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added

Once we apply this patch to the cmake portgroup, we would probably want to deal with all the ports that use the cmake portgroup. Those ports that don't currently install libraries with proper install_names should have their revisions bumped so they're rebuilt. Those that have manual workarounds for this should have them removed, assuming the portgroup will do the same thing.

comment:3 Changed 12 years ago by raphael-st (Raphael Straub)

Resolution: fixed
Status: newclosed

I applied the patch to the cmake portgroup in r64576 and bumped the revision of ports that didn't use correct install names in r64577. I also informed all maintainers of cmake portgroup based ports that they can remove their workarounds.

comment:4 Changed 12 years ago by ryandesign (Ryan Schmidt)

Resolution: fixed
Status: closedreopened

Forgot to bump the revision of all the ports using the kde4 portgroup, which uses the cmake portgroup. See for example #23732.

comment:5 Changed 11 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: reopenedclosed

The problem with the portgroup is fixed, and it's kind of late to be rev bumping stuff now.

Note: See TracTickets for help on using tickets.