a bit further along, but not quite there yet!
Hello James, thanks for kicking me off in the right direction. Couple of additional details, using GCC for a compiler. And, at least for now I am going to focus on the 32 bit compile. I do not ever see dovecot handling Gb sized files on this box.
Also, you were dead on regarding the libcrypto.so stuff.
Had a big problem jumping back to my newly compiled OpenSSL stuff. In short, regardless of the successful "make test", I was only producing a libcrypto.a, and not the libcrypto.so* file(s).
It appears that OpenSSL does *NOT* like GNU make, and apparently, GNU make will not produce OpenSSL shared libraries on Solaris.
A recompile using the system "/usr/ccs/bin/make" successfully produced the shared files I needed. .............................................................. /Applications/openssl-1.0.2l.32/lib 578 # ls -l total 7094 drwxr-xr-x 2 root root 14 Aug 25 16:17 engines -rw-r--r-- 1 root root 2933668 Aug 25 16:17 libcrypto.a lrwxrwxrwx 1 root root 18 Aug 25 16:17 libcrypto.so -> libcrypto.so.1.0.0 -r-xr-xr-x 1 root root 1895472 Aug 25 16:17 libcrypto.so.1.0.0 -rw-r--r-- 1 root root 551312 Aug 25 16:17 libssl.a lrwxrwxrwx 1 root root 15 Aug 25 16:17 libssl.so -> libssl.so.1.0.0 -r-xr-xr-x 1 root root 424708 Aug 25 16:17 libssl.so.1.0.0 drwxr-xr-x 2 root root 5 Aug 24 02:41 pkgconfig /Applications/openssl-1.0.2l.32/lib 579 # ..............................................................
reference Marc Girod-2's 19 Oct 2006 1101 post here
<http://openssl.6102.n7.nabble.com/Solaris-installation-Text-relocation-remains-td8346.html>
'/usr/ccs/bin/make test' against the new compile was successful
Please reference follow on email "back to Dovecot"
Thank you.
On 08/25/17 08:36 AM, James wrote:
On 25/08/2017 04:52, Jerry Kemp wrote:
Hello Jerry,
attempting to compile dovecot 2.2.31 on Sun/Oracle Solaris 10 SPARC.
It worked for me so you should make it to your goal.
configure goes fine. First sign of problems during compile is with this warning:
............................................... *** libssl_iostream_openssl.so is not portable!
That's just libtool whinging. I see the same.
system ZLIB library is/was 32 bit, and if there is a 64 bit version provided by Sun/Oracle, neither myself or the "configure" script could locate it. Not a big detail, ZLIB is an easy compile, just trying to share all relevant data.
$ file /usr/lib/64/libz.so /usr/lib/64/libz.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically linked, not stripped, no debugging information available
The compiler should find by itself
$ cc -m64 junk.c -lz $ ldd a.out libz.so.1 => /usr/lib/64/libz.so.1 libc.so.1 => /lib/64/libc.so.1 libm.so.2 => /lib/64/libm.so.2 /platform/SUNW,Sun-Blade-1000/lib/sparcv9/libc_psr.so.1
...but I build my own zlib and use a 32-bit dovecot anyway.
Undefined first referenced symbol in file ERR_clear_error ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so SSL_load_error_strings ../lib-ssl-iostream/.libs/libssl_iostream_openssl.so BIO_ctrl_get_write_guarantee ... ld: fatal: symbol referencing errors. No output written to .libs/test-http-client
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `test-http-client'
ERR_clear_error is in libcrypto:
$ nm -D path/to/libcrypto.so.1.0.0 | grep ERR_clear_error [3834] | 920944| 140|FUNC |GLOB |3 |11 |ERR_clear_error
Check that your link flags have a -L to libcrypto (ultimately a run path too). Check libtool is not changing your flags because it thinks it knows better. Extract the link commands from your log/output and run manually, add/remove compiler flags, change link paths, hopefully you will find the fault.
James.