community
community copied to clipboard
pcapplusplus/20.08: Fails to build for Apple Silicon (MacOS arm64 / armv8)
trafficstars
Package and Environment Details (include every applicable attribute)
- Package Name/Version: pcapplusplus/20.08
- Operating System+version: MacOS 10.15.4
- Compiler+version: apple-clang 12.0
- Conan version: conan 1.33.0
- Python version: Python 3.8.2
Conan profile
[settings]
arch=armv8
arch_build=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=12.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]
Steps to reproduce (Include if Applicable)
Try to build pcapplusplus for Apple Silicon (armv8) by executing :
conan create . pcapplusplus/20.08@_/_ -s arch=armv8
The build fails with error :
Building MemPlumber file: /Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
ld: warning: ignoring file /Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.o, building for macOS-arm64 but attempting to link with file built for unknown-x86_64
ld: archive has no table of contents file '/Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6/PcapPlusPlus/Dist/libPcap++.a' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Packet++Test] Error 1
make: *** [all] Error 2
Logs (Include/Attach if Applicable)
Click to expand log
% conan create . pcapplusplus/20.08@_/_ -s arch=armv8
Exporting package recipe
pcapplusplus/20.08: The stored package has not changed
pcapplusplus/20.08: Using the exported files summary hash as the recipe revision: 323f0ca43a94aa601f3adc2f587cf734
pcapplusplus/20.08: Exported revision: 323f0ca43a94aa601f3adc2f587cf734
Configuration:
[settings]
arch=armv8
arch_build=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=12.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]
pcapplusplus/20.08: Forced build from source
pcapplusplus/20.08 (test package): Installing package
Requirements
libpcap/1.9.1 from 'conan-center' - Cache
pcapplusplus/20.08 from local cache - Cache
Packages
libpcap/1.9.1:7b8b196c47239f5695ebed7ed9703735daae3490 - Cache
pcapplusplus/20.08:b6730b15773cec23502955cac3d6c9a6d5bf1bf6 - Build
Cross-build from 'Macos:x86_64' to 'Macos:armv8'
Installing (downloading, building) binaries...
libpcap/1.9.1: Already installed!
pcapplusplus/20.08: WARN: Build folder is dirty, removing it: /Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6
pcapplusplus/20.08: Copying sources to build folder
pcapplusplus/20.08: Building your package in /Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6
pcapplusplus/20.08: Generator visual_studio created conanbuildinfo.props
pcapplusplus/20.08: Generator make created conanbuildinfo.mak
pcapplusplus/20.08: Calling build()
*******************************************
PcapPlusPlus Mac OS X configuration script
*******************************************
Number of arguments: 4
PcapPlusPlus configuration is complete. Files created (or modified): mk/platform.mk, mk/PcapPlusPlus.mk, mk/install.sh, mk/uninstall.sh
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
==> Building target: Common++
Building file: src/GeneralUtils.cpp
Building file: src/IpAddress.cpp
Building file: src/IpUtils.cpp
Building file: src/Logger.cpp
Building file: src/MacAddress.cpp
Building file: src/PcapPlusPlusVersion.cpp
Building file: src/SystemUtils.cpp
Building file: src/TablePrinter.cpp
ar: ar: creating archive Lib/Release/libCommon++.a
creating archive Lib/Debug/libCommon++.a
Finished successfully building: Common++.lib
Finished successfully building: Common++.debug
==> Building target: Packet++
Building file: src/ArpLayer.cpp
Building file: src/BgpLayer.cpp
Building file: src/DhcpLayer.cpp
Building file: src/DnsLayer.cpp
Building file: src/DnsResource.cpp
Building file: src/DnsResourceData.cpp
Building file: src/EthDot3Layer.cpp
Building file: src/EthLayer.cpp
Building file: src/GreLayer.cpp
Building file: src/GtpLayer.cpp
Building file: src/HttpLayer.cpp
Building file: src/IPReassembly.cpp
Building file: src/IPv4Layer.cpp
Building file: src/IPv6Extensions.cpp
Building file: src/IPv6Layer.cpp
Building file: src/IcmpLayer.cpp
Building file: src/IgmpLayer.cpp
Building file: src/Layer.cpp
Building file: src/MplsLayer.cpp
Building file: src/NullLoopbackLayer.cpp
Building file: src/PPPoELayer.cpp
Building file: src/Packet.cpp
Building file: src/PacketTrailerLayer.cpp
Building file: src/PacketUtils.cpp
Building file: src/PayloadLayer.cpp
Building file: src/RadiusLayer.cpp
Building file: src/RawPacket.cpp
Building file: src/SSLHandshake.cpp
Building file: src/SSLLayer.cpp
Building file: src/SdpLayer.cpp
Building file: src/SipLayer.cpp
Building file: src/SllLayer.cpp
Building file: src/TLVData.cpp
Building file: src/TcpLayer.cpp
Building file: src/TcpReassembly.cpp
Building file: src/TextBasedProtocol.cpp
Building file: src/UdpLayer.cpp
Building file: src/VlanLayer.cpp
Building file: src/VxlanLayer.cpp
ar: creating archive Lib/libPacket++.a
Finished successfully building: Packet++
==> Building target: Pcap++
Building file: src/DpdkDevice.cpp
Building file: src/DpdkDeviceList.cpp
Building file: src/KniDevice.cpp
Building file: src/KniDeviceList.cpp
Building file: src/LinuxNicInformationSocket.cpp
Building file: src/MBufRawPacket.cpp
Building file: src/NetworkUtils.cpp
Building file: src/PcapDevice.cpp
Building file: src/PcapFileDevice.cpp
Building file: src/PcapFilter.cpp
Building file: src/PcapLiveDevice.cpp
Building file: src/PcapLiveDeviceList.cpp
Building file: src/PcapRemoteDevice.cpp
Building file: src/PcapRemoteDeviceList.cpp
Building file: src/PfRingDevice.cpp
Building file: src/PfRingDeviceList.cpp
Building file: src/RawSocketDevice.cpp
Building file: src/WinPcapLiveDevice.cpp
Building file: LightPcapNg/src/light_advanced.c
Building file: LightPcapNg/src/light_alloc.c
Building file: LightPcapNg/src/light_compression.c
Building file: LightPcapNg/src/light_internal.c
Building file: LightPcapNg/src/light_io.c
Building file: LightPcapNg/src/light_manipulate.c
Building file: LightPcapNg/src/light_null_compression.c
Building file: LightPcapNg/src/light_option.c
Building file: LightPcapNg/src/light_pcapng.c
Building file: LightPcapNg/src/light_pcapng_cont.c
Building file: LightPcapNg/src/light_pcapng_ext.c
Building file: LightPcapNg/src/light_platform.c
Building file: LightPcapNg/src/light_zstd_compression.c
ar: creating archive Lib/libPcap++.a
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_advanced.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_alloc.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_compression.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_internal.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_io.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_manipulate.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_null_compression.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_option.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_pcapng.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_pcapng_cont.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_pcapng_ext.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_platform.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode_12.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: Lib/libPcap++.a(light_zstd_compression.o) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
Finished successfully building: Pcap++
Finished successfully building PcapPlusPlus libs
==== Building target: Packet++Test ====
Building file: Tests/BgpTests.cpp
Building file: Tests/DhcpTests.cpp
Building file: Tests/DnsTests.cpp
Building file: Tests/EthAndArpTests.cpp
Building file: Tests/GreTests.cpp
Building file: Tests/GtpTests.cpp
Building file: Tests/HttpTests.cpp
Building file: Tests/IPv4Tests.cpp
Building file: Tests/IPv6Tests.cpp
Building file: Tests/IcmpTests.cpp
Building file: Tests/IgmpTests.cpp
Building file: Tests/PPPoETests.cpp
Building file: Tests/PacketTests.cpp
Building file: Tests/RadiusTests.cpp
Building file: Tests/SSLTests.cpp
Building file: Tests/SipSdpTests.cpp
Building file: Tests/SllNullLoopbackTests.cpp
Building file: Tests/TcpTests.cpp
Building file: Tests/VlanMplsTests.cpp
Building file: Utils/TestUtils.cpp
Building file: main.cpp
Building MemPlumber file: /Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
ld: warning: ignoring file /Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.o, building for macOS-arm64 but attempting to link with file built for unknown-x86_64
ld: archive has no table of contents file '/Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6/PcapPlusPlus/Dist/libPcap++.a' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Packet++Test] Error 1
make: *** [all] Error 2
pcapplusplus/20.08:
pcapplusplus/20.08: ERROR: Package 'b6730b15773cec23502955cac3d6c9a6d5bf1bf6' build failed
pcapplusplus/20.08: WARN: Build folder /Users/cszigeti/.conan/data/pcapplusplus/20.08/_/_/build/b6730b15773cec23502955cac3d6c9a6d5bf1bf6
ERROR: pcapplusplus/20.08: Error in build() method, line 83
env_build.make()
ConanException: Error 2 while executing make -j16