Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Jan 2009 05:42:55 GMT
From:      Keith Gaughan <keith.gaughan@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/130127: net-p2p/transmission-* - Build fails (missing symbols) if curl was built with GnuTLS rather than OpenSSL
Message-ID:  <200901030542.n035gtkR057347@www.freebsd.org>
Resent-Message-ID: <200901030550.n035o1ba091406@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         130127
>Category:       ports
>Synopsis:       net-p2p/transmission-* - Build fails (missing symbols) if curl was built with GnuTLS rather than OpenSSL
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 03 05:50:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Keith Gaughan
>Release:        FreeBSD 7.0
>Organization:
>Environment:
FreeBSD talisra.talideon.com 7.0-RELEASE-p7 FreeBSD 7.0-RELEASE-p7 #0: Sun Dec 21 12:33:45 UTC 2008     root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
If ftp/curl was build against GnuTLS rather than OpenSSL, building Transmission fails with these errors during linkage:

cc -DNO_IDEA -I/usr/local/include -I/usr/include -D_THREAD_SAFE -pthread -Wall -Wformat-security -W -Wmissing-prototypes -Wdeclaration-after-statement -rpath=/usr/lib:/usr/local/lib -o transmissioncli cli.o  -L/usr/lib ../libtransmission/libtransmission.a ../third-party/libevent/.libs/libevent.a ../third-party/libnatpmp/libnatpmp.a ../third-party/miniupnp/libminiupnp.a -L/usr/local/lib /usr/local/lib/libcurl.so /usr/local/lib/libgnutls.so /usr/local/lib/libtasn1.so /usr/local/lib/libgcrypt.so /usr/local/lib/libgpg-error.so -lz -lm   -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib
./libtransmission/libtransmission.a(utils.o)(.text+0x1f2b): In function `tr_base64_encode':
: undefined reference to `BIO_s_mem'
./libtransmission/libtransmission.a(utils.o)(.text+0x1f33): In function `tr_base64_encode':
: undefined reference to `BIO_new'
./libtransmission/libtransmission.a(utils.o)(.text+0x1f3b): In function `tr_base64_encode':
: undefined reference to `BIO_f_base64'
./libtransmission/libtransmission.a(utils.o)(.text+0x1f43): In function `tr_base64_encode':
: undefined reference to `BIO_new'
./libtransmission/libtransmission.a(utils.o)(.text+0x1f58): In function `tr_base64_encode':
: undefined reference to `BIO_push'
./libtransmission/libtransmission.a(utils.o)(.text+0x1f74): In function `tr_base64_encode':
: undefined reference to `BIO_write'
./libtransmission/libtransmission.a(utils.o)(.text+0x1f97): In function `tr_base64_encode':
: undefined reference to `BIO_ctrl'
./libtransmission/libtransmission.a(utils.o)(.text+0x1fb9): In function `tr_base64_encode':
: undefined reference to `BIO_ctrl'
./libtransmission/libtransmission.a(utils.o)(.text+0x1fee): In function `tr_base64_encode':
: undefined reference to `BIO_free_all'
./libtransmission/libtransmission.a(utils.o)(.text+0x2029): In function `tr_base64_decode':
: undefined reference to `BIO_f_base64'
./libtransmission/libtransmission.a(utils.o)(.text+0x2031): In function `tr_base64_decode':
: undefined reference to `BIO_new'
./libtransmission/libtransmission.a(utils.o)(.text+0x2046): In function `tr_base64_decode':
: undefined reference to `BIO_new_mem_buf'
./libtransmission/libtransmission.a(utils.o)(.text+0x205b): In function `tr_base64_decode':
: undefined reference to `BIO_push'
./libtransmission/libtransmission.a(utils.o)(.text+0x2077): In function `tr_base64_decode':
: undefined reference to `BIO_read'
./libtransmission/libtransmission.a(utils.o)(.text+0x208b): In function `tr_base64_decode':
: undefined reference to `BIO_free_all'
./libtransmission/libtransmission.a(utils.o)(.text+0x2090): In function `tr_base64_decode':
: undefined reference to `BIO_f_base64'
./libtransmission/libtransmission.a(utils.o)(.text+0x2098): In function `tr_base64_decode':
: undefined reference to `BIO_new'
./libtransmission/libtransmission.a(utils.o)(.text+0x20ae): In function `tr_base64_decode':
: undefined reference to `BIO_set_flags'
./libtransmission/libtransmission.a(utils.o)(.text+0x20c0): In function `tr_base64_decode':
: undefined reference to `BIO_new_mem_buf'
./libtransmission/libtransmission.a(utils.o)(.text+0x20d5): In function `tr_base64_decode':
: undefined reference to `BIO_push'
./libtransmission/libtransmission.a(utils.o)(.text+0x20f1): In function `tr_base64_decode':
: undefined reference to `BIO_read'
./libtransmission/libtransmission.a(utils.o)(.text+0x210d): In function `tr_base64_decode':
: undefined reference to `BIO_free_all'
./libtransmission/libtransmission.a(crypto.o)(.text+0x10): In function `tr_sha1':
: undefined reference to `SHA1_Init'
./libtransmission/libtransmission.a(crypto.o)(.text+0x29): In function `tr_sha1':
: undefined reference to `SHA1_Update'
./libtransmission/libtransmission.a(crypto.o)(.text+0x87): In function `tr_sha1':
: undefined reference to `SHA1_Update'
./libtransmission/libtransmission.a(crypto.o)(.text+0x9b): In function `tr_sha1':
: undefined reference to `SHA1_Final'
./libtransmission/libtransmission.a(crypto.o)(.text+0xc1): In function `getSharedDH':
: undefined reference to `DH_new'
./libtransmission/libtransmission.a(crypto.o)(.text+0xe8): In function `getSharedDH':
: undefined reference to `BN_bin2bn'
./libtransmission/libtransmission.a(crypto.o)(.text+0x10d): In function `getSharedDH':
: undefined reference to `BN_bin2bn'
./libtransmission/libtransmission.a(crypto.o)(.text+0x11d): In function `getSharedDH':
: undefined reference to `DH_generate_key'
./libtransmission/libtransmission.a(crypto.o)(.text+0x187): In function `tr_cryptoNew':
: undefined reference to `DH_size'
./libtransmission/libtransmission.a(crypto.o)(.text+0x1ff): In function `tr_cryptoNew':
: undefined reference to `BN_bn2bin'
./libtransmission/libtransmission.a(crypto.o)(.text+0x250): In function `tr_cryptoComputeSecret':
: undefined reference to `BN_bin2bn'
./libtransmission/libtransmission.a(crypto.o)(.text+0x266): In function `tr_cryptoComputeSecret':
: undefined reference to `DH_size'
./libtransmission/libtransmission.a(crypto.o)(.text+0x2a8): In function `tr_cryptoComputeSecret':
: undefined reference to `DH_compute_key'
./libtransmission/libtransmission.a(crypto.o)(.text+0x342): In function `tr_cryptoComputeSecret':
: undefined reference to `BN_free'
./libtransmission/libtransmission.a(crypto.o)(.text+0x3ea): In function `initRC4':
: undefined reference to `SHA1_Init'
./libtransmission/libtransmission.a(crypto.o)(.text+0x404): In function `initRC4':
: undefined reference to `SHA1_Update'
./libtransmission/libtransmission.a(crypto.o)(.text+0x423): In function `initRC4':
: undefined reference to `SHA1_Update'
./libtransmission/libtransmission.a(crypto.o)(.text+0x442): In function `initRC4':
: undefined reference to `SHA1_Update'
./libtransmission/libtransmission.a(crypto.o)(.text+0x454): In function `initRC4':
: undefined reference to `SHA1_Final'
./libtransmission/libtransmission.a(crypto.o)(.text+0x46e): In function `initRC4':
: undefined reference to `RC4_set_key'
./libtransmission/libtransmission.a(crypto.o)(.text+0x4f5): In function `tr_cryptoDecryptInit':
: undefined reference to `RC4'
./libtransmission/libtransmission.a(crypto.o)(.text+0x522): In function `tr_cryptoDecrypt':
: undefined reference to `RC4'
./libtransmission/libtransmission.a(crypto.o)(.text+0x5b1): In function `tr_cryptoEncryptInit':
: undefined reference to `RC4'
./libtransmission/libtransmission.a(crypto.o)(.text+0x5e8): In function `tr_cryptoEncrypt':
: undefined reference to `RC4'
./libtransmission/libtransmission.a(crypto.o)(.text+0x745): In function `tr_cryptoRandInt':
: undefined reference to `RAND_pseudo_bytes'
./libtransmission/libtransmission.a(crypto.o)(.text+0x814): In function `tr_cryptoRandBuf':
: undefined reference to `RAND_pseudo_bytes'
./libtransmission/libtransmission.a(inout.o)(.text+0x861): In function `recalculateHash':
: undefined reference to `SHA1_Init'
./libtransmission/libtransmission.a(inout.o)(.text+0x919): In function `recalculateHash':
: undefined reference to `SHA1_Update'
./libtransmission/libtransmission.a(inout.o)(.text+0x947): In function `recalculateHash':
: undefined reference to `SHA1_Final'
gmake[1]: *** [transmissioncli] Error 1
gmake[1]: Leaving directory `/usr/ports/net-p2p/transmission-cli/work/transmission-1.42/cli'
gmake: *** [all-recursive] Error 1
*** Error code 2
>How-To-Repeat:
 1. Reconfigure ftp/curl to build against GnuTLS rather than OpenSSL, rebuild, and reinstall it.
 2. Rebuild net-p2p/transmission-cli (or any of the other variants), and it will eventually fail when linking.
>Fix:
Not a clue at present aside from possibly forcing ftp/curl to always build against OpenSSL, though patching transmission to link against OpenSSL itself might also do the trick rather than depending on the output of "pkg-config --static --libs libcurl".

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901030542.n035gtkR057347>