openssl: Undefined symbol ___atomic_is_lock_free for armv7
Using the same script I used to compile OpenSSL 1.1.1L I can no longer compile for armv7 for iOS with OpenSSL 3.0.0. I can still compile for iOS on arm64 and x64.
Here’s what I’m using to reproduce the problem:
export CFLAGS='-arch armv7s -pipe -Os -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.5.sdk -mios-version-min=9.3 -miphoneos-version-min=9.3
export LDFLAGS='-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.5.sdk'
./configure -shared -no-ui-console -no-tests -no-stdio ios-xcrun
make -j 8
Here’s the error message:
Undefined symbols for architecture armv7:
"___atomic_is_lock_free", referenced from:
_CRYPTO_atomic_or in libcrypto-shlib-threads_pthread.o
_CRYPTO_atomic_load in libcrypto-shlib-threads_pthread.o
ld: symbol(s) not found for architecture armv7
Here’s the configuration data:
Command line (with current working directory = .):
perl ./Configure -shared -no-ui-console -no-tests -no-stdio ios-xcrun
Perl information:
perl
5.30.2 for darwin-thread-multi-2level
Enabled features:
aria
asm
autoalginit
autoerrinit
autoload-config
bf
blake2
bulk
cached-fetch
camellia
cast
chacha
cmac
cmp
cms
comp
ct
deprecated
des
dgram
dh
dsa
dso
dtls
ec
ec2m
ecdh
ecdsa
err
filenames
gost
idea
legacy
makedepend
md4
mdc2
module
multiblock
nextprotoneg
ocb
ocsp
pic
pinshared
poly1305
posix-io
psk
rc2
rc4
rdrand
rfc3779
rmd160
scrypt
secure-memory
seed
shared
siphash
siv
sm2
sm3
sm4
sock
srp
srtp
sse2
ssl
ssl-trace
static-engine
threads
tls
ts
whirlpool
tls1
tls1-method
tls1_1
tls1_1-method
tls1_2
tls1_2-method
tls1_3
dtls1
dtls1-method
dtls1_2
dtls1_2-method
Disabled features:
acvp-tests [cascade] OPENSSL_NO_ACVP_TESTS
afalgeng [cascade] OPENSSL_NO_AFALGENG
asan [default] OPENSSL_NO_ASAN
async [config] OPENSSL_NO_ASYNC
buildtest-c++ [default]
capieng [cascade] OPENSSL_NO_CAPIENG
crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
devcryptoeng [default] OPENSSL_NO_DEVCRYPTOENG
dynamic-engine [cascade]
ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
egd [default] OPENSSL_NO_EGD
engine [config] OPENSSL_NO_ENGINE (skip engines, crypto/engine)
external-tests [default] OPENSSL_NO_EXTERNAL_TESTS
fips [default]
fips-securitychecks [cascade] OPENSSL_NO_FIPS_SECURITYCHECKS
fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
ktls [default] OPENSSL_NO_KTLS
loadereng [cascade] OPENSSL_NO_LOADERENG
md2 [default] OPENSSL_NO_MD2 (skip crypto/md2)
msan [default] OPENSSL_NO_MSAN
padlockeng [cascade] OPENSSL_NO_PADLOCKENG
rc5 [default] OPENSSL_NO_RC5 (skip crypto/rc5)
sctp [default] OPENSSL_NO_SCTP
stdio [option] OPENSSL_NO_STDIO
tests [option] OPENSSL_NO_TESTS
trace [default] OPENSSL_NO_TRACE
ubsan [default] OPENSSL_NO_UBSAN
ui-console [option] OPENSSL_NO_UI_CONSOLE
unit-test [default] OPENSSL_NO_UNIT_TEST
uplink [no uplink_arch] OPENSSL_NO_UPLINK
weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS
zlib [default]
zlib-dynamic [default]
ssl3 [default] OPENSSL_NO_SSL3
ssl3-method [default] OPENSSL_NO_SSL3_METHOD
Config target attributes:
AR => "ar",
ARFLAGS => "qc",
CC => "xcrun -sdk iphoneos cc",
CFLAGS => "-O3",
HASHBANGPERL => "/usr/bin/env perl",
RANLIB => "ranlib -c",
RC => "windres",
asm_arch => "armv4",
bn_ops => "BN_LLONG RC4_CHAR",
build_file => "Makefile",
build_scheme => [ "unified", "unix" ],
cflags => "-arch armv7 -mios-version-min=6.0.0 -fno-common",
cppflags => "-D_REENTRANT",
defines => [ "OPENSSL_BUILDING_OPENSSL" ],
disable => [ "engine", "async" ],
dso_scheme => "dlfcn",
enable => [ ],
includes => [ ],
lflags => "-Wl,-search_paths_first",
lib_cflags => "",
lib_cppflags => "",
lib_defines => [ ],
module_cflags => "-fPIC",
module_cxxflags => undef,
module_ldflags => "-bundle",
perl_platform => "Unix",
perlasm_scheme => "ios32",
shared_cflag => "-fPIC",
shared_defines => [ ],
shared_extension => ".\$(SHLIB_VERSION_NUMBER).dylib",
shared_ldflag => "-dynamiclib -current_version \$(SHLIB_VERSION_NUMBER) -compatibility_version \$(SHLIB_VERSION_NUMBER)",
shared_rcflag => "",
shared_sonameflag => "-install_name \$(libdir)/",
shared_target => "darwin-shared",
sys_id => "iOS",
thread_defines => [ ],
thread_scheme => "pthreads",
unistd => "<unistd.h>",
Recorded environment:
AR =
ARFLAGS =
AS =
ASFLAGS =
BUILDFILE =
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
CFLAGS = -arch armv7s -pipe -Os -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.5.sdk -mios-version-min=9.3 -miphoneos-version-min=9.3
CPP =
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CROSS_COMPILE =
CXX =
CXXFLAGS =
HASHBANGPERL =
LD =
LDFLAGS = -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.5.sdk
LDLIBS =
MT =
MTFLAGS =
OPENSSL_LOCAL_CONFIG_DIR =
PERL =
RANLIB =
RC =
RCFLAGS =
RM =
WINDRES =
__CNF_CFLAGS =
__CNF_CPPDEFINES =
__CNF_CPPFLAGS =
__CNF_CPPINCLUDES =
__CNF_CXXFLAGS =
__CNF_LDFLAGS =
__CNF_LDLIBS =
Makevars:
AR = ar
ARFLAGS = qc
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
CFLAGS = -arch armv7s -pipe -Os -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.5.sdk -mios-version-min=9.3 -miphoneos-version-min=9.3
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CXXFLAGS =
HASHBANGPERL = /usr/bin/env perl
LDFLAGS = -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.5.sdk
LDLIBS =
PERL = perl
RANLIB = ranlib -c
RC = windres
RCFLAGS =
NOTE: These variables only represent the configuration view. The build file
template may have processed these variables further, please have a look at the
build file for more exact data:
Makefile
build file:
Makefile
build file templates:
Configurations/common0.tmpl
Configurations/unix-Makefile.tmpl
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 16 (12 by maintainers)
Maybe
-latomicis needed?