Opened 2 years ago

Last modified 2 years ago

#65087 assigned defect

libcryptopp @8.6.0+universal: Undefined symbols

Reported by: sudheerhebbale (Sudheer Hebbale) Owned by: raphael-st (Raphael Straub)
Priority: Normal Milestone:
Component: ports Version:
Keywords: monterey Cc:
Port: libcryptopp

Description (last modified by ryandesign (Ryan Carsten Schmidt))

OS MacOS Monterey 12.2.1

This happens with the command sudo port install libcryptopp +universal

and universal_archs arm64 x86_64 set in /opt/local/etc/macports/macports.conf

:info:build /usr/bin/clang++ -dynamiclib -o libcryptopp.dylib -DCRYPTOPP_DISABLE_ASM -fPIC -pthread -fno-common -pipe -arch arm64 -arch   x86_64 -DNDEBUG -install_name "/opt/local/lib/libcryptopp.dylib" -current_version "8.6.0" -compatibility_version "8.6" -                  headerpad_max_install_names  cryptlib.o cpu.o integer.o 3way.o adler32.o algebra.o algparam.o allocate.o arc4.o aria.o aria_simd.o        ariatab.o asn.o authenc.o base32.o base64.o basecode.o bfinit.o blake2.o blake2b_simd.o blake2s_simd.o blowfish.o blumshub.o camellia.o   cast.o casts.o cbcmac.o ccm.o chacha.o chacha_avx.o chacha_simd.o chachapoly.o cham.o cham_simd.o channels.o cmac.o crc.o crc_simd.o darn.o default.o des.o dessp.o dh.o dh2.o dll.o donna_32.o donna_64.o donna_sse.o dsa.o eax.o ec2n.o eccrypto.o ecp.o elgamal.o emsa2.o        eprecomp.o esign.o files.o filters.o fips140.o fipstest.o gcm.o gcm_simd.o gf256.o gf2_32.o gf2n.o gf2n_simd.o gfpcrypt.o gost.o gzip.o   hc128.o hc256.o hex.o hight.o hmac.o hrtimer.o ida.o idea.o iterhash.o kalyna.o kalynatab.o keccak.o keccak_core.o keccak_simd.o lea.o    lea_simd.o lsh256.o lsh256_avx.o lsh256_sse.o lsh512.o lsh512_avx.o lsh512_sse.o luc.o mars.o marss.o md2.o md4.o md5.o misc.o modes.o    mqueue.o mqv.o nbtheory.o oaep.o osrng.o padlkrng.o panama.o pkcspad.o poly1305.o polynomi.o pssr.o pubkey.o queue.o rabbit.o rabin.o     randpool.o rc2.o rc5.o rc6.o rdrand.o rdtables.o rijndael.o rijndael_simd.o ripemd.o rng.o rsa.o rw.o safer.o salsa.o scrypt.o seal.o     seed.o serpent.o sha.o sha3.o sha_simd.o shacal2.o shacal2_simd.o shake.o shark.o sharkbox.o simeck.o simon.o simon128_simd.o skipjack.o  sm3.o sm4.o sm4_simd.o sosemanuk.o speck.o speck128_simd.o square.o squaretb.o sse_simd.o strciphr.o tea.o tftables.o threefish.o tiger.o tigertab.o ttmac.o tweetnacl.o twofish.o vmac.o wake.o whrlpool.o xed25519.o xtr.o xtrcrypt.o xts.o zdeflate.o zinflate.o zlib.o
:info:build Undefined symbols for architecture arm64:
:info:build   "CryptoPP::CPU_ProbeNEON()", referenced from:
:info:build       CryptoPP::DetectArmFeatures() in cpu.o
:info:build   "CryptoPP::CPU_ProbeARMv7()", referenced from:
:info:build       CryptoPP::DetectArmFeatures() in cpu.o
:info:build ld: symbol(s) not found for architecture arm64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build gnumake: *** [libcryptopp.dylib] Error 1
:info:build gnumake: *** Waiting for unfinished jobs....
:info:build gnumake: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.                     org_macports_release_tarballs_ports_devel_libcryptopp/libcryptopp/work/cryptopp860'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.                            org_macports_release_tarballs_ports_devel_libcryptopp/libcryptopp/work/cryptopp860" && /usr/bin/gnumake -j10 -w dynamic static cryptest.  exe CXX=/usr/bin/clang++ PREFIX=/opt/local
:info:build Exit code: 2
:error:build Failed to build libcryptopp: command execution failed
:debug:build Error code: CHILDSTATUS 83436 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec -callback portprogress::target_progress_callback build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.

Attachments (1)

main.log (45.3 KB) - added by sudheerhebbale (Sudheer Hebbale) 2 years ago.

Download all attachments as: .zip

Change History (5)

Changed 2 years ago by sudheerhebbale (Sudheer Hebbale)

Attachment: main.log added

comment:1 Changed 2 years ago by sudheerhebbale (Sudheer Hebbale)

Description: modified (diff)

comment:2 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: monterey arm64 added; undefined symbol removed
Owner: set to raphael-st
Priority: HighNormal
Status: newassigned
Summary: Unable to build libcryptopp in arm64 (mac book pro m1), following error log gets generatedlibcryptopp @8.6.0: Undefined symbols

comment:3 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: arm64 removed
Summary: libcryptopp @8.6.0: Undefined symbolslibcryptopp @8.6.0+universal: Undefined symbols

comment:4 Changed 2 years ago by raphael-st (Raphael Straub)

According to Crypto++'s universal build instructions the muniversal port group could be the solution. The problem I have now is to figure out how to add the current build architecture to the CXXFLAGS environment variable. [get_canonical_archflags cxx] returns all universal architectures at once and [muniversal_get_arch_flag ${muniversal.current_arch}] does not work.

Note: See TracTickets for help on using tickets.