Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Dec 2018 10:22:51 +0000
From:      bugzilla-noreply@freebsd.org
To:        vbox@FreeBSD.org
Subject:   [Bug 232969] emulators/virtualbox-ose: link error while linking the RDP client
Message-ID:  <bug-232969-26505-IebTImZBGK@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-232969-26505@https.bugs.freebsd.org/bugzilla/>
References:  <bug-232969-26505@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D232969

--- Comment #11 from Matthias Apitz <guru@unixarea.de> ---

I have had a look in the provided log file of the synth build; it says among
other things:

emulators___virtualbox-ose-2018-12-25.log:
...
DEFAULT_VERSIONS+=3Dsamba=3D4.7
DEFAULT_VERSIONS+=3Dssl=3Dbase
#DEFAULT_VERSIONS+=3Dssl=3Dopenssl

...
Checking for ssl: found version OpenSSL 1.1.1a-freebsd  20 Nov 2018, OK.
...

my log file says:

virtualbox-ose-5.2.22_2.log-base:
...
.if ${.CURDIR:M*/emulators/virtualbox-ose}
DEFAULT_VERSIONS=3Dssl=3Dbase
.endif
...
Checking for ssl: found version OpenSSL 1.1.1a-freebsd  20 Nov 2018, OK.
...

kBuild: Linking VBoxDTrace
ld: error: undefined symbol: SSL_load_error_strings
>>> referenced by tcp.c:314 (/wrkdirs/usr/ports/emulators/virtualbox-ose/wo=
rk/VirtualBox-5.2.22/src/VBox/RDP/client-1.8.3/tcp.c:314)
>>>               /wrkdirs/usr/ports/emulators/virtualbox-ose/work/VirtualB=
ox-5.2.22/out/freebsd.amd64/release/obj/rdesktop-vrdp/tcp.o:(tcp_tls_connec=
t)

a look into the compiled source has:

# find * -exec grep -H SSL_load_error_strings {} \;
src/VBox/RDP/client-1.8.3/tcp.c:                SSL_load_error_strings();
src/VBox/Runtime/VBox/VBoxRTDeps.cpp:    (PFNRT)SSL_load_error_strings,
src/VBox/Runtime/r3/win/VBoxRT-openssl-pre-1.1.def:    SSL_load_error_strin=
gs


src/VBox/RDP/client-1.8.3/tcp.c:

...
/* Establish a SSL/TLS 1.0 connection */
RD_BOOL
tcp_tls_connect(void)
^^^^^^^^^^^^^^^
{
        int err;
        long options;

        if (!g_ssl_initialized)
        {
                SSL_load_error_strings();
                ^^^^^^^^^^^^^^^^^^^^^^^^^
                SSL_library_init();
                ^^^^^^^^^^^^^^^^^^^
                g_ssl_initialized =3D True;
        }

        /* create process context */
        if (g_ssl_ctx =3D=3D NULL)
        {
...


a look into the SSL library in base shows:

[root@jet ~]# uname -a
FreeBSD jet 13.0-CURRENT FreeBSD 13.0-CURRENT r342378 GENERIC  amd64
[root@jet ~]# strings /usr/lib/libssl.a | grep OpenSSL
OpenSSL 1.1.1a-freebsd  20 Nov 2018
[root@jet ~]# nm /usr/lib/libssl.a | grep SSL_load_error_strings

i.e. the missing symbol SSL_load_error_strings is not in my library in base=
;=20

I'm clueless how this can link in the system where it works;

can the OP please check two things:

1. the resulting object file ..../tcp.o if this contains a reference to
SSL_load_error_strings, and if not why?
2. the library /usr/lib/libssl.a if this contains the symbol
SSL_load_error_strings, and if not how this can be resolved for tcp.o

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-232969-26505-IebTImZBGK>