[SFLphone] Build error on OpenSUSE Build System (OBS) - undefined references to SSL symbols

René Krell rkrell at gmx.net
Thu Feb 11 05:57:21 EST 2010


Although I went a step on with building the package in a clean environment, I 
would appreciate the following things for making a quality package:

- Please do not package untested or unstable code into the release tarballs. A 
tarball blown out to public and announced as stable release should be 
compilable and a stable snapshot of the repository. Please exclude 
experimental features and files from them, which I can pull directly from the 
developer repository if I want to.

- A list of dependencies for compiling and running a full featured application 
would be very helpful. The easier case is if it doesn't compile, so I can add 
requirements using "try-and-error" principles. The worse case is if some 
features are skipped by the configure scripts due to missing requirements, 
that normally come with a distribution, resulting in an application with 
missing features.

Thank you,
René


On Tuesday 09 February 2010 18:31:03 Alexandre Savard 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