trouble compiling Dovecot 2.2.31 on Solaris 10 SPARC - libssl_iostream_openssl.so is not portable!

James list at xdrv.co.uk
Fri Aug 25 16:36:10 EEST 2017


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