Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#55391 closed defect (fixed)

wireshark2 @2.4.2: can be broken if cmake is uninstalled after building

Reported by: yan12125 (Chih-Hsuan Yen) Owned by: ghosthound
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Schamschula (Marius Schamschula)
Port: wireshark2

Description (last modified by mf2k (Frank Schima))

Steps to reproduce:

  1. port -vt install wireshark2
  2. port uninstall --follow-dependencies cmake

Now wireshark is broken:

$ /Applications/MacPorts/Wireshark.app/Contents/MacOS/Wireshark
dyld: Library not loaded: /opt/local/lib/liblz4.1.dylib
  Referenced from: /Applications/MacPorts/Wireshark.app/Contents/MacOS/Wireshark
  Reason: image not found
[1]    15194 abort      /Applications/MacPorts/Wireshark.app/Contents/MacOS/Wireshark

This is because cmake is installed and lz4 is brought in during the build time.

Change History (7)

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Cc: opendarwin.org@… removed
Description: modified (diff)
Owner: set to opendarwin.org@…
Status: newassigned

comment:2 Changed 7 years ago by mf2k (Frank Schima)

cmake needs to be moved from being a build dependency to being a library dependency.

comment:3 Changed 7 years ago by Schamschula (Marius Schamschula)

I wonder if this should be done in the cmake PortGroup, as this likely an issue with other ports.

comment:4 Changed 7 years ago by Schamschula (Marius Schamschula)

Cc: Schamschula added

comment:5 Changed 7 years ago by ghosthound

Owner: changed from opendarwin.org@… to ghosthound
Status: assignedaccepted

I suspect this is because wireshark will use lz4 if it is available. lz4 is installed by libarchive which is installed by cmake, so for wireshark lz4 should be added as a dependency or configure args to disable lz4 should be added. I don't know if other ports will follow the same pattern, but it may not be a generic cmake issue.

comment:6 Changed 7 years ago by yan12125 (Chih-Hsuan Yen)

As far as I understand it, this is a Wireshark-specific issue rather than a generic cmake one. Wireshark detects lz4 in its CMakeLists.txt, and it can be disabled with -DENABLE_LZ4=OFF.

lz4 is used in "Apache Cassandra CQL dissection" and "Kafka Protocol dissection". I'm not sure if those protocols are common or not. Considering that lz4 is a rather tiny package (112K tbz2 for Darwin 17), it won't hurt anyone to put it into depends_lib of wireshark2.

comment:7 Changed 7 years ago by ghosthound

Resolution: fixed
Status: acceptedclosed
Last edited 7 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)
Note: See TracTickets for help on using tickets.