On my linux system,  (kernel is 5.10.46) , with openssl 1.1.1j built in its own 
directory at /opt/openssl,
I run
./configure --disable-hardening --build-libxml2 --disable-pulse 
--build-headless --enable-vnc --with-iasl=/usr/local/bin/iasl 
--with-openssl-dir=/opt/openssl --disable-vmmraw --disable-java --disable-qt 
--disable-docs

which fails with a zillion
 /usr/local/bin/ld: ssl_init.c:(.text+0x4d): undefined reference to `xxx'

because configure has a line

LIBCRYPTO="${OPENSSLDIR}/lib/libcrypto.a ${OPENSSLDIR}/lib/libssl.a"

with the libs in the wrong order for what ld linker requires : libssl.a has 
references to external symbols in
libcrypto.a .

the line should read
either
LIBCRYPTO="${OPENSSLDIR}/lib/libssl.a ${OPENSSLDIR}/lib/libcrypto.a -lpthread 
-ldl -lm"
or
LIBCRYPTO="${OPENSSLDIR}/lib/libssl.so ${OPENSSLDIR}/lib/libcrypto.so"

configure runs without error if either --with-openssl-dir= is omitted (assuming 
that package is in a standard location) or if --build-libssl is specified.

It is unusual for a package to deliberately choose to link to static libs 
rather than dynamic-shared libs so I assume there was some reason for it,   so 
I don't know what other considerations there may be or  what the best 
correction is.


Cheers,   John Lumby
_______________________________________________
vbox-dev mailing list
vbox-dev@virtualbox.org
https://www.virtualbox.org/mailman/listinfo/vbox-dev

Reply via email to