a bit further along - OpenSSL - Re: trouble compiling Dovecot 2.2.31 on Solaris 10 SPARC - libssl_iostream_openssl.so is not portable!

Jerry Kemp dovecot at oryx.us
Sat Aug 26 01:56:36 EEST 2017


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.


More information about the dovecot mailing list