Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 741092

Summary: net-wireless/kismet-2020.09.1 fails to compile
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Arfrever Frehtes Taifersar Arahesis <arfrever.fta>
Status: RESOLVED CANTFIX    
Severity: normal CC: floppym, llvm, toolchain, zerochaos
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Agostino Sarubbo gentoo-dev 2020-09-08 07:10:27 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: net-wireless/kismet-2020.09.1 fails to compile.
Discovered on: amd64 (internal ref: tinderbox)

NOTE:
This machine uses a clang/LLVM toolchain.
If you think that this issue is strictly related to clang/LLVM please block bug 408963. If you think that this issue is strictly related to the LLD linker, please block bug 731004.
This machine uses also GLIBC-2.32. If you think that this issue is strictly related to GLIBC please block bug 736174.
Comment 1 Agostino Sarubbo gentoo-dev 2020-09-08 07:10:30 UTC
Created attachment 659090 [details]
build.log

build log and emerge --info
Comment 2 Rick Farina (Zero_Chaos) gentoo-dev 2020-12-04 15:43:57 UTC
Per the author of kismet, this is a protobuf issue.  I'm going to keep monitoring in case you all disagree.  CXX="clang++" seems to replicate this bug for me.
Comment 3 Rick Farina (Zero_Chaos) gentoo-dev 2020-12-04 15:48:46 UTC
Additional context of why we think this is protobuf related:
https://github.com/mumble-voip/mumble/issues/4577
Comment 4 Rick Farina (Zero_Chaos) gentoo-dev 2020-12-07 03:05:09 UTC
1. protobuf-3.14.0 (GCC) + kismet (Clang)
Fails (original issue)

2. protobuf-3.14.0 (Clang) + kismet (Clang)
Works fine

3. protobuf-3.14.0 (GCC, -std=gnu++17 added to CXXFLAGS) + kismet (Clang)
Fails the same way as 1

