Building RELENG_8_0 confused by openldap.
Matthew Seaman
m.seaman at infracaninophile.co.uk
Fri Nov 27 00:59:02 UTC 2009
Matthew Seaman wrote:
> Hi,
>
> I realise that 8.0 is literally just heading out of the door, but I seem to
> have discovered a problem.
>
> When building the RELENG_8_0 world preparatory to upgrading a RELENG_7_2
> machine with OpenLDAP 2.4.19 installed, the build falls over because Kerberos ipropd picks up the presence of /usr/local/lib/libldap.so ultimately causing linking to fail because of missing OpenSSL symbols:
>
> ===> kerberos5/libexec/ipropd-master (all)
> cc -O2 -pipe -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/krb5 -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/asn1 -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/roken -I. -I/usr/local/include -DOPENLDAP=1 -DHAVE_CONFIG_H -I/usr/src/kerberos5/libexec/ipropd-master/../../include -std=gnu99 -fstack-protector -c /usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/kadm5/ipropd_common.c
> cc -O2 -pipe -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/krb5 -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/asn1 -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/roken -I. -I/usr/local/include -DOPENLDAP=1 -DHAVE_CONFIG_H -I/usr/src/kerberos5/libexec/ipropd-master/../../include -std=gnu99 -fstack-protector -c /usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/kadm5/ipropd_master.c
> cc -O2 -pipe -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/krb5 -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/asn1 -I/usr/src/kerberos5/libexec/ipropd-master/../../../crypto/heimdal/lib/roken -I. -I/usr/local/include -DOPENLDAP=1 -DHAVE_CONFIG_H -I/usr/src/kerberos5/libexec/ipropd-master/../../include -std=gnu99 -fstack-protector -L/usr/local/lib -Wl,-rpath,/usr/local/lib -o ipropd-master ipropd_common.o ipropd_master.o -lkadm5srv -lhdb -lkrb5 -lhx509 -lroken /usr/obj/usr/src/kerberos5/libexec/ipropd-master/../../lib/libvers/libvers.a -lasn1 -lcrypto -lcrypt -lcom_err -lldap -llber
> /usr/obj/usr/src/tmp/usr/bin/ld: warning: libssl.so.5, needed by /usr/local/lib/libldap.so, not found (try using -rpath or -rpath-link)
> /usr/obj/usr/src/tmp/usr/bin/ld: warning: libcrypto.so.5, needed by /usr/local/lib/libldap.so, not found (try using -rpath or -rpath-link)
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_set_tmp_rsa_callback'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_set_info_callback'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_free'
> /usr/local/lib/libldap.so: undefined reference to `SSL_shutdown'
> /usr/local/lib/libldap.so: undefined reference to `SSL_load_client_CA_file'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_set_default_verify_paths'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_set_session_id_context'
> /usr/local/lib/libldap.so: undefined reference to `SSL_get_error'
> /usr/local/lib/libldap.so: undefined reference to `SSL_read'
> /usr/local/lib/libldap.so: undefined reference to `SSL_new'
> /usr/local/lib/libldap.so: undefined reference to `SSL_add_dir_cert_subjects_to_stack'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_new'
> /usr/local/lib/libldap.so: undefined reference to `SSL_library_init'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_load_verify_locations'
> /usr/local/lib/libldap.so: undefined reference to `SSL_pending'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_set_verify'
> /usr/local/lib/libldap.so: undefined reference to `SSL_set_bio'
> /usr/local/lib/libldap.so: undefined reference to `SSL_load_error_strings'
> /usr/local/lib/libldap.so: undefined reference to `SSL_get_certificate'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_set_cipher_list'
> /usr/local/lib/libldap.so: undefined reference to `SSL_accept'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_ctrl'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_get_cert_store'
> /usr/local/lib/libldap.so: undefined reference to `SSL_get_current_cipher'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CIPHER_get_bits'
> /usr/local/lib/libldap.so: undefined reference to `SSLv23_method'
> /usr/local/lib/libldap.so: undefined reference to `SSL_alert_desc_string_long'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_use_PrivateKey_file'
> /usr/local/lib/libldap.so: undefined reference to `SSL_alert_type_string_long'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_set_tmp_dh_callback'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_use_certificate_file'
> /usr/local/lib/libldap.so: undefined reference to `SSL_state_string_long'
> /usr/local/lib/libldap.so: undefined reference to `SSL_connect'
> /usr/local/lib/libldap.so: undefined reference to `SSL_free'
> /usr/local/lib/libldap.so: undefined reference to `SSL_get_peer_certificate'
> /usr/local/lib/libldap.so: undefined reference to `SSL_get_verify_result'
> /usr/local/lib/libldap.so: undefined reference to `SSL_CTX_set_client_CA_list'
> /usr/local/lib/libldap.so: undefined reference to `SSL_write'
> *** Error code 1
>
> Stop in /usr/src/kerberos5/libexec/ipropd-master.
> *** Error code 1
>
> Stop in /usr/src/kerberos5/libexec.
> *** Error code 1
>
> Stop in /usr/src/kerberos5.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
>
This seems to only affect the compilation of RELENG_8_0 sources in RELENG_7_2.
Worked around by setting WITHOUT_KERBEROS=yes in /etc/src.conf, upgrading the
system through the usual procedure including rebuilding all of the ports, and
then removing /etc/src.conf and rebuilding world,kernel one more time.
Still, ipropd-{master,slave} end up linked against the LDAP shlibs installed
from ports which seems wrong to me, at least not without having to expressly
set make variables to turn that behaviour on.
% ldd /usr/libexec/ipropd-master
/usr/libexec/ipropd-master:
libkadm5srv.so.10 => /usr/lib/libkadm5srv.so.10 (0x80064b000)
libhdb.so.10 => /usr/lib/libhdb.so.10 (0x80075a000)
libkrb5.so.10 => /usr/lib/libkrb5.so.10 (0x800876000)
libhx509.so.10 => /usr/lib/libhx509.so.10 (0x8009e3000)
libroken.so.10 => /usr/lib/libroken.so.10 (0x800b22000)
libasn1.so.10 => /usr/lib/libasn1.so.10 (0x800c33000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x800db2000)
libcrypt.so.5 => /lib/libcrypt.so.5 (0x80104b000)
libcom_err.so.5 => /usr/lib/libcom_err.so.5 (0x801164000)
libldap-2.4.so.7 => /usr/local/lib/libldap-2.4.so.7 (0x801266000)
liblber-2.4.so.7 => /usr/local/lib/liblber-2.4.so.7 (0x8013a4000)
libc.so.7 => /lib/libc.so.7 (0x8014b1000)
libssl.so.6 => /usr/lib/libssl.so.6 (0x8016e7000)
Cheers,
Matthew
--
Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard
Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
Kent, CT11 9PW
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 259 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20091127/7d12e66f/signature.pgp
More information about the freebsd-current
mailing list