ports/66403: security/nmap compile problem using gcc3.x, libstdc++

Chuck Swiger chuck at pkix.net
Sat May 8 17:20:17 UTC 2004


>Number:         66403
>Category:       ports
>Synopsis:       security/nmap compile problem using gcc3.x, libstdc++
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 08 10:20:14 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Chuck Swiger
>Release:        FreeBSD 4.10-BETA i386
>Organization:
PKIx
>Environment:
System: FreeBSD ns1.pkix.net 4.10-BETA FreeBSD 4.10-BETA #14: Sat Apr 17 11:33:13 EDT 2004 root at ns1.pkix.net:/usr/obj/usr/src/sys/NORMAL i386

/etc/make.conf
CC=/usr/local/bin/gcc34
CXX=/usr/local/bin/g++34
KERNCONF=NORMAL
#CPUTYPE=pentiumpro
CFLAGS= -O -pipe
COPTFLAGS= -O -pipe

Using gcc version 3.4.0 20040414 (prerelease) [FreeBSD] from ports,
although the problem had been reported to the nmap & gcc port
maintainers a few months back on the ports mailing list, in:

Message-id: <1E5E3622-51D2-11D8-96D6-003065A20588 at mac.com>


>Description:

Linking stage fails to find libstdc++, detailed errors follow:

