On 07/04/2021 19:31, Boris Shpoungin via openssl-users wrote:
Hello,
I am using cross compiler toolchain (arm-hisiv200-linux-gnueabi) to
compile openssl library for arm based custom board.
I had no problems to compile version 1.1.1a, however I am having
troubles to compile versions 1.1.1i and 1.1.1k:
${LDCMD:-arm-hisiv200-linux-gnueabi-gcc} -pthread -Wa,--noexecstack
-Wall -O3 -L. \
-o apps/openssl apps/asn1pars.o apps/ca.o apps/ciphers.o apps/cms.o
apps/crl.o apps/crl2p7.o apps/dgst.o apps/dhparam.o apps/dsa.o
apps/dsaparam.o apps/ec.o apps/ecparam.o apps/enc.o apps/engine.o
apps/errstr.o apps/gendsa.o apps/genpkey.o apps/genrsa.o apps/nseq.o
apps/ocsp.o apps/openssl.o apps/passwd.o apps/pkcs12.o apps/pkcs7.o
apps/pkcs8.o apps/pkey.o apps/pkeyparam.o apps/pkeyutl.o apps/prime.o
apps/rand.o apps/rehash.o apps/req.o apps/rsa.o apps/rsautl.o
apps/s_client.o apps/s_server.o apps/s_time.o apps/sess_id.o
apps/smime.o apps/speed.o apps/spkac.o apps/srp.o apps/storeutl.o
apps/ts.o apps/verify.o apps/version.o apps/x509.o \
apps/libapps.a -lssl -lcrypto -ldl -pthread
./libcrypto.so: undefined reference to `set_sys_error'
collect2: ld returned 1 exit status
Makefile:6271: recipe for target 'apps/openssl' failed
make[1]: *** [apps/openssl] Error 1
make[1]: Leaving directory '/home/bshpungin/tools/openssl/1.1.1k'
Makefile:174: recipe for target 'all' failed
make: *** [all] Error 2
Can anyone advise what could be the problem and where set_sys_error
function/macro is defined?
It's a macro defined in the file e_os.h:
# define set_sys_error(e) errno=(e)
It's only used in 2 files(crypto/dso/dso_dlfcn.c and crypto/err/err.c),
both of which directly include e_os.h. It's quite strange that the
definition of the macro is not being picked up.
Matt
Thanks
Robert