Compilation issue with 1.1.1k version
Matt Caswell
matt at openssl.org
Wed Apr 7 19:04:54 UTC 2021
On 07/04/2021 20:02, Boris Shpoungin wrote:
> In my sources there is no definition for that macro, this is the problem:
>
> user at ubuntu_dev_vm:~/tools/openssl/1.1.1k$ grep -HRn 'set_sys_error' .
> ./crypto/err/err.c:259: set_sys_error(saveerrno);
> ./crypto/err/err.c:750: set_sys_error(saveerrno);
> ./crypto/err/err.c:784: set_sys_error(saveerrno);
> ./crypto/dso/dso_dlfcn.c:126: set_sys_error(saveerrno);
Seems you have corrupt sources. For me:
$ grep -HRn 'set_sys_error'
crypto/err/err.c:259: set_sys_error(saveerrno);
crypto/err/err.c:750: set_sys_error(saveerrno);
crypto/err/err.c:784: set_sys_error(saveerrno);
crypto/dso/dso_dlfcn.c:126: set_sys_error(saveerrno);
e_os.h:77:# define set_sys_error(e) errno=(e)
e_os.h:95:# undef set_sys_error
e_os.h:98:# define set_sys_error(e) SetLastError(e)
Matt
>
> Any idea why?
> Thanks
>
> On Wednesday, April 7, 2021, 02:39:46 PM EDT, Matt Caswell
> <matt at openssl.org> wrote:
>
>
>
>
> 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
More information about the openssl-users
mailing list