[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: make errors with 2.3.17.



Your libsasl2 package is broken. The code in libsasl.a depends on several external libraries, but static libraries have no mechanism for expressing external library dependencies. This is one of the problems with static libraries that libtool is designed to solve, but that only works when the corresponding .la file that libtool generates for its libraries gets installed along with the library. If you actually have a /usr/lib/libsasl2.la file on your system, then it seems to be missing the proper dependency_libs settings. Or if you're missing the .la file, that's your problem. In general of course, it's preferred to build libraries that have external dependencies as shared libraries, because they do have a mechanism for recording their dependencies without outside help. So all in all, the provider of your libsasl2 package needs to get their act together.

Dennis Matotek wrote:
Having an error compiling the source on 2.3.17.

machine is:
mandriva 2006 2.6.12-14mdk
libsasl2-devel-2.1.22-11mdk
libopenssl0.9.7-devel-0.9.7g-2.1.20060mdk
libdb4.2-4.2.52-7mdk

I configure with:
./configure --prefix=/usr/local/openldap-2.3.17 --enable-overlays --enable-bdb --enable-slapd --enable-cleartext --enable-spasswd --enable-ldap --enable-syslog --with-threads --with-tls --disable-sql --disable-perl --disable-hdb --disable-passwd --disable-ldbm


make depends works fine

make gives this error:
Entering subdirectory libldap
make[2]: Entering directory `/usr/local/packages/openldap/openldap-2.3.17/libraries/libldap'
/bin/sh ../..//libtool --mode=link cc -static -g -O2 -o apitest apitest.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lssl -lcrypto -lresolv
cc -g -O2 -o apitest apitest.o ./.libs/libldap.a /usr/local/packages/openldap/openldap-2.3.17/libraries/liblber/.libs/liblber.a -L/usr/lib ../../libraries/liblber/.libs/liblber.a ../../libraries/liblutil/liblutil.a /usr/lib/libsasl2.a -ldl -lssl -lcrypto -lresolv
./.libs/libldap.a(os-ip.o): In function `ldap_pvt_is_socket_ready':
/usr/local/packages/openldap/openldap-2.3.17/libraries/libldap/os-ip.c:194: warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
/usr/local/packages/openldap/openldap-2.3.17/libraries/libldap/os-ip.c:194: warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
/usr/lib/libsasl2.a(db_berkeley.o): In function `berkeleydb_open':
db_berkeley.c:(.text+0x5b): undefined reference to `db_create'
db_berkeley.c:(.text+0xdf): undefined reference to `db_strerror'
/usr/lib/libsasl2.a(db_berkeley.o): In function `berkeleydb_close':
db_berkeley.c:(.text+0x1b6): undefined reference to `db_strerror'
/usr/lib/libsasl2.a(db_berkeley.o): In function `_sasldb_getdata':
db_berkeley.c:(.text+0x660): undefined reference to `db_strerror'
/usr/lib/libsasl2.a(db_berkeley.o): In function `_sasldb_putdata':
db_berkeley.c:(.text+0x8b9): undefined reference to `db_strerror'
db_berkeley.c:(.text+0x96d): undefined reference to `db_strerror'
/usr/lib/libsasl2.a(gssapi.o): In function `sasl_gss_free_context_contents':
gssapi.c:(.text+0xdc): undefined reference to `gss_delete_sec_context'
gssapi.c:(.text+0xfc): undefined reference to `gss_release_name'
gssapi.c:(.text+0x11c): undefined reference to `gss_release_name'
gssapi.c:(.text+0x13c): undefined reference to `gss_release_cred'
gssapi.c:(.text+0x15c): undefined reference to `gss_release_cred'
/usr/lib/libsasl2.a(gssapi.o): In function `sasl_gss_seterror_':
gssapi.c:(.text+0x4a8): undefined reference to `gss_display_status'
gssapi.c:(.text+0x502): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x58b): undefined reference to `gss_display_status'
gssapi.c:(.text+0x5e5): undefined reference to `gss_release_buffer'
/usr/lib/libsasl2.a(gssapi.o): In function `gssapi_server_mech_step':
gssapi.c:(.text+0x7e0): undefined reference to `gss_display_name'
gssapi.c:(.text+0x868): undefined reference to `GSS_C_NT_USER_NAME'
gssapi.c:(.text+0x87f): undefined reference to `gss_import_name'
gssapi.c:(.text+0x8aa): undefined reference to `gss_compare_name'
gssapi.c:(.text+0x8c4): undefined reference to `gss_release_name'
gssapi.c:(.text+0x8fe): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x9db): undefined reference to `gss_wrap'
gssapi.c:(.text+0xa31): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0xa71): undefined reference to `gss_unwrap'
gssapi.c:(.text+0xada): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0xb56): undefined reference to `gss_accept_sec_context'
gssapi.c:(.text+0xc0b): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0xccb): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0xd38): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0xe1c): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0xea3): undefined reference to `gss_release_name'
gssapi.c:(.text+0xfc4): undefined reference to `GSS_C_NT_HOSTBASED_SERVICE'
gssapi.c:(.text+0xfda): undefined reference to `gss_import_name'
gssapi.c:(.text+0x1017): undefined reference to `gss_release_cred'
gssapi.c:(.text+0x1058): undefined reference to `gss_acquire_cred'
gssapi.c:(.text+0x10b4): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x10e5): undefined reference to `gss_wrap_size_limit'
gssapi.c:(.text+0x1127): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x1141): undefined reference to `gss_release_name'
gssapi.c:(.text+0x1172): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x11cd): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x125b): undefined reference to `gss_release_buffer'
/usr/lib/libsasl2.a(gssapi.o): In function `gssapi_decode_packet':
gssapi.c:(.text+0x135a): undefined reference to `gss_unwrap'
gssapi.c:(.text+0x13d2): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x140e): undefined reference to `gss_release_buffer'
/usr/lib/libsasl2.a(gssapi.o): In function `sasl_gss_encode':
gssapi.c:(.text+0x14fa): undefined reference to `gss_wrap'
gssapi.c:(.text+0x1596): undefined reference to `gss_release_buffer'
/usr/lib/libsasl2.a(gssapi.o): In function `gssapi_client_mech_step':
gssapi.c:(.text+0x177a): undefined reference to `gss_init_sec_context'
gssapi.c:(.text+0x1801): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x1853): undefined reference to `gss_unwrap'
gssapi.c:(.text+0x1925): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x19c5): undefined reference to `gss_wrap'
gssapi.c:(.text+0x1a35): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x1a5f): undefined reference to `gss_delete_sec_context'
gssapi.c:(.text+0x1ad1): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x1b1b): undefined reference to `gss_inquire_context'
gssapi.c:(.text+0x1b4e): undefined reference to `gss_display_name'
gssapi.c:(.text+0x1ba2): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x1db8): undefined reference to `GSS_C_NT_HOSTBASED_SERVICE'
gssapi.c:(.text+0x1dcb): undefined reference to `gss_import_name'
gssapi.c:(.text+0x1e41): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x1e79): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x1f40): undefined reference to `gss_release_buffer'
gssapi.c:(.text+0x2002): undefined reference to `gss_wrap_size_limit'
gssapi.c:(.text+0x2080): undefined reference to `gss_release_buffer'
/usr/lib/libsasl2.a(sql.o): In function `_mysql_open':
sql.c:(.text+0x1a): undefined reference to `mysql_init'
sql.c:(.text+0x83): undefined reference to `mysql_real_connect'
/usr/lib/libsasl2.a(sql.o): In function `_mysql_escape_str':
sql.c:(.text+0xe1): undefined reference to `mysql_escape_string'
/usr/lib/libsasl2.a(sql.o): In function `_mysql_exec':
sql.c:(.text+0x122): undefined reference to `mysql_real_query'
sql.c:(.text+0x132): undefined reference to `mysql_field_count'
sql.c:(.text+0x14a): undefined reference to `mysql_store_result'
sql.c:(.text+0x15c): undefined reference to `mysql_num_rows'
sql.c:(.text+0x195): undefined reference to `mysql_fetch_row'
sql.c:(.text+0x1dd): undefined reference to `mysql_free_result'
sql.c:(.text+0x213): undefined reference to `mysql_free_result'
sql.c:(.text+0x22e): undefined reference to `mysql_error'
sql.c:(.text+0x269): undefined reference to `mysql_free_result'
/usr/lib/libsasl2.a(sql.o): In function `_mysql_close':
sql.c:(.text+0x385): undefined reference to `mysql_close'
/usr/lib/libsasl2.a(ldapdb.o): In function `ldapdb_connect':
ldapdb.c:(.text+0x24d): undefined reference to `ldap_whoami_s'
/usr/lib/libsasl2.a(ldapdb.o): In function `ldapdb_auxprop_store':
ldapdb.c:(.text+0x405): undefined reference to `ldap_modify_ext_s'
/usr/lib/libsasl2.a(ldapdb.o): In function `ldapdb_auxprop_lookup':
ldapdb.c:(.text+0x6f5): undefined reference to `ldap_first_message'
ldapdb.c:(.text+0x70f): undefined reference to `ldap_next_message'
collect2: ld returned 1 exit status
make[2]: *** [apitest] Error 1
make[2]: Leaving directory `/usr/local/packages/openldap/openldap-2.3.17/libraries/libldap'
make[1]: *** [all-common] Error 1
make[1]: Leaving directory `/usr/local/packages/openldap/openldap-2.3.17/libraries'
make: *** [all-common] Error 1


The config log has these kinds of errors through it:
configure:11875: checking for be_app in -lbe
configure:11905: cc -o conftest -g -O2 conftest.c -lbe -lroot -lnet >&5
/usr/bin/ld: cannot find -lbe
collect2: ld returned 1 exit status
configure:11911: $? = 1
configure: failed program was:
| /* confdefs.h. */
/usr/bin/ld: cannot find -ls
collect2: ld returned 1 exit status
configure:12881: $? = 1
configure: failed program was:
| /* confdefs.h. */


In the faq there is a similar error on a solaris machine and the answer given was to './configure --blah --blah --with-gnu-ld' but this makes no difference to the error given.

I can't find confdefs.h on my system anywhere (in fact the only confdefs.h I've found is on an old Tru64 machine) Any ideas?

The configure script generates and deletes confdefs.h while running each test. None of those configure errors are significant.


--
 -- Howard Chu
 Chief Architect, Symas Corp.  http://www.symas.com
 Director, Highland Sun        http://highlandsun.com/hyc
 OpenLDAP Core Team            http://www.openldap.org/project/