Subject: Problem compiling Apache with modssl on Sparc 9 with 64 bit openssl

From: Dmitry Bocharnikov <[email-masked]>
Date: 05 Sep 2003 16:16:44 -0400

Hi, I'm having a problem compiling apache with modssl support on a
solaris platform. I've had to compile openssl as "solaris64-sparcv9-gcc"
otherwise after a default configuration compilation process would give
me a fatal error in dhparam.o file - wrong elf class (ELFCLASS64)

if [ "solaris-shared" = "hpux-shared" -o "solaris-shared" = 
"darwin-shared" ] ; then \
 gcc -o openssl -DMONOLITH -I.. -I../include  
-DOPENSSL_SYSNAME_ULTRASPARC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN 
-DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -m32 -mcpu=ultrasparc -O3 
-fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DMD5_ASM 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 x509.o genrsa.o gendsa.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 spkac.o
smime.o rand.o engine.o ocsp.o  ../libssl.a  ../libcrypto.a -lsocket 
-lnsl -ldl ; \
else \
 gcc -o openssl -DMONOLITH -I.. -I../include  
-DOPENSSL_SYSNAME_ULTRASPARC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN 
-DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -m32 -mcpu=ultrasparc -O3 
-fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DMD5_ASM 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 x509.o genrsa.o gendsa.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 spkac.o
smime.o rand.o engine.o ocsp.o  -L.. -lssl  -L.. -lcrypto -lsocket -lnsl
-ldl ; \
fi
ld: fatal: file dhparam.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to openssl
collect2: ld returned 1 exit status

However, this error does not happen if I compile for solaris64. Then
when I compile apache with modssl at the very end of build process when
the httpd binary is created I get the following errors:

 -DSOLARIS2=290 -DMOD_SSL=208112 -DEAPI -DEAPI_MM -DUSE_EXPAT 
-I./lib/expat-lite -DNO_DL_NEEDED `./apaci` 
-L/export/home/iknlots/local/openssl/lib 
-L/export/home/iknlots/src/mm-1.2.1/.libs   \
     -o httpd buildmark.o modules.o modules/ssl/libssl.a 
modules/jserv/libjserv.a modules/standard/libstandard.a main/libmain.a 
./os/unix/libos.a ap/libap.a  lib/expat-lite/libexpat.a  -Lmodules/jserv
-L../modules/jserv -L../../modules/jserv -ljserv  -lsocket -lnsl 
-lpthread  -lssl -lcrypto -lmm
ld: warning: file 
/export/home/iknlots/local/openssl/lib/libssl.a(s2_srvr.o): wrong ELF
class: ELFCLASS64
ld: warning: file 
/export/home/iknlots/local/openssl/lib/libcrypto.a(bn_lib.o): wrong ELF 
class: ELFCLASS64
Undefined                       first referenced
symbol                             in file
d2i_SSL_SESSION                    
modules/ssl/libssl.a(ssl_scache_dbm.o)
SSL_get_verify_mode                 
modules/ssl/libssl.a(ssl_engine_kernel.o)
SSL_library_init                   
modules/ssl/libssl.a(ssl_engine_init.o)
.......
sk_num                             
modules/ssl/libssl.a(ssl_engine_init.o)
d2i_X509                           
modules/ssl/libssl.a(ssl_engine_init.o)
SSL_accept                          
modules/ssl/libssl.a(ssl_engine_kernel.o)
X509_NAME_oneline                  
modules/ssl/libssl.a(ssl_engine_init.o)
ERR_get_error                      
modules/ssl/libssl.a(ssl_engine_log.o)
ld: fatal: Symbol referencing errors. No output written to httpd
collect2: ld returned 1 exit status
make[2]: *** [target_static] Error 1

Has anyone see anything like that before?

Thank you,
-- 
Dmitry Bocharnikov
Telco Exchange, Inc
http://www3.telcoexchange.com
(703) 359-6184

This message may contain information that is proprietary to Telco
Exchange, its customers, and partners. If you have received it in error,
please notify Telco Exchange immediately.

______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [email-masked]
Automated List Manager                            [email-masked]