Hi, Having problems complying OpenSSH 4.3p2 using OpenSSL 0.9.8a on an Solaris 10 (AMD based HP Blade). I've complied openssl and build in under /opt/openssl (as I dont prefer the default location of /usr/local/ssl). Attempting to build openssh, and eventhough I'm using the following command: ./configure --prefix=/opt/openssh --with-ssl-dir=/opt/openssl Still make will look under /usr/local/ssl/lib and and not /opt/openssl/lib. The make fails with the following: gcc -o ssh ssh.o readconf.o clientloop.o sshtty.o sshconnect.o sshconnect1.o sshconnect2.o -L. -Lopenbsd-compat/ -L/usr/local/ssl/lib -R/usr/local/ssl/lib -lssh -lopenbsd-compat -lresolv -lcrypto -lrt -lz -lsocket -lnsl Undefined first referenced symbol in file EVP_aes_192_cbc ./libssh.a(cipher.o) EVP_aes_256_cbc ./libssh.a(cipher.o) ld: fatal: Symbol referencing errors. No output written to ssh collect2: ld returned 1 exit status *** Error code 1 make: Fatal error: Command failed for target `ssh' ======== Any assistance is much appreciated Thanks
Try doing a "make distclean" before running configure, or configure a freshly unpacked tarball.
I've cleaned the distribution many times and used a new tar bundle, but still get the same result. The last part of ./configure appears as OpenSSH has been configured with the following options: User binaries: /opt/openssh/bin System binaries: /opt/openssh/sbin Configuration files: /opt/openssh/etc Askpass program: /opt/openssh/libexec/ssh-askpass Manual pages: /opt/openssh/man/manX PID file: /var/run Privilege separation chroot path: /var/empty sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin:/opt/openssh/bin (If PATH is set in /etc/default/login it will be used instead. If used, ensure the path to scp is present, otherwise scp will not work.) Manpage format: man PAM support: no KerberosV support: no Smartcard support: no S/KEY support: no TCP Wrappers support: no MD5 password support: no libedit support: no IP address in $DISPLAY hack: no Translate v4 in v6 hack: no BSD Auth support: no Random number source: OpenSSL internal ONLY Host: i386-pc-solaris2.10 Compiler: gcc Compiler flags: -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare Preprocessor flags: -I/usr/local/ssl/include Linker flags: -L/usr/local/ssl/lib -R/usr/local/ssl/lib Libraries: -lresolv -lcrypto -lrt -lz -lsocket -lnsl Still looking for /usr/local/ssl and not /opt/openssl/ssl
Could you please attach the config.log file (as an attachment not as a comment, might want to compress it too since it's usually pretty big) and the exact configure invocation used (if it's different to the one in the original report)? Thanks.
Created attachment 1128 [details] output from the execution of the configure Attaching the config.log output as requested
Created attachment 1129 [details] output from the execution of the configure Attaching again in text format
---------------< snip from config.log >--------------- configure:14850: gcc -o conftest -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -I/opt/openssl/include -L/opt/openssl/lib -R/opt/openssl/lib conftest.c -lcrypto -lrt -lz -lsocket -lnsl >&5 ld: warning: file /opt/openssl/lib/libcrypto.a(rand_lib.o): wrong ELF class: ELFCLASS64 Undefined first referenced symbol in file RAND_add /var/tmp//ccu0hMW7.o ld: fatal: Symbol referencing errors. No output written to conftest collect2: ld returned 1 exit status configure:14856: $? = 1 --------------------------------------------------------------- It looks like your openssl build in /opt/openssl is broken. You can't mix 32bit & 64bit object files.
I was able to build openssh on another Solaris 10(x86) box using a newly build version of openssl. Thanks for all the help on this one.
You're welcome. Closing bug.
Change all RESOLVED bug to CLOSED with the exception of the ones fixed post-4.4.