[Bug 262756] net/ntopng: broken ports build due to missing symbols from glib

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 24 Mar 2022 11:11:29 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262756

            Bug ID: 262756
           Summary: net/ntopng: broken ports build due to missing symbols
                    from glib
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: madpilot@FreeBSD.org
          Reporter: franco@opnsense.org
          Assignee: madpilot@FreeBSD.org
             Flags: maintainer-feedback?(madpilot@FreeBSD.org)
 Attachment #232674 maintainer-approval?
             Flags:

Created attachment 232674
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=232674&action=edit
glib addition

A plain ports tree build in a clean 13-STABLE chroot fails with:

clang++ -O2 -pipe -fstack-protector-strong -DLDAP_DEPRECATED -isystem
/usr/local/include -fno-strict-aliasing  -isystem /usr/local/include 
-std=c++0x  -Wl,-rpath,/usr/local/lib -fstack-protector-strong  
src/AddressResolution.o  src/AddressTree.o  src/AlertCounter.o 
src/AlertableEntity.o  src/AlertsQueue.o  src/AutonomousSystem.o 
src/AutonomousSystemHash.o  src/Bitmap128.o  src/Bitmask.o  src/Bloom.o 
src/BroadcastDomains.o  src/Check.o  src/ChecksLoader.o  src/Condvar.o 
src/ContainerStats.o  src/ContinuousPing.o  src/ContinuousPingStats.o 
src/CountriesHash.o  src/Country.o  src/DB.o  src/DSCPStats.o  src/DnsStats.o 
src/DummyInterface.o  src/ElasticSearch.o  src/EthStats.o 
src/ExportInterface.o  src/Fingerprint.o  src/Flow.o  src/FlowAlert.o 
src/FlowAlertsLoader.o  src/FlowCheck.o  src/FlowChecksExecutor.o 
src/FlowChecksLoader.o  src/FlowGrouper.o  src/FlowHash.o  src/FlowRiskAlerts.o
 src/FlowStats.o  src/FlowTrafficStats.o  src/FrequentStringItems.o 
