Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pcapplusplus/20.08: Fails to build for Apple Silicon (MacOS arm64 / armv8) #1371

Open
szigetics opened this issue Mar 3, 2021 · 0 comments
Labels

Comments

@szigetics
Copy link

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
@szigetics szigetics added the bug label Mar 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant