Opened 7 years ago

Closed 6 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 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) 7 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) 7 years ago.

Download all attachments as: .zip

Change History (9)

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

Cc: egall@… added

Cc Me!

comment:2 Changed 7 years ago by ryandesign (Ryan 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 7 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 7 years ago by RJVB (René Bertin)

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

Changed 7 years ago by RJVB (René Bertin)

Attachment: cmake-portfile.diff added

comment:5 Changed 7 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 7 years ago by NicosPavlov

Cc: nicos@… added

Cc Me!

comment:7 Changed 6 years ago by NicosPavlov

Resolution: duplicate
Status: newclosed

This ticket is superseded by #44232.

Note: See TracTickets for help on using tickets.