Nmap Development mailing list archives
Has anyone seen nmap compile and work on Solaris lately ?
From: dev <dev () cor0 com>
Date: Tue, 16 Dec 2014 16:38:49 -0500 (EST)
Line 907 of osscan.cc causes a compile error : 907 tests.sort(FingerTest_lessthan); Looked harmless to me. Tried a simple build of nmap-6.47 on Solaris 10 with the recently released Oracle Studio 12.4 compiler tools and things went badly on osscan.cc thus : osscan.cc: "./nbase/nbase.h", line 295: Warning: attribute format is unsupported and will be skipped.. "./nbase/nbase.h", line 301: Warning: attribute format is unsupported and will be skipped.. "./nbase/nbase.h", line 470: Warning: attribute format is unsupported and will be skipped.. "./nbase/nbase.h", line 472: Warning: attribute format is unsupported and will be skipped.. "./nbase/nbase.h", line 477: Warning: attribute format is unsupported and will be skipped.. "./nsock/include/nsock.h", line 305: Warning: Identifier expected instead of "}". "./nsock/include/nsock.h", line 388: Warning: Identifier expected instead of "}". "libnetutil/ARPHeader.h", line 285: Warning: ARPHeader::print hides the virtual function PacketElement::print(int) const. "libnetutil/ARPHeader.h", line 285: Warning: ARPHeader::print hides the virtual function PacketElement::print() const. "libnetutil/EthernetHeader.h", line 196: Warning: EthernetHeader::print hides the virtual function PacketElement::print(int) const. "libnetutil/EthernetHeader.h", line 196: Warning: EthernetHeader::print hides the virtual function PacketElement::print() const. "libnetutil/ICMPv4Header.h", line 593: Warning: ICMPv4Header::print hides the virtual function PacketElement::print(int) const. "libnetutil/ICMPv4Header.h", line 593: Warning: ICMPv4Header::print hides the virtual function PacketElement::print() const. "libnetutil/ICMPv6Header.h", line 732: Warning: ICMPv6Header::print hides the virtual function PacketElement::print(int) const. "libnetutil/ICMPv6Header.h", line 732: Warning: ICMPv6Header::print hides the virtual function PacketElement::print() const. "libnetutil/IPv4Header.h", line 283: Warning: IPv4Header::print hides the virtual function PacketElement::print(int) const. "libnetutil/IPv4Header.h", line 283: Warning: IPv4Header::print hides the virtual function PacketElement::print() const. "libnetutil/IPv4Header.h", line 283: Warning: IPv4Header::getNextHeader hides the virtual function NetworkLayerElement::getNextHeader(). "libnetutil/IPv4Header.h", line 283: Warning: IPv4Header::getDestinationAddress hides the virtual function NetworkLayerElement::getDestinationAddress(). "libnetutil/IPv4Header.h", line 283: Warning: IPv4Header::getSourceAddress hides the virtual function NetworkLayerElement::getSourceAddress(). "libnetutil/IPv4Header.h", line 283: Warning: IPv4Header::getAddressLength hides the virtual function NetworkLayerElement::getAddressLength(). "libnetutil/IPv6Header.h", line 235: Warning: IPv6Header::print hides the virtual function PacketElement::print(int) const. "libnetutil/IPv6Header.h", line 235: Warning: IPv6Header::print hides the virtual function PacketElement::print() const. "libnetutil/IPv6Header.h", line 235: Warning: IPv6Header::getNextHeader hides the virtual function NetworkLayerElement::getNextHeader(). "libnetutil/IPv6Header.h", line 235: Warning: IPv6Header::getSourceAddress hides the virtual function NetworkLayerElement::getSourceAddress(). "libnetutil/IPv6Header.h", line 235: Warning: IPv6Header::getDestinationAddress hides the virtual function NetworkLayerElement::getDestinationAddress(). "libnetutil/IPv6Header.h", line 235: Warning: IPv6Header::getAddressLength hides the virtual function NetworkLayerElement::getAddressLength(). "libnetutil/RawData.h", line 153: Warning: RawData::print hides the virtual function PacketElement::print(int) const. "libnetutil/RawData.h", line 153: Warning: RawData::print hides the virtual function PacketElement::print() const. "libnetutil/TCPHeader.h", line 322: Warning: TCPHeader::print hides the virtual function PacketElement::print(int) const. "libnetutil/TCPHeader.h", line 322: Warning: TCPHeader::print hides the virtual function PacketElement::print() const. "libnetutil/UDPHeader.h", line 189: Warning: UDPHeader::print hides the virtual function PacketElement::print(int) const. "libnetutil/UDPHeader.h", line 189: Warning: UDPHeader::print hides the virtual function PacketElement::print() const. "libnetutil/HopByHopHeader.h", line 185: Warning: HopByHopHeader::print hides the virtual function PacketElement::print(int) const. "libnetutil/HopByHopHeader.h", line 185: Warning: HopByHopHeader::print hides the virtual function PacketElement::print() const. "libnetutil/FragmentHeader.h", line 176: Warning: FragmentHeader::print hides the virtual function PacketElement::print(int) const. "libnetutil/FragmentHeader.h", line 176: Warning: FragmentHeader::print hides the virtual function PacketElement::print() const. "libnetutil/RoutingHeader.h", line 239: Warning: RoutingHeader::print hides the virtual function PacketElement::print(int) const. "libnetutil/RoutingHeader.h", line 239: Warning: RoutingHeader::print hides the virtual function PacketElement::print() const. "portreasons.h", line 197: Warning: Identifier expected instead of "}". "osscan.cc", line 907: Error: Could not find a match for std::list<const FingerTest*>::sort(bool(const FingerTest*,const FingerTest*)) needed in mergeFPs(FingerPrint**, int, bool, const sockaddr_storage*, int, dist_calc_method, const unsigned char*, int, int, int, bool). 1 Error(s) and 40 Warning(s) detected. To be honest I had not seen nmap compile on a recent Solaris in years and it can't hurt to try. What I saw was a collection of very similar errors : "output.cc", line 823: Error: Could not find a match for std::list<ScriptResult>::sort(bool(ScriptResult,ScriptResult)) needed in printportoutput(Target*, PortList*). "output.cc", line 2214: Error: Could not find a match for std::list<ScriptResult>::sort(bool(ScriptResult,ScriptResult)) needed in printscriptresults(std::list<ScriptResult>*, stype). "output.cc", line 2239: Error: Could not find a match for std::list<ScriptResult>::sort(bool(ScriptResult,ScriptResult)) needed in printhostscriptresults(Target*). 3 Error(s) and 41 Warning(s) detected. "service_scan.cc", line 1205: Error: The function "find" must have a prototype. For now I can look past the 1377 warnings :-P mimas# grep -c "Warning" ../nmap-6.47_SunOS5.10_sparcv9.001.build.log 1377 My real focus is on these three source files : mimas# grep "Error" ../nmap-6.47_SunOS5.10_sparcv9.001.build.log | grep "line" | cut -f2 -d\" | sort -u osscan.cc output.cc service_scan.cc I am willing to bet that sort out this trivial issue at line 904 of osscan.cc will have a ripple effect on the other two source files : 905 /* Put the tests in the proper order and ensure that tests with 906 * identical names are contiguous. */ 907 tests.sort(FingerTest_lessthan); Yes I re-wrapped the comment to be within 72-chars. Pedantic I know but this is a Solaris user here. We can be sort of odd. So anyone have any thoughts on what the issue is here or has seen nmap build on recent Solaris ? Dennis ps: If the only answer I get is "try recent gcc" then I may scream. I'll try it of course. _______________________________________________ Sent through the dev mailing list http://nmap.org/mailman/listinfo/dev Archived at http://seclists.org/nmap-dev/
Current thread:
- Has anyone seen nmap compile and work on Solaris lately ? dev (Dec 16)