src/GenericHash.o  src/GenericHashEntry.o  src/GenericTrafficElement.o 
src/Geolocation.o  src/HTTPserver.o  src/HTTPstats.o  src/Host.o 
src/HostAlert.o  src/HostAlertableEntity.o  src/HostCheck.o 
src/HostChecksExecutor.o  src/HostChecksLoader.o  src/HostHash.o 
src/HostPoolStats.o  src/HostPools.o  src/HostStats.o  src/ICMPinfo.o 
src/ICMPstats.o  src/IEC104Stats.o  src/InfluxDBTimeseriesExporter.o 
src/InterarrivalStats.o  src/InterfaceStatsHash.o  src/IpAddress.o 
src/L4Stats.o  src/ListeningPorts.o  src/LocalHost.o  src/LocalHostStats.o 
src/LocalTrafficStats.o  src/LuaEngine.o  src/LuaEngineInterface.o 
src/LuaEngineNetwork.o  src/LuaEngineNtop.o  src/MDNS.o  src/Mac.o 
src/MacHash.o  src/MacManufacturers.o  src/MacStats.o  src/MostVisitedList.o 
src/Mutex.o  src/MySQLDB.o  src/NetworkDiscovery.o  src/NetworkInterface.o 
src/NetworkStats.o  src/Ntop.o  src/NtopGlobals.o  src/ObservationPoint.o 
src/ObservationPointHash.o  src/OperatingSystem.o  src/OperatingSystemHash.o 
src/OtherAlertableEntity.o  src/PF_RINGInterface.o  src/PacketDumper.o 
src/PacketDumperTuntap.o  src/PacketStats.o  src/Paginator.o  src/ParsedFlow.o 
src/ParsedFlowCore.o  src/ParsedeBPF.o  src/ParserInterface.o 
src/PartializableFlowTrafficStats.o  src/PcapInterface.o 
src/PeriodicActivities.o  src/PeriodicScript.o  src/Ping.o  src/Prefs.o 
src/ProtoStats.o  src/RRDTimeseriesExporter.o  src/RecipientQueues.o 
src/Recipients.o  src/Redis.o  src/RemoteHost.o  src/RoundTripStats.o 
src/RwLock.o  src/SNMP.o  src/SQLiteAlertStore.o  src/SQLiteStoreManager.o 
src/Score.o  src/ScoreStats.o  src/SerializableElement.o  src/StatsManager.o 
src/SyslogCollectorInterface.o  src/SyslogDump.o  src/SyslogLuaEngine.o 
src/SyslogParserInterface.o  src/SyslogStats.o  src/TcpFlowStats.o 
src/TcpPacketStats.o  src/ThreadPool.o  src/ThreadedActivity.o 
src/ThreadedActivityStats.o  src/ThroughputStats.o  src/TimelineExtract.o 
src/TimeseriesExporter.o  src/Trace.o  src/TrafficStats.o  src/Utils.o 
src/VLAN.o  src/VLANAddressTree.o  src/VLANHash.o  src/ViewInterface.o 
src/ViewScoreStats.o  src/VirtualHost.o  src/VirtualHostHash.o 
src/ZCCollectorInterface.o  src/ZMQCollectorInterface.o 
src/ZMQParserInterface.o  src/ZMQPublisher.o  src/main.o  src/nDPIStats.o 
src/flow_checks/BlacklistedCountry.o  src/flow_checks/BlacklistedFlow.o 
src/flow_checks/BroadcastNonUDPTraffic.o 
src/flow_checks/DeviceProtocolNotAllowed.o 
src/flow_checks/ExternalAlertCheck.o  src/flow_checks/FlowRisk.o 
src/flow_checks/IECUnexpectedTypeId.o  src/flow_checks/LowGoodputFlow.o 
src/flow_checks/NotPurged.o  src/flow_checks/RemoteAccess.o 
src/flow_checks/RemoteToLocalInsecureProto.o  src/flow_checks/RemoteToRemote.o 
src/flow_checks/TCPNoDataExchanged.o  src/flow_checks/TCPZeroWindow.o 
src/flow_checks/UDPUnidirectional.o  src/flow_checks/UnexpectedServer.o 
src/flow_checks/WebMining.o  src/flow_alerts/BlacklistedCountryAlert.o 
src/flow_alerts/BlacklistedFlowAlert.o 
src/flow_alerts/BroadcastNonUDPTrafficAlert.o 
src/flow_alerts/DeviceProtocolNotAllowedAlert.o 
src/flow_alerts/ElephantFlowAlert.o  src/flow_alerts/ExternalAlertCheckAlert.o 
src/flow_alerts/FlowRiskBinaryApplicationTransferAlert.o 
src/flow_alerts/FlowRiskKnownProtocolOnNonStandardPortAlert.o 
src/flow_alerts/FlowRiskSSHObsoleteClientAlert.o 
src/flow_alerts/FlowRiskSSHObsoleteServerAlert.o 
src/flow_alerts/FlowRiskSimpleAlert.o 
src/flow_alerts/FlowRiskSuspiciousDGADomainAlert.o 
src/flow_alerts/FlowRiskTLSCertificateSelfSignedAlert.o 
src/flow_alerts/FlowRiskTLSOldProtocolVersionAlert.o 
src/flow_alerts/IECInvalidTransitionAlert.o 
src/flow_alerts/IECUnexpectedTypeIdAlert.o 
src/flow_alerts/LongLivedFlowAlert.o  src/flow_alerts/LowGoodputFlowAlert.o 
src/flow_alerts/PeriodicityChangedAlert.o  src/flow_alerts/RemoteAccessAlert.o 
src/flow_alerts/RemoteToLocalInsecureProtoAlert.o 
src/flow_alerts/TLSMaliciousSignatureAlert.o 
src/flow_alerts/UnexpectedServerAlert.o  src/host_checks/CountriesContacts.o 
src/host_checks/DNSServerContacts.o  src/host_checks/DNSTraffic.o 
src/host_checks/DangerousHost.o  src/host_checks/DomainNamesContacts.o 
src/host_checks/FlowFlood.o  src/host_checks/FlowHits.o 
src/host_checks/ICMPFlood.o  src/host_checks/NTPServerContacts.o 
src/host_checks/NTPTraffic.o  src/host_checks/P2PTraffic.o 
src/host_checks/PktThreshold.o  src/host_checks/RemoteConnection.o 
src/host_checks/SMTPServerContacts.o  src/host_checks/SYNFlood.o 
src/host_checks/SYNScan.o  src/host_checks/ScoreThreshold.o 
src/host_checks/ServerContacts.o  src/host_alerts/CountriesContactsAlert.o 
src/host_alerts/DNSServerContactsAlert.o  src/host_alerts/DNSTrafficAlert.o 
src/host_alerts/DangerousHostAlert.o 
src/host_alerts/DomainNamesContactsAlert.o  src/host_alerts/FlowHitsAlert.o 
src/host_alerts/NTPServerContactsAlert.o  src/host_alerts/NTPTrafficAlert.o 
src/host_alerts/P2PTrafficAlert.o  src/host_alerts/PktThresholdAlert.o 
src/host_alerts/RemoteConnectionAlert.o 
src/host_alerts/SMTPServerContactsAlert.o 
src/host_alerts/ServerContactsAlert.o  -Wall -Wl,-Bstatic -L/usr/local/lib
-lndpi -lrrd -lm -lgcrypt  -Wl,-Bdynamic -lpcap -llua-5.4 -L/usr/local/lib
-lrrd   /usr/local/lib/libjson-c.a  -lmaxminddb   -lsqlite3
/usr/local/lib/mysql/libmysqlclient.a  -lexpat -L/usr/local/lib -lssl  -lssl
-lcrypto   -Wl,-rpath,/usr/local/lib -fstack-protector-strong  -L/usr/local/lib
 -lmaxminddb -lzmq -L/usr/local/lib -lgpg-error -lzmq -lsodium -L/usr/local/lib
