Type of Request: Bug Report
Operating System: AIX 5.2 OpenSSL Version: openssl-0.9.8a Problem (Bug): While in the "openssl-0.9.8a" directory, I typed the "./configure" command which was successful. Then I typed the "make" command and that's when the GCC compiler got hung and it never finished the compilation. There was even no compile errors of any sort. Then I noticed the problem on the compiler's output to the screen. --snip- making all in crypto/cast... gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c c_skey.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c c_ecb.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c c_enc.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c c_cfb64.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c c_ofb64.c ar r ../../libcrypto.a c_skey.o c_ecb.o c_enc.o c_cfb64.o c_ofb64.o /usr/bin/ranlib ../../libcrypto.a || echo Never mind. Target "all" is up to date. making all in crypto/bn... gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_add.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_div.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_exp.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_lib.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_ctx.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_mul.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_mod.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_print.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_rand.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_shift.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_word.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_blind.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_kron.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_sqrt.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_gcd.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_prime.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_err.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c bn_sqr.c gcc -I.. -I../.. -I../../include -DOPENSSL_THREADS -D_THREAD_SAFE -DDSO_DLFCN -DHAVE_DLFCN_H -O -DB_ENDIAN -c -o aix_ppc32.o aix_ppc32.s --snip- What I noticed is the "-c -o aix_ppc32.o aix_ppc32.s" at the very bottom right when the compiler hung. I waited 30 minutes and the compiler never recovered from it so I had to kill it with the "Control C" keys. The reason the compiler hung is because there's no specified filename between the "-c" and the "-o" output. With some troubleshooting, I came upon this Makefile in the "..../openssl-0.9.8a/crypto/bn" directory. With the VI editor when searching through the script in the Makefile, I found the offending code that cause the filename not to be output with the gcc compiler's flag option. --snip- BN_ASM= bn_asm.o #Line 14 # or use #Line 15 #BN_ASM= bn86-elf.o #Line 16 LIBOBJ= bn_add.o bn_div.o bn_exp.o bn_lib.o bn_ctx.o bn_mul.o bn_mod.o \ #Line 33 bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o \ #Line 34 bn_kron.o bn_sqrt.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o $(BN_ASM) \ #Line 35 bn_recp.o bn_mont.o bn_mpi.o bn_exp2.o bn_gf2m.o bn_nist.o \ #Line 36 bn_depr.o bn_const.o #Line 37 --snip- The offending code is that "$(BN_ASM)" isn't being outputted. Line 14 and Line 16 that use the variable, BN_ASM contain only one used variable anywhere in the script which is Line 35. So, I took out the "$(BN_ASM)" on Line 35 and replace it with "bn_asm.o" and saved it. I then redo the configure and make command. There, the compiler was able to finish compiling the OpenSSL software without any difficulties. Solution (Bugs): Fix that offending bug to somehow make it work for AIX by whatever means. I'm not sure why the "bn86-elf.o" is there but the bn86-elf.c file does not exist in that directory, so why do we need it? Thanks, Scott ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]