Aha! Configure-ing with 'no-asm' fixed it. Apparently, my perl-5.22.1 installation is lacking in some way . I'm surprised the make script did not complain that it could not generate the ASM before attempting to build openssl using the deficient libcrypto . Regards, Jason On 06/04/2016, Jason Vas Dias <jason.vas.dias at gmail.com> wrote: > Thanks Jakob - > But running the rc4-x86_64.pl script, even if by a Makefile, does not > define > the function either : > > $ ./rc4-x86_64.pl > ../rc4-md5-x86_64.s > $ cd .. > $ as -o rc4-md5-x86_64.o rc4-md5-x86_64.s > $ nm rc4-md5-x86_64.o > U OPENSSL_ia32cap_P > 0000000000000000 T RC4 > 0000000000000720 T RC4_options > 0000000000000660 T private_RC4_set_key > > Do I need to pass 'no-asm' to Configure ? > > The Configure command I used was : > > $ LIBDIR=/usr/lib64 ./Configure --prefix=/usr threads shared > linux-x86_64:gcc $CFLAGS_64 2>&1 | tee configure.log > > configure.log attached. > > And I did run 'make depend' - log attached. > > I used the command: > > $ make -j4 2>&1 | tee make.log > > to build OpenSSL and there is no occurence of the text ' rc4-x86_64' > anywhere in > that (v.large) log file , indicating no attempt was made to generate > ASM for x86_64 ? > > Please, for practical everyday use, what is the latest / best stable OpenSSL > ? > 1.0.1s or 1.0.2g ? > > The last one I used extensively was 1.0.1g - but I'd like to build the > latest stable release now. > > Thanks & Regards, Jason > > > > On 06/04/2016, Jakob Bohm <jb-openssl at wisemo.com> wrote: >> No, that script is run by the Makefile if relevant. >> >> Given what others have reported recently, please check >> what arguments you passed to config or configure (before >> running make). >> >> Also remember to do make depend. >> >> On 06/04/2016 22:58, Jason Vas Dias wrote: >>> 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 ? >>>> >> >> >> Enjoy >> >> Jakob >> -- >> Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com >> Transformervej 29, 2860 S?borg, Denmark. Direct +45 31 13 16 10 >> This public discussion message is non-binding and may contain errors. >> WiseMo - Remote Service Management for PCs, Phones and Embedded >> >> -- >> openssl-users mailing list >> To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users >> >