-lgcrypt -lldap -llber -lrt -lz -ldl -lcurl /usr/local/lib/libzstd.a -lm
-lpthread -o ntopng
ld: error: undefined symbol: g_list_append
>>> referenced by librrdupd_la-rrd_create.o:(rrd_create) in archive /usr/local/lib/librrd.a
>>> referenced by librrdupd_la-rrd_create.o:(rrd_create_r2) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_list_free_full
>>> referenced by librrdupd_la-rrd_create.o:(rrd_create) in archive /usr/local/lib/librrd.a
>>> referenced by librrdupd_la-rrd_create.o:(rrd_create_r2) in archive /usr/local/lib/librrd.a
>>> referenced by librrdupd_la-rrd_create.o:(rrd_create_r2) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_list_length
>>> referenced by librrdupd_la-rrd_create.o:(rrd_create) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_regex_new
>>> referenced by librrdupd_la-rrd_create.o:(parseDS) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_match_info_free
>>> referenced by librrdupd_la-rrd_create.o:(parseDS) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_regex_unref
>>> referenced by librrdupd_la-rrd_create.o:(parseDS) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_regex_match
>>> referenced by librrdupd_la-rrd_create.o:(parseDS) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_match_info_fetch_pos
>>> referenced by librrdupd_la-rrd_create.o:(parseDS) in archive /usr/local/lib/librrd.a
>>> referenced by librrdupd_la-rrd_create.o:(parseDS) in archive /usr/local/lib/librrd.a
>>> referenced by librrdupd_la-rrd_create.o:(parseDS) in archive /usr/local/lib/librrd.a
>>> referenced 2 more times

ld: error: undefined symbol: g_tree_new_full
>>> referenced by librrdupd_la-rrd_update.o:(rrd_template_update) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_tree_lookup
>>> referenced by librrdupd_la-rrd_update.o:(rrd_template_update) in archive /usr/local/lib/librrd.a

ld: error: undefined symbol: g_tree_insert
>>> referenced by librrdupd_la-rrd_update.o:(rrd_template_update) in archive /usr/local/lib/librrd.a
clang++: error: linker command failed with exit code 1 (use -v to see
invocation)
gmake[1]: *** [Makefile:136: ntopng] Error 1
gmake[1]: Leaving directory '/usr/obj/usr/ports/net/ntopng/work/ntopng-9d82383'

Attached it is a patch meant as a POC that allows the build to continue.


Cheers,
Franco

-- 
You are receiving this mail because:
You are the assignee for the bug.