===>  Building for nmap-3.50
Compiling libnbase
cd nbase && make
Compiling libnsock
cd nsock/src && make
Compiling nmap
rm -f nmap
/usr/local/bin/g++34 -L/usr/local/lib  -rpath=/usr/lib:/usr/local/lib -L/usr/lib -Lnbase -Lnsock/src/  -o nmap main.o nmap.o targets.o tcpip.o nmap_error.o utils.o idle_scan.o osscan.o output.o scan_engine.o timing.o charpool.o services.o protocols.o nmap_rpc.o portlist.o NmapOps.o TargetGroup.o Target.o FingerPrintResults.o service_scan.o NmapOutputTable.o -lm  -lssl -lcrypto -lnbase -lnsock -lpcre -lpcap
main.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
nmap.o: In function `nmap_main(int, char**)':
nmap.o(.text+0x2189): undefined reference to `operator new(unsigned int)'
nmap.o(.text+0x21c1): undefined reference to `operator delete(void*)'
nmap.o(.text+0x21c9): undefined reference to `_Unwind_Resume'
nmap.o(.text+0x29cc): undefined reference to `operator delete(void*)'
nmap.o(.text+0x2a20): undefined reference to `operator delete(void*)'
nmap.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
targets.o: In function `nexthost(HostGroupState*, scan_lists*, int*)':
targets.o(.text+0x45c): undefined reference to `operator new(unsigned int)'
targets.o(.text+0x473): undefined reference to `operator delete(void*)'
targets.o(.text+0x47b): undefined reference to `_Unwind_Resume'
targets.o(.text+0x6f9): undefined reference to `operator delete(void*)'
targets.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
tcpip.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
nmap_error.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
utils.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
idle_scan.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
osscan.o: In function `os_scan(Target*)':
osscan.o(.text+0x28c1): undefined reference to `_Unwind_Resume'
osscan.o(.text+0x290e): undefined reference to `operator new(unsigned int)'
osscan.o(.text+0x2925): undefined reference to `operator delete(void*)'
osscan.o(.text+0x2d3f): undefined reference to `_Unwind_Resume'
osscan.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
output.o: In function `getServiceXMLBuf(serviceDeductions*, char*, unsigned int)':
output.o(.text+0x10): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage'
output.o(.text+0x15): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_refdata()'
output.o(.text+0x22): undefined reference to `std::allocator<char>::allocator()'
output.o(.text+0x2f): undefined reference to `std::allocator<char>::allocator(std::allocator<char> const&)'
output.o(.text+0x3a): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x5a): undefined reference to `std::allocator<char>::allocator(std::allocator<char> const&)'
output.o(.text+0x62): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage'
output.o(.text+0x74): undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)'
output.o(.text+0x85): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)'
output.o(.text+0x98): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0xa3): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0xab): undefined reference to `_Unwind_Resume'
output.o(.text+0xb7): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0xc2): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0xf4): undefined reference to `std::allocator<char>::allocator(std::allocator<char> const&)'
output.o(.text+0xfd): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage'
output.o(.text+0x10d): undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)'
output.o(.text+0x121): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)'
output.o(.text+0x134): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x13c): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x144): undefined reference to `_Unwind_Resume'
output.o(.text+0x150): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x158): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x189): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)'
output.o(.text+0x193): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)'
output.o(.text+0x1a6): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)'
output.o(.text+0x1cd): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)'
output.o(.text+0x1d7): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)'
output.o(.text+0x1ea): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)'
output.o(.text+0x211): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)'
output.o(.text+0x21b): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)'
output.o(.text+0x22e): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)'
output.o(.text+0x2b5): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const'
output.o(.text+0x2df): undefined reference to `std::allocator<char>::allocator(std::allocator<char> const&)'
output.o(.text+0x2e8): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage'
output.o(.text+0x2f8): undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)'
output.o(.text+0x30c): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)'
output.o(.text+0x31f): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x327): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x32f): undefined reference to `_Unwind_Resume'
output.o(.text+0x33b): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x343): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x36c): undefined reference to `std::allocator<char>::allocator(std::allocator<char> const&)'
output.o(.text+0x375): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage'
output.o(.text+0x385): undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)'
output.o(.text+0x399): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)'
output.o(.text+0x3ac): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x3b4): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x3bc): undefined reference to `_Unwind_Resume'
output.o(.text+0x3c8): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x3d0): undefined reference to `std::allocator<char>::~allocator()'
output.o(.text+0x3de): undefined reference to `_Unwind_Resume'
output.o: In function `printportoutput(Target*, PortList*)':
output.o(.text+0x52b): undefined reference to `_Unwind_Resume'
output.o(.text+0x789): undefined reference to `operator new(unsigned int)'
output.o(.text+0x7a3): undefined reference to `operator delete(void*)'
output.o(.text+0x1120): undefined reference to `_Unwind_Resume'
output.o: In function `__gnu_norm::vector<char const*, std::allocator<char const*> >::~vector()':
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EED1Ev+0x27): undefined reference to `operator delete(void*)'
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EED1Ev+0x3b): undefined reference to `_Unwind_Resume'
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EED1Ev+0x4d): undefined reference to `operator delete(void*)'
output.o: In function `__gnu_norm::vector<char const*, std::allocator<char const*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<char const**, __gnu_norm::vector<char const*, std::allocator<char const*> > >, char const* const&)':
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0x78): undefined reference to `operator new(unsigned int)'
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xc0): undefined reference to `__cxa_begin_catch'
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xe1): undefined reference to `operator delete(void*)'
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xe9): undefined reference to `__cxa_rethrow'
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xf0): undefined reference to `__cxa_end_catch'
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xf9): undefined reference to `_Unwind_Resume'
output.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIPKcSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0x128): undefined reference to `operator delete(void*)'
output.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
scan_engine.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
timing.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
charpool.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
services.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
protocols.o(.eh_frame+0x11): more undefined references to `__gxx_personality_v0' follow
portlist.o: In function `PortList::~PortList()':
portlist.o(.text+0x850): undefined reference to `operator delete(void*)'
portlist.o(.text+0x899): undefined reference to `operator delete(void*)'
portlist.o(.text+0x8e2): undefined reference to `operator delete(void*)'
portlist.o: In function `PortList::~PortList()':
portlist.o(.text+0x942): undefined reference to `operator delete(void*)'
portlist.o(.text+0x98b): undefined reference to `operator delete(void*)'
portlist.o(.text+0x9d4): more undefined references to `operator delete(void*)' follow
portlist.o: In function `PortList::addPort(unsigned short, unsigned char, char*, int)':
portlist.o(.text+0xcac): undefined reference to `operator new(unsigned int)'
portlist.o: In function `PortList::removePort(unsigned short, unsigned char)':
portlist.o(.text+0xe1c): undefined reference to `operator delete(void*)'
portlist.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
NmapOps.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
TargetGroup.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
Target.o: In function `Target::Target()':
Target.o(.text+0x38): undefined reference to `_Unwind_Resume'
Target.o: In function `Target::Target()':
Target.o(.text+0x74): undefined reference to `_Unwind_Resume'
Target.o: In function `Target::~Target()':
Target.o(.text+0x197): undefined reference to `_Unwind_Resume'
Target.o: In function `Target::~Target()':
Target.o(.text+0x1d5): undefined reference to `_Unwind_Resume'
Target.o: In function `Target::FreeInternal()':
Target.o(.text+0x24e): undefined reference to `operator delete(void*)'
Target.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
FingerPrintResults.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
service_scan.o: In function `ServiceProbe::ServiceProbe()':
service_scan.o(.text+0x1351): undefined reference to `_Unwind_Resume'
service_scan.o: In function `ServiceProbe::ServiceProbe()':
service_scan.o(.text+0x147d): undefined reference to `_Unwind_Resume'
service_scan.o: In function `ServiceProbe::~ServiceProbe()':
service_scan.o(.text+0x14f8): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x15a5): undefined reference to `_Unwind_Resume'
service_scan.o: In function `ServiceProbe::~ServiceProbe()':
service_scan.o(.text+0x1636): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x16e3): undefined reference to `_Unwind_Resume'
service_scan.o: In function `ServiceProbe::addMatch(char const*, int)':
service_scan.o(.text+0x1bce): undefined reference to `operator new(unsigned int)'
service_scan.o: In function `parse_nmap_service_probe_file(AllProbes*, char*)':
service_scan.o(.text+0x1cc9): undefined reference to `operator new(unsigned int)'
service_scan.o(.text+0x1cfd): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x1d05): undefined reference to `_Unwind_Resume'
service_scan.o: In function `AllProbes::~AllProbes()':
service_scan.o(.text+0x2165): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x21ab): undefined reference to `_Unwind_Resume'
service_scan.o: In function `AllProbes::~AllProbes()':
service_scan.o(.text+0x220b): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x2251): undefined reference to `_Unwind_Resume'
service_scan.o: In function `ServiceGroup::ServiceGroup(Target**, int, AllProbes*)':
service_scan.o(.text+0x31aa): undefined reference to `operator new(unsigned int)'
service_scan.o(.text+0x32f3): undefined reference to `_Unwind_Resume'
service_scan.o(.text+0x3306): undefined reference to `_Unwind_Resume'
service_scan.o: In function `ServiceGroup::ServiceGroup(Target**, int, AllProbes*)':
service_scan.o(.text+0x33e4): undefined reference to `operator new(unsigned int)'
service_scan.o(.text+0x3504): undefined reference to `_Unwind_Resume'
service_scan.o: In function `ServiceGroup::~ServiceGroup()':
service_scan.o(.text+0x354f): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x35ba): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x3628): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x369f): undefined reference to `_Unwind_Resume'
service_scan.o: In function `ServiceGroup::~ServiceGroup()':
service_scan.o(.text+0x372d): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x3798): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x3806): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x387d): undefined reference to `_Unwind_Resume'
service_scan.o: In function `service_scan(Target**, int)':
service_scan.o(.text+0x4a92): undefined reference to `operator new(unsigned int)'
service_scan.o(.text+0x4ab7): undefined reference to `operator new(unsigned int)'
service_scan.o(.text+0x4ae6): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x4aee): undefined reference to `_Unwind_Resume'
service_scan.o(.text+0x4b0e): undefined reference to `operator delete(void*)'
service_scan.o(.text+0x4df8): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::vector<unsigned short, std::allocator<unsigned short> >::~vector()':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEED1Ev+0x27): undefined reference to `operator delete(void*)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEED1Ev+0x3b): undefined reference to `_Unwind_Resume'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEED1Ev+0x4d): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::vector<ServiceProbe*, std::allocator<ServiceProbe*> >::~vector()':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EED1Ev+0x27): undefined reference to `operator delete(void*)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EED1Ev+0x3b): undefined reference to `_Unwind_Resume'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EED1Ev+0x4d): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::_List_base<ServiceNFO*, std::allocator<ServiceNFO*> >::_M_clear()':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm10_List_baseIP10ServiceNFOSaIS2_EE8_M_clearEv+0x17): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::vector<ServiceProbeMatch*, std::allocator<ServiceProbeMatch*> >::~vector()':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EED1Ev+0x27): undefined reference to `operator delete(void*)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EED1Ev+0x3b): undefined reference to `_Unwind_Resume'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EED1Ev+0x4d): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::vector<unsigned short, std::allocator<unsigned short> >::_M_insert_aux(__gnu_cxx::__normal_iterator<unsigned short*, __gnu_norm::vector<unsigned short, std::allocator<unsigned short> > >, unsigned short const&)':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPtS2_EERKt+0x74): undefined reference to `operator new(unsigned int)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPtS2_EERKt+0xb6): undefined reference to `__cxa_begin_catch'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPtS2_EERKt+0xd7): undefined reference to `operator delete(void*)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPtS2_EERKt+0xdf): undefined reference to `__cxa_rethrow'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPtS2_EERKt+0xe6): undefined reference to `__cxa_end_catch'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPtS2_EERKt+0xef): undefined reference to `_Unwind_Resume'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorItSaItEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPtS2_EERKt+0x111): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::vector<ServiceProbeMatch*, std::allocator<ServiceProbeMatch*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<ServiceProbeMatch**, __gnu_norm::vector<ServiceProbeMatch*, std::allocator<ServiceProbeMatch*> > >, ServiceProbeMatch* const&)':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0x7d): undefined reference to `operator new(unsigned int)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xc8): undefined reference to `__cxa_begin_catch'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xe4): undefined reference to `operator delete(void*)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xec): undefined reference to `__cxa_rethrow'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xf3): undefined reference to `__cxa_end_catch'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xfc): undefined reference to `_Unwind_Resume'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP17ServiceProbeMatchSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0x12b): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::vector<ServiceProbe*, std::allocator<ServiceProbe*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<ServiceProbe**, __gnu_norm::vector<ServiceProbe*, std::allocator<ServiceProbe*> > >, ServiceProbe* const&)':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0x7d): undefined reference to `operator new(unsigned int)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xc8): undefined reference to `__cxa_begin_catch'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xe4): undefined reference to `operator delete(void*)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xec): undefined reference to `__cxa_rethrow'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xf3): undefined reference to `__cxa_end_catch'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0xfc): undefined reference to `_Unwind_Resume'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm6vectorIP12ServiceProbeSaIS2_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS2_S4_EERKS2_+0x12b): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::list<ServiceNFO*, std::allocator<ServiceNFO*> >::push_back(ServiceNFO* const&)':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9push_backERKS2_+0x1a): undefined reference to `operator new(unsigned int)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9push_backERKS2_+0x36): undefined reference to `__cxa_begin_catch'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9push_backERKS2_+0x3e): undefined reference to `operator delete(void*)'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9push_backERKS2_+0x46): undefined reference to `__cxa_rethrow'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9push_backERKS2_+0x4d): undefined reference to `__cxa_end_catch'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9push_backERKS2_+0x56): undefined reference to `_Unwind_Resume'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9push_backERKS2_+0x60): undefined reference to `__gnu_norm::_List_node_base::hook(__gnu_norm::_List_node_base*)'
service_scan.o: In function `__gnu_norm::list<ServiceNFO*, std::allocator<ServiceNFO*> >::erase(__gnu_norm::_List_iterator<ServiceNFO*>)':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE5eraseENS_14_List_iteratorIS2_EE+0xf): undefined reference to `__gnu_norm::_List_node_base::unhook()'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE5eraseENS_14_List_iteratorIS2_EE+0x17): undefined reference to `operator delete(void*)'
service_scan.o: In function `__gnu_norm::list<ServiceNFO*, std::allocator<ServiceNFO*> >::pop_front()':
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9pop_frontEv+0x15): undefined reference to `__gnu_norm::_List_node_base::unhook()'
service_scan.o(.gnu.linkonce.t._ZN10__gnu_norm4listIP10ServiceNFOSaIS2_EE9pop_frontEv+0x1d): undefined reference to `operator delete(void*)'
service_scan.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
NmapOutputTable.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
*** Error code 1 (continuing)


>How-To-Repeat:

# set CC in /etc/make.conf to refer to gcc34
cd /usr/ports/security/nmap
make -k ; make -k

>Fix:

Relinking and specifying -lstdc++ by hand produces a working binary.
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list