#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:
port -vt install wireshark2
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: | new → assigned |
comment:2 Changed 7 years ago by mf2k (Frank Schima)
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: | assigned → accepted |
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: | accepted → closed |
lz4 added as a dependency in [d3281bfda0047e9c311af5559265d73b969398d2/macports-ports]
cmake needs to be moved from being a build dependency to being a library dependency.