-
-
Notifications
You must be signed in to change notification settings - Fork 11.1k
Closed
Labels
resolved: fixedThis issue has been fixedThis issue has been fixedtriaged: bugThe issue/pr is/fixes a bugThe issue/pr is/fixes a bug
Description
I wanted to test that other software I build that relies on OpenSSL is not using deprecated functions. However, if I specify the "no-deprecated" flag to configure, the build fails.
Full configuration details:
perl configdata.pm --dump
Command line (with current working directory = .):
/usr/bin/perl ./Configure no-idea enable-ec_nistp_64_gcc_128 no-mdc2 no-rc5 no-egd no-deprecated -g --debug --prefix=/opt/symas/common --libdir=lib --openssldir=/opt/sym
as/common/etc/ssl shared linux-x86_64 -g -O0 -DOPENSSL_NO_HEARTBEATS
Perl information:
/usr/bin/perl
5.26.1 for x86_64-linux-gnu-thread-multi
Enabled features:
acvp_tests
aria
asm
async
autoalginit
autoerrinit
autoload-config
bf
blake2
bulk
camellia
cast
chacha
cmac
cmp
cms
comp
ct
des
dgram
dh
dsa
dso
dtls
ec
ec2m
ecdh
ecdsa
ec_nistp_64_gcc_128
err
filenames
fips
fips-securitychecks
gost
legacy
makedepend
md4
module
multiblock
nextprotoneg
pinshared
ocb
ocsp
pic
poly1305
posix-io
psk
rc2
rc4
rdrand
rfc3779
rmd160
scrypt
secure-memory
seed
shared
siphash
siv
sm2
sm3
sm4
sock
srp
srtp
sse2
ssl
static-engine
stdio
tests
threads
tls
ts
ui-console
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:
afalgeng [cascade] OPENSSL_NO_AFALGENG
asan [default] OPENSSL_NO_ASAN
buildtest-c++ [default]
capieng [cascade] OPENSSL_NO_CAPIENG
crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
deprecated [option] OPENSSL_NO_DEPRECATED
devcryptoeng [default] OPENSSL_NO_DEVCRYPTOENG
dynamic-engine [cascade]
egd [option] OPENSSL_NO_EGD
engine [cascade] OPENSSL_NO_ENGINE (skip crypto/engine)
external-tests [default] OPENSSL_NO_EXTERNAL_TESTS
fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
idea [option] OPENSSL_NO_IDEA (skip crypto/idea)
ktls [default] OPENSSL_NO_KTLS
md2 [default] OPENSSL_NO_MD2 (skip crypto/md2)
mdc2 [option] OPENSSL_NO_MDC2 (skip crypto/mdc2)
msan [default] OPENSSL_NO_MSAN
padlockeng [cascade] OPENSSL_NO_PADLOCKENG
rc5 [option] OPENSSL_NO_RC5 (skip crypto/rc5)
sctp [default] OPENSSL_NO_SCTP
ssl-trace [default] OPENSSL_NO_SSL_TRACE
trace [default] OPENSSL_NO_TRACE
ubsan [default] OPENSSL_NO_UBSAN
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 => "gcc",
CFLAGS => "-Wall -O0 -g",
CXX => "g++",
CXXFLAGS => "-Wall -O0 -g",
HASHBANGPERL => "/usr/bin/env perl",
RANLIB => "ranlib",
RC => "windres",
asm_arch => "x86_64",
bn_ops => "SIXTY_FOUR_BIT_LONG",
build_file => "Makefile",
build_scheme => [ "unified", "unix" ],
cflags => "-pthread -m64",
cppflags => "",
cxxflags => "-std=c++11 -pthread -m64",
defines => [ "OPENSSL_BUILDING_OPENSSL" ],
disable => [ ],
dso_ldflags => "-Wl,-z,defs",
dso_scheme => "dlfcn",
enable => [ "afalgeng" ],
ex_libs => "-ldl -pthread",
includes => [ ],
lflags => "",
lib_cflags => "",
lib_cppflags => "-DOPENSSL_USE_NODELETE -DL_ENDIAN",
lib_defines => [ ],
module_cflags => "-fPIC",
module_cxxflags => undef,
module_ldflags => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
multilib => "64",
perl_platform => "Unix",
perlasm_scheme => "elf",
shared_cflag => "-fPIC",
shared_defflag => "-Wl,--version-script=",
shared_defines => [ ],
shared_ldflag => "-Wl,-znodelete -shared -Wl,-Bsymbolic",
shared_rcflag => "",
shared_sonameflag => "-Wl,-soname=",
shared_target => "linux-shared",
thread_defines => [ ],
thread_scheme => "pthreads",
unistd => "<unistd.h>",
Recorded environment:
AR =
BUILDFILE =
CC =
CFLAGS = -g -fdebug-prefix-map=/home/build/git/symas-packages/thirdparty/openssl/build/UBUNTU18_64/symas-openssl=. -fstack-protector-strong -Wformat -Werror=format-security -O0
CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2
CROSS_COMPILE =
CXX =
CXXFLAGS = -g -O2 -fdebug-prefix-map=/home/build/git/symas-packages/thirdparty/openssl/build/UBUNTU18_64/symas-openssl=. -fstack-protector-strong -Wformat -Werror=format-security
HASHBANGPERL =
LDFLAGS = -Wl,-Bsymbolic-functions -Wl,-z,relro "-L/opt/symas/common/lib -R/opt/symas/common/lib -Wl,-rpath,/opt/symas/common/lib"
LDLIBS =
OPENSSL_LOCAL_CONFIG_DIR =
PERL =
RANLIB =
RC =
RCFLAGS =
WINDRES =
__CNF_CFLAGS =
__CNF_CPPDEFINES =
__CNF_CPPFLAGS =
__CNF_CPPINCLUDES =
__CNF_CXXFLAGS =
__CNF_LDFLAGS =
__CNF_LDLIBS =
Makevars:
AR = ar
ARFLAGS = qc
CC = gcc
CFLAGS = -g -fdebug-prefix-map=/home/build/git/symas-packages/thirdparty/openssl/build/UBUNTU18_64/symas-openssl=. -fstack-protector-strong -Wformat -Werror=format-security -O0 -g -g -O0
CPPDEFINES = OPENSSL_NO_HEARTBEATS
CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2
CPPINCLUDES =
CXX = g++
CXXFLAGS = -g -O2 -fdebug-prefix-map=/home/build/git/symas-packages/thirdparty/openssl/build/UBUNTU18_64/symas-openssl=. -fstack-protector-strong -Wformat -Werror=format-security -g -g -O0
HASHBANGPERL = /usr/bin/env perl
LDFLAGS = -Wl,-Bsymbolic-functions -Wl,-z,relro "-L/opt/symas/common/lib -R/opt/symas/common/lib -Wl,-rpath,/opt/symas/common/lib"
LDLIBS =
PERL = /usr/bin/perl
RANLIB = ranlib
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
Configurations/common.tmpl
Build fails with:
/usr/bin/perl ./util/mkdef.pl --ordinals util/providers.num --name providers/legacy --OS linux > providers/legacy.ld
gcc -fPIC -pthread -m64 -Wa,--noexecstack -g -fdebug-prefix-map=/home/build/git/symas-packages/thirdparty/openssl/build/UBUNTU18_64/symas-openssl=. -fstack-protector-strong -Wformat -Werror=format-security -O0 -g -g -O0 -L. -Wl,-z,defs -Wl,-znodelete -shared -Wl,-Bsymbolic -Wl,-Bsymbolic-functions -Wl,-z,relro "-L/opt/symas/common/lib -R/opt/symas/common/lib -Wl,-rpath,/opt/symas/common/lib" \
-o providers/legacy.so -Wl,--version-script=providers/legacy.ld \
providers/legacy-dso-legacyprov.o \
providers/liblegacy.a providers/libcommon.a providers/libnonfips.a -lcrypto -ldl -pthread
providers/liblegacy.a(liblegacy-lib-cipher_des.o): In function `des_generatekey':
./providers/implementations/ciphers/cipher_des.c:121: undefined reference to `DES_set_odd_parity'
providers/liblegacy.a(liblegacy-lib-cipher_des_hw.o): In function `cipher_hw_des_initkey':
./providers/implementations/ciphers/cipher_des_hw.c:37: undefined reference to `DES_set_key_unchecked'
providers/liblegacy.a(liblegacy-lib-cipher_des_hw.o): In function `cipher_hw_des_ecb_cipher':
./providers/implementations/ciphers/cipher_des_hw.c:60: undefined reference to `DES_ecb_encrypt'
providers/liblegacy.a(liblegacy-lib-cipher_des_hw.o): In function `cipher_hw_des_ofb64_cipher':
./providers/implementations/ciphers/cipher_des_hw.c:96: undefined reference to `DES_ofb64_encrypt'
./providers/implementations/ciphers/cipher_des_hw.c:102: undefined reference to `DES_ofb64_encrypt'
providers/liblegacy.a(liblegacy-lib-cipher_des_hw.o): In function `cipher_hw_des_cfb64_cipher':
./providers/implementations/ciphers/cipher_des_hw.c:118: undefined reference to `DES_cfb64_encrypt'
providers/liblegacy.a(liblegacy-lib-cipher_des_hw.o): In function `cipher_hw_des_cfb1_cipher':
./providers/implementations/ciphers/cipher_des_hw.c:147: undefined reference to `DES_cfb_encrypt'
providers/liblegacy.a(liblegacy-lib-cipher_des_hw.o): In function `cipher_hw_des_cfb8_cipher':
./providers/implementations/ciphers/cipher_des_hw.c:168: undefined reference to `DES_cfb_encrypt'
./providers/implementations/ciphers/cipher_des_hw.c:175: undefined reference to `DES_cfb_encrypt'
providers/liblegacy.a(liblegacy-lib-cipher_desx_hw.o): In function `cipher_hw_desx_cbc_initkey':
./providers/implementations/ciphers/cipher_desx_hw.c:33: undefined reference to `DES_set_key_unchecked'
providers/liblegacy.a(liblegacy-lib-cipher_desx_hw.o): In function `cipher_hw_desx_cbc':
./providers/implementations/ciphers/cipher_desx_hw.c:56: undefined reference to `DES_xcbc_encrypt'
./providers/implementations/ciphers/cipher_desx_hw.c:64: undefined reference to `DES_xcbc_encrypt'
providers/liblegacy.a(liblegacy-lib-cipher_tdes_common.o): In function `tdes_generatekey':
./providers/implementations/ciphers/cipher_tdes_common.c:115: undefined reference to `DES_set_odd_parity'
./providers/implementations/ciphers/cipher_tdes_common.c:117: undefined reference to `DES_set_odd_parity'
./providers/implementations/ciphers/cipher_tdes_common.c:119: undefined reference to `DES_set_odd_parity'
collect2: error: ld returned 1 exit status
Makefile:22816: recipe for target 'providers/legacy.so' failed
make[4]: *** [providers/legacy.so] Error 1
make[4]: Leaving directory '/home/build/git/symas-packages/thirdparty/openssl/build/UBUNTU18_64/symas-openssl'
Makefile:3149: recipe for target 'build_sw' failed
make[3]: *** [build_sw] Error 2
If I remove the no-deprecated flag, the build completes. It should be possible to build OpenSSL without enabling deprecated functions.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
resolved: fixedThis issue has been fixedThis issue has been fixedtriaged: bugThe issue/pr is/fixes a bugThe issue/pr is/fixes a bug