Opened 10 years ago

Closed 9 years ago

#42840 closed defect (duplicate)

cmake issues -bundle instead of -dynamiclib when creating shared modules

Reported by: RJVB (René Bertin) Owned by: cssdev
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: cooljeanius (Eric Gallager), NicosPavlov
Port: cmake

Description (last modified by ryandesign (Ryan Carsten Schmidt))

This is a follow-up to issue #40188. I was bitten by the cmake specificity while building KDE's Calligra suite, when the linker refused to link in 'bundle' shared objects (intended to act as plugins also) in x86_64 mode. Googling, I came across

http://www.wireshark.org/lists/wireshark-dev/201009/msg00231.html where one reads

"CMake is using -bundle rather than -dylib/-dynamiclib to build the asn1 plugin, probably so that it'll work even on versions of OS X where you can't dynamically load an MH_DYLIB."

AFAIK, that's a moot point since OS X 10.3 (or at least 10.4). I cannot decide whether a modification of the corresponding cmake formulas is something MacPorts can do during an installation, but it is possible. Finding all CMAKE_SHARED_MODULE_CREATE definitions in /opt/local/lib/cmake{,-2.8} and replacing -bundle with -dynamiclib resolves the linking problem I encountered.

Attachments (2)

patch-SHARED_BUNDLE_flag.diff (4.0 KB) - added by RJVB (René Bertin) 10 years ago.
patch to address the issue in cmake 3.0 (and higher, I hope)
cmake-portfile.diff (2.1 KB) - added by RJVB (René Bertin) 10 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

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

Description: modified (diff)
Keywords: CMAKE_SHARED_MODULE_CREATE removed
Owner: changed from macports-tickets@… to css@…

Is there an upstream bug report for this problem?

comment:3 Changed 10 years ago by RJVB (René Bertin)

In the cmake bug tracker or whatever they use? I was indeed wondering if I had to file a report there (given how they could hardly not be aware of the issue) ... should I?

Changed 10 years ago by RJVB (René Bertin)

patch to address the issue in cmake 3.0 (and higher, I hope)

Changed 10 years ago by RJVB (René Bertin)

Attachment: cmake-portfile.diff added

comment:5 Changed 10 years ago by RJVB (René Bertin)

I've attached a diff for the portfile:

  • includes the shared bundle flags patch
  • bumps to v3.0.1
  • includes the logic required to build the manpages

comment:6 Changed 10 years ago by NicosPavlov

Cc: nicos@… added

Cc Me!

comment:7 Changed 9 years ago by NicosPavlov

Resolution: duplicate
Status: newclosed

This ticket is superseded by #44232.

Note: See TracTickets for help on using tickets.