clang++ -std=gnu++17 -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0  -o kismet util.cc.o macaddr.cc.o uuid.cc.o xxhash.cc.o boost_like_hash.cc.o sqlite3_cpp11.cc.o globalregistry.cc.o eventbus.cc.o packet.cc.o configfile.cc.o getopt.cc.o battery.cc.o ipctracker_v2.cc.o protobuf_cpp/kismet.pb.cc.o protobuf_cpp/http.pb.cc.o protobuf_cpp/datasource.pb.cc.o protobuf_cpp/linuxbluetooth.pb.cc.o protobuf_cpp/eventbus.pb.cc.o  kis_external.cc.o dlttracker.cc.o antennatracker.cc.o datasourcetracker.cc.o kis_datasource.cc.o datasource_linux_bluetooth.cc.o datasource_rtl433.cc.o datasource_rtlamr.cc.o datasource_rtladsb.cc.o datasource_ti_cc_2540.cc.o datasource_ti_cc_2531.cc.o datasource_ubertooth_one.cc.o datasource_nrf_51822.cc.o datasource_nxp_kw41z.cc.o datasource_scan.cc.o kis_net_beast_httpd.cc.o kis_httpd_registry.cc.o system_monitor.cc.o base64.cc.o gpstracker.cc.o kis_gps.cc.o gpsnmea_v2.cc.o gpsserial_v3.cc.o gpstcp_v2.cc.o gpsgpsd_v3.cc.o gpsfake.cc.o gpsweb.cc.o packetchain.cc.o packet_filter.cc.o class_filter.cc.o trackedelement.cc.o trackedelement_workers.cc.o trackedcomponent.cc.o entrytracker.cc.o trackedlocation.cc.o devicetracker_component.cc.o devicetracker_view.cc.o devicetracker_view_workers.cc.o kis_server_announce.cc.o jsoncpp.cc.o json_adapter.cc.o plugintracker.cc.o alertracker.cc.o timetracker.cc.o channeltracker2.cc.o devicetracker.cc.o devicetracker_httpd.cc.o kis_dlt.cc.o kis_dlt_ppi.cc.o kis_dlt_radiotap.cc.o kis_dlt_btle_ll_radio.cc.o kaitaistream.cc.o dot11_parsers/dot11_ie.cc.o dot11_parsers/dot11_ie_7_country.cc.o dot11_parsers/dot11_ie_11_qbss.cc.o dot11_parsers/dot11_ie_33_power.cc.o dot11_parsers/dot11_ie_36_supported_channels.cc.o dot11_parsers/dot11_ie_45_ht_cap.cc.o dot11_parsers/dot11_ie_48_rsn.cc.o dot11_parsers/dot11_ie_52_rmm_neighbor.cc.o dot11_parsers/dot11_ie_54_mobility.cc.o dot11_parsers/dot11_ie_55_fastbss.cc.o dot11_parsers/dot11_ie_61_ht_op.cc.o dot11_parsers/dot11_ie_70_rm_capabilities.cc.o dot11_parsers/dot11_ie_133_cisco_ccx.cc.o dot11_parsers/dot11_ie_150_vendor.cc.o dot11_parsers/dot11_ie_150_cisco_powerlevel.cc.o dot11_parsers/dot11_ie_191_vht_cap.cc.o dot11_parsers/dot11_ie_192_vht_op.cc.o dot11_parsers/dot11_ie_127_extended_capabilities.cc.o dot11_parsers/dot11_ie_221_vendor.cc.o dot11_parsers/dot11_ie_221_ms_wps.cc.o dot11_parsers/dot11_ie_221_ms_wmm.cc.o dot11_parsers/dot11_ie_221_dji_droneid.cc.o dot11_parsers/dot11_ie_221_wfa_wpa.cc.o dot11_parsers/dot11_ie_221_cisco_client_mfp.cc.o dot11_parsers/dot11_ie_221_wpa_transition.cc.o dot11_parsers/dot11_ie_221_rsn_pmkid.cc.o dot11_parsers/dot11_ie_221_wfa.cc.o dot11_parsers/dot11_ie_255_ext_tag.cc.o dot11_parsers/dot11_action.cc.o dot11_parsers/dot11_wpa_eap.cc.o dot11_parsers/dot11_p2p_ie.cc.o bluetooth_parsers/btle.cc.o  phy_80211.cc.o phy_80211_components.cc.o phy_80211_dissectors.cc.o phy_rtl433.cc.o phy_rtlamr.cc.o phy_rtladsb.cc.o phy_zwave.cc.o phy_bluetooth.cc.o phy_uav_drone.cc.o phy_nrf_mousejack.cc.o phy_btle.cc.o phy_80211_ssidtracker.cc.o kis_dissector_ipdata.cc.o manuf.cc.o bluetooth_ids.cc.o adsb_icao.cc.o logtracker.cc.o kis_ppilogfile.cc.o kis_databaselogfile.cc.o kis_pcapnglogfile.cc.o messagebus_restclient.cc.o streamtracker.cc.o pcapng_stream_futurebuf.cc.o kis_database.cc.o kismet_server.cc.o  version.c.o -ldw -ldl -lz -lpcre -lsqlite3 -lsensors -lstdc++ -lpcap -lpthread -lprotobuf -rdynamic
/usr/bin/x86_64-pc-linux-gnu-ld: protobuf_cpp/datasource.pb.cc.o: in function `SubSpectrum':
/var/tmp/portage/net-wireless/kismet-2020.12.2/work/kismet-2020-12-R2/protobuf_cpp/datasource.pb.cc:3939: undefined reference to `google::protobuf::RepeatedField<int>::RepeatedField(google::protobuf::RepeatedField<int> const&)'
Comment 5 Arfrever Frehtes Taifersar Arahesis 2020-12-07 09:28:34 UTC
Mixing of GCC-generated code and Clang-generated code usually works, but when it does not, there is really nothing I could do...


Maintainers of GCC and Clang: Do you have any ideas?
If not, I will close this bug as CANTFIX.