[SFLphone] Build error on OpenSUSE Build System (OBS) - undefined references to SSL symbols
René Krell
rkrell at gmx.net
Wed Feb 10 04:13:30 EST 2010
Alright, applying the patch for skipping compiling the tests in the RPM spec
worked.
Maybe the PJSIP tests ling with an older version of libssl (0.9.7 instead of
0.9.8)? In most cases, compiling files on a developer system works, because
there are a lot of header files and libraries installed, anyway. The OpenSUSE
Build System is more strict, it compiles files in a virtual machine "sandbox"
preinstalling only a base system and the packages you explicitly declare in
the RPM spec.
On Tuesday 09 February 2010 18:31:03 you wrote:
> The error occurs in the test folder which means that SFLphone deamon
> compiled successfully.
>
> SFLphone's test suite is far from beeing complete, except for very specific
> features added recently such as the centralized audio management or the
> SDES parser.
>
> I don't see why openssl is not linked to PJSIP in the test folder.
>
> You can disable the test suite compilation simply commenting the last
> argument of SUBDIRS in sflphone/sflphone-common/Makefile.am
>
> SUBDIRS = libs src ringtones man $(TESTS_DIR)
>
> SUBDIRS = libs src ringtones man # $(TESTS_DIR)
>
> I'll try to compile the application on OpenSUSE on my side.
>
> Thanks
>
> ----- Mail Original -----
> De: "René Krell" <rkrell at gmx.net>
> À: sflphone at lists.savoirfairelinux.net
> Envoyé: Mardi 9 Février 2010 05h40:59 GMT -05:00 USA/Canada - États de
> l'Est Objet: [SFLphone] Build error on OpenSUSE Build System (OBS) -
> undefined references to SSL symbols
>
> I'm trying to integrate sflphone 0.9.7 to the OpenSUSE Build System, but I
> get the following build error: ---
> Making all in test
> make[2]: Entering directory
> `/usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/test' CXX
> numbercleanerTest.o
> CXX TestMain.o
> CXXLD numbercleanerTester
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsip
> /lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `lis_destroy': sip_transport_tls_ossl.c:(.text+0x2f3): undefined
> reference to `SSL_CTX_free'
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsi
> p/lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `ssl_write_bytes': sip_transport_tls_ossl.c:(.text+0x3e4):
> undefined reference to `SSL_write' sip_transport_tls_ossl.c:(.text+0x3f5):
> undefined reference to `SSL_get_error'
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsi
> p/lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `on_read_complete': sip_transport_tls_ossl.c:(.text+0x9e1):
> undefined reference to `SSL_read' sip_transport_tls_ossl.c:(.text+0x9f3):
> undefined reference to `SSL_get_error'
> sip_transport_tls_ossl.c:(.text+0xaf7): undefined reference to
> `SSL_pending'
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsi
> p/lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `tls_shutdown': sip_transport_tls_ossl.c:(.text+0xcb0): undefined
> reference to `SSL_shutdown'
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsi
> p/lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `tls_destroy': sip_transport_tls_ossl.c:(.text+0x1021): undefined
> reference to `SSL_free'
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsi
> p/lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `ssl_accept': sip_transport_tls_ossl.c:(.text+0x1193): undefined
> reference to `SSL_state' sip_transport_tls_ossl.c:(.text+0x11a4):
> undefined reference to `SSL_state'
> sip_transport_tls_ossl.c:(.text+0x11e3): undefined reference to
> `SSL_accept' sip_transport_tls_ossl.c:(.text+0x11f0): undefined reference
> to `SSL_get_error' sip_transport_tls_ossl.c:(.text+0x1256): undefined
> reference to `SSL_want' sip_transport_tls_ossl.c:(.text+0x1267): undefined
> reference to `SSL_want' sip_transport_tls_ossl.c:(.text+0x12f3): undefined
> reference to `SSL_state' sip_transport_tls_ossl.c:(.text+0x1394):
> undefined reference to `SSL_set_accept_state'
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsi
> p/lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `tls_create': sip_transport_tls_ossl.c:(.text+0x16b5): undefined
> reference to `SSL_new' sip_transport_tls_ossl.c:(.text+0x16d0): undefined
> reference to `SSL_set_fd'
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsi
> p/lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `ssl_connect': sip_transport_tls_ossl.c:(.text+0x1ba6): undefined
> reference to `SSL_state' sip_transport_tls_ossl.c:(.text+0x1bb7):
> undefined reference to `SSL_get_fd'
> sip_transport_tls_ossl.c:(.text+0x1bc7): undefined reference to
> `SSL_state' sip_transport_tls_ossl.c:(.text+0x1c79): undefined reference
> to `SSL_ctrl' sip_transport_tls_ossl.c:(.text+0x1cba): undefined reference
> to `SSL_connect' sip_transport_tls_ossl.c:(.text+0x1cc7): undefined
> reference to `SSL_get_error' sip_transport_tls_ossl.c:(.text+0x1d04):
> undefined reference to `SSL_set_connect_state'
> sip_transport_tls_ossl.c:(.text+0x1d82): undefined reference to
> `SSL_state' sip_transport_tls_ossl.c:(.text+0x1db1): undefined reference
> to `SSL_want' sip_transport_tls_ossl.c:(.text+0x1dc2): undefined reference
> to `SSL_want' sip_transport_tls_ossl.c:(.text+0x1ed3): undefined reference
> to `SSL_set_fd'
> /usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/libs/pjproject/pjsi
> p/lib/libpjsip-sfl-x86_64-suse-linux-gnu.a(sip_transport_tls_ossl.o): In
> function `pjsip_tls_transport_start':
> sip_transport_tls_ossl.c:(.text+0x2696): undefined reference to
> `TLSv1_method' sip_transport_tls_ossl.c:(.text+0x269e): undefined
> reference to `SSL_CTX_new' sip_transport_tls_ossl.c:(.text+0x26d5):
> undefined reference to `SSL_CTX_load_verify_locations'
> sip_transport_tls_ossl.c:(.text+0x2712): undefined reference to
> `SSL_CTX_free' sip_transport_tls_ossl.c:(.text+0x2821): undefined
> reference to `SSLv23_method' sip_transport_tls_ossl.c:(.text+0x2869):
> undefined reference to `SSL_CTX_set_default_passwd_cb'
> sip_transport_tls_ossl.c:(.text+0x2874): undefined reference to
> `SSL_CTX_set_default_passwd_cb_userdata'
> sip_transport_tls_ossl.c:(.text+0x289d): undefined reference to
> `SSL_CTX_use_certificate_chain_file'
> sip_transport_tls_ossl.c:(.text+0x28d6): undefined reference to
> `SSL_CTX_free' sip_transport_tls_ossl.c:(.text+0x28e0): undefined
> reference to `SSLv2_method' sip_transport_tls_ossl.c:(.text+0x2909):
> undefined reference to `SSLv3_method'
> sip_transport_tls_ossl.c:(.text+0x2972): undefined reference to
> `SSL_CTX_use_PrivateKey_file' sip_transport_tls_ossl.c:(.text+0x29af):
> undefined reference to `SSL_CTX_free'
> sip_transport_tls_ossl.c:(.text+0x29d3): undefined reference to
> `SSL_library_init' sip_transport_tls_ossl.c:(.text+0x29d8): undefined
> reference to `SSL_load_error_strings'
> sip_transport_tls_ossl.c:(.text+0x2a5c): undefined reference to
> `SSL_CTX_set_verify' sip_transport_tls_ossl.c:(.text+0x2aa2): undefined
> reference to `SSL_CTX_set_cipher_list'
> sip_transport_tls_ossl.c:(.text+0x2adb): undefined reference to
> `SSL_CTX_free' collect2: ld returned 1 exit status
> make[2]: *** [numbercleanerTester] Error 1
> make[2]: Leaving directory
> `/usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common/test' make[1]: ***
> [all-recursive] Error 1
> make[1]: Leaving directory
> `/usr/src/packages/BUILD/sflphone-0.9.7/sflphone-common' make: *** [all]
> Error 2
> ---
>
>
> In the RPM spec file I have the following build and installation
> dependencies and instructions:
> ---
> ...
> BuildRequires: libpulse-devel
> BuildRequires: commoncpp2-devel
> BuildRequires: libccrtp-devel
> BuildRequires: libsamplerate-devel
> BuildRequires: dbus-1-devel
> BuildRequires: libexpat-devel
> BuildRequires: libgsm-devel
> BuildRequires: speex-devel
> BuildRequires: libcppunit-devel
> BuildRequires: alsa-devel
> BuildRequires: libuuid-devel
> BuildRequires: gcc-c++
> BuildRequires: update-desktop-files
> BuildRequires: libzrtpcpp-devel
> BuildRequires: libopenssl-devel
> Requires: libsamplerate
> Requires: libexpat1
> Requires: commoncpp2
> Requires: libgsm1
> Requires: libspeex
> Requires: dbus-1
> Requires: libasound2
> Requires: libpulse0
> Requires: libccrtp1
> Requires: libzrtpcpp
> Requires: libopenssl0_9_8
> ...
> %build
> cd sflphone-common
> cd libs/pjproject
> ./autogen.sh
> %configure
> make dep
> make clean
> make
> autoconf aconfigure.ac > aconfigure
> cd -
> ./autogen.sh
> %configure
> make
> ...
> ---
>
>
> What might be going wrong here?
>
> Thanks,
> René
> _______________________________________________
> SFLphone mailing list
> SFLphone at lists.savoirfairelinux.net
> http://lists.savoirfairelinux.net/mailman/listinfo/sflphone
More information about the SFLphone
mailing list