[openssl-users] is 1.0.2g meant to be buildable ? missing rc4_md5_enc implementation !

Jason Vas Dias jason.vas.dias at gmail.com
Wed Apr 6 20:58:45 UTC 2016


Aha! I just saw rc4-md5-x86_64.pl - am I meant to run this manually to
produce the ASM
to compile to produce the object ? Why wasn't this run as part of the build ?
I am building with perl-5.22.1 , gcc-5.3.0, make-4.1 on Linux x86_64 LFS .


On 06/04/2016, Jason Vas Dias <jason.vas.dias at gmail.com> wrote:
> please can anyone tell me:
> Is the 1.0.2g release from :
>    http://www.openssl.org/source/openssl-1.0.2g.tar.gz
> meant to build ? Is this meant to be the latest stable release , or is
> that 1.0.1s ?
> The 1.0.2g release does not build, for the linux-x86_64:gcc 'threads
> shared' configuration
> (or any other AFAICS) because it lacks an implementation of
> rc4_md4_enc() - there
> are calls to it in crypto/evp/e_rc4_hmac_md5.c , but no definition of it :
>
> $ grep -RIn --include '*.[ch]' rc4_md5_enc
> crypto/evp/e_rc4_hmac_md5.c:80:void rc4_md5_enc(RC4_KEY *key, const
> void *in0, void *out,
> crypto/evp/e_rc4_hmac_md5.c:144:            rc4_md5_enc(&key->ks, in +
> rc4_off, out + rc4_off,
> crypto/evp/e_rc4_hmac_md5.c:188:            rc4_md5_enc(&key->ks, in +
> rc4_off, out + rc4_off,
> $ make
> ...
> $ ( LIBDEPS="${LIBDEPS:--L.. -lssl  -L.. -lcrypto }";
> LDCMD="${LDCMD:-gcc}"; LDFLAGS="${LDFLAGS:--DOPENSSL_THREADS
> -march=x86-64 -mtune=native -O2 -g -fPIC -pipe }"; LIBPATH=`for x in
> $LIBDEPS; do echo $x; done | sed -e 's/^ *-L//;t' -e d | uniq`;
> LIBPATH=`echo $LIBPATH | sed -e 's/ /:/g'`; set -x;
> LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH ${LDCMD} ${LDFLAGS} -o
> ${APPNAME:=openssl} openssl.o verify.o asn1pars.o req.o dgst.o dh.o
> dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o
> rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o
> gendsa.o genpkey.o s_server.o s_client.o speed.o s_time.o apps.o
> s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o
> pkcs12.o pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o
> rand.o engine.o ocsp.o prime.o ts.o srp.o ${LIBDEPS} )
> + LD_LIBRARY_PATH=..:
> + gcc -DOPENSSL_THREADS -march=x86-64 -mtune=native -O2 -g -fPIC -pipe
> -o openssl openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o
> enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o
> rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o
> genpkey.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o
> s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o
> pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o
> engine.o ocsp.o prime.o ts.o srp.o -L.. -lssl -L.. -lcrypto
> ../libcrypto.a(e_rc4_hmac_md5.o): In function `rc4_hmac_md5_cipher':
> /usr/build/linux/openssl-1.0.2g/crypto/evp/e_rc4_hmac_md5.c:144:
> undefined reference to `rc4_md5_enc'
> /usr/build/linux/openssl-1.0.2g/crypto/evp/e_rc4_hmac_md5.c:188:
> undefined reference to `rc4_md5_enc'
> collect2: error: ld returned 1 exit status
>
> ie. the make fails because nowhere in any library or object file is
> that function defined -
> I have checked this with nm .
>
> I guess my answer is that ! should be building 1.0.1s ?
>


More information about the openssl-users mailing list