It has been quite a while since I worked with OpenSSL and the first time
I have experienced a build failure.
This is some of the system info:
uname -a
Linux jdblt1 4.19.0-22-amd64 #1 SMP Debian 4.19.260-1 (2022-09-29)
thx86_64 GNU/Linux
The following is the output from the configure and make.
+ ./Configure --prefix=/opt/openssl --openssldir=/usr/local/ssl
Configuring OpenSSL version 3.0.7 for target linux-x86_64
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
Created Makefile
Created include/openssl/configuration.h
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL.md file first) ***
*** ***
**********************************************************************
+ make
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/crypto/bn_conf.h.in > include/crypto/bn_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/crypto/dso_conf.h.in > include/crypto/dso_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/asn1.h.in > include/openssl/asn1.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/asn1t.h.in > include/openssl/asn1t.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/bio.h.in > include/openssl/bio.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/cmp.h.in > include/openssl/cmp.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/cms.h.in > include/openssl/cms.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/conf.h.in > include/openssl/conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/crmf.h.in > include/openssl/crmf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/crypto.h.in > include/openssl/crypto.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/ct.h.in > include/openssl/ct.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/err.h.in > include/openssl/err.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/ess.h.in > include/openssl/ess.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/fipskey.h.in > include/openssl/fipskey.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/lhash.h.in > include/openssl/lhash.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/ocsp.h.in > include/openssl/ocsp.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/opensslv.h.in > include/openssl/opensslv.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/pkcs12.h.in > include/openssl/pkcs12.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/pkcs7.h.in > include/openssl/pkcs7.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/safestack.h.in > include/openssl/safestack.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/srp.h.in > include/openssl/srp.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/ssl.h.in > include/openssl/ssl.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/ui.h.in > include/openssl/ui.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/x509.h.in > include/openssl/x509.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/x509_vfy.h.in > include/openssl/x509_vfy.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
include/openssl/x509v3.h.in > include/openssl/x509v3.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" "-oMakefile"
test/provider_internal_test.cnf.in > test/provider_internal_test.cnf
make depend && make _build_sw
make[1]: Entering directory '/home/jboxall/OpenSSL/openssl-3.0.7'
make[1]: Leaving directory '/home/jboxall/OpenSSL/openssl-3.0.7'
make[1]: Entering directory '/home/jboxall/OpenSSL/openssl-3.0.7'
gcc -I. -Iinclude -Iapps/include -fPIC -pthread -m64 -Wa,--noexecstack
-Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC
-DOPENSSLDIR="\"/usr/local/ssl\""
-DENGINESDIR="\"/opt/openssl/lib64/engines-3\""
-DMODULESDIR="\"/opt/openssl/lib64/ossl-modules\""
-DOPENSSL_BUILDING_OPENSSL -DNDEBUG -MMD -MF
apps/lib/libapps-lib-app_libctx.d.tmp -MT
apps/lib/libapps-lib-app_libctx.o -c -o
apps/lib/libapps-lib-app_libctx.o apps/lib/app_libctx.c
In file included from
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/syslimits.h:7,
from
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/limits.h:34,
from include/openssl/types.h:14,
from apps/include/app_libctx.h:13,
from apps/lib/app_libctx.c:9:
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/limits.h:194:15: fatal
error: limits.h: No such file or directory
#include_next <limits.h> /* recurse down to the real one */
^~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:4256: apps/lib/libapps-lib-app_libctx.o] Error 1
make[1]: Leaving directory '/home/jboxall/OpenSSL/openssl-3.0.7'
make: *** [Makefile:3223: build_sw] Error 2
+ echo 'Press the <ENTER> key to continue or the <CTRL> + <C> keys to exit.'
Press the <ENTER> key to continue or the <CTRL> + <C> keys to exit.
+ read NOTHING
+ make test
make depend && make _tests
make[1]: Entering directory '/home/jboxall/OpenSSL/openssl-3.0.7'
make[1]: Leaving directory '/home/jboxall/OpenSSL/openssl-3.0.7'
make[1]: Entering directory '/home/jboxall/OpenSSL/openssl-3.0.7'
/usr/bin/perl apps/progs.pl "-C" "apps/openssl" > apps/progs.c
/usr/bin/perl apps/progs.pl "-H" "apps/openssl" > apps/progs.h
gcc -Iapps -I. -Iinclude -Iapps/include -pthread -m64
-Wa,--noexecstack -Wall -O3 -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -MMD
-MF apps/lib/openssl-bin-cmp_mock_srv.d.tmp -MT
apps/lib/openssl-bin-cmp_mock_srv.o -c -o
apps/lib/openssl-bin-cmp_mock_srv.o apps/lib/cmp_mock_srv.c
In file included from
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/syslimits.h:7,
from
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/limits.h:34,
from ./e_os.h:13,
from apps/include/apps.h:13,
from apps/lib/cmp_mock_srv.c:11:
/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/limits.h:194:15: fatal
error: limits.h: No such file or directory
#include_next <limits.h> /* recurse down to the real one */
^~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:21620: apps/lib/openssl-bin-cmp_mock_srv.o] Error 1
make[1]: Leaving directory '/home/jboxall/OpenSSL/openssl-3.0.7'
make: *** [Makefile:3261: tests] Error 2
The file in question clearly exists:
ls -l /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed/
total 16
-rw-r--r-- 1 root root 6089 Apr 6 2019 limits.h
-rw-r--r-- 1 root root 750 Apr 6 2019 README
-rw-r--r-- 1 root root 330 Apr 6 2019 syslimits.h
I have attached a file with the dump of the config data.
I would appreciate any recommendations on how to resolve the error or
other information to provide.
--
Regards,
John Boxall
Command line (with current working directory = .):
/usr/bin/perl ./Configure --prefix=/opt/openssl --openssldir=/usr/local/ssl --debug
Perl information:
/usr/bin/perl
5.28.1 for x86_64-linux-gnu-thread-multi
Enabled features:
afalgeng
aria
asm
async
autoalginit
autoerrinit
autoload-config
bf
blake2
bulk
cached-fetch
camellia
capieng
cast
chacha
cmac
cmp
cms
comp
ct
deprecated
des
dgram
dh
dsa
dso
dtls
dynamic-engine
ec
ec2m
ecdh
ecdsa
engine
err
filenames
gost
idea
legacy
loadereng
makedepend
md4
mdc2
module
multiblock
nextprotoneg
ocb
ocsp
padlockeng
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
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:
acvp-tests [cascade] OPENSSL_NO_ACVP_TESTS
asan [default] OPENSSL_NO_ASAN
buildtest-c++ [default]
crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
devcryptoeng [default] OPENSSL_NO_DEVCRYPTOENG
ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
egd [default] OPENSSL_NO_EGD
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
md2 [default] OPENSSL_NO_MD2 (skip crypto/md2)
msan [default] OPENSSL_NO_MSAN
rc5 [default] OPENSSL_NO_RC5 (skip crypto/rc5)
sctp [default] OPENSSL_NO_SCTP
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 =
ARFLAGS =
AS =
ASFLAGS =
BUILDFILE =
CC =
CFLAGS =
CPP =
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CROSS_COMPILE =
CXX =
CXXFLAGS =
HASHBANGPERL =
LD =
LDFLAGS =
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 = gcc
CFLAGS = -Wall -O0 -g
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CXX = g++
CXXFLAGS = -Wall -O0 -g
HASHBANGPERL = /usr/bin/env perl
LDFLAGS =
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