3.0.20 Alpha configure on AIX4.3 for -lcom_err broken
Nik Conwell
nik at bu.edu
Mon Nov 25 15:26:02 GMT 2002
On Tue, 26 Nov 2002, Jelmer Vernooij wrote:
> Please don't send in patches to configure, but to configure.in
> instead. Configure is autogenerated.
Sorry; new to this.
> Is there anything useful in config.log that indicates why the test for
> _et_list in -lcom_err fails?
Nothing interesting (to me):
configure:12300: checking for _et_list in -lcom_err
configure:12319: cc -o conftest -O -D_LINUX_SOURCE_COMPAT -qmaxmem=32000 -I/usr/local/krb5-1.2.6/include -D_LAR
GE_FILES -I/usr/local/krb5-1.2.6/include -L/usr/local/krb5-1.2.6/lib conftest.c -lcom_err -lkrb5 1>&5
+ eval ${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5
+ cc -o conftest -O -D_LINUX_SOURCE_COMPAT -qmaxmem=32000 -I/usr/local/krb5-1.2.6/include -D_LARGE_FILES -I/usr/l
ocal/krb5-1.2.6/include -L/usr/local/krb5-1.2.6/lib conftest.c -lcom_err -lkrb5
+ 1>& 5
ld: 0711-317 ERROR: Undefined symbol: ._et_list
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure: failed program was:
#line 12308 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char _et_list();
int main() {
_et_list()
; return 0; }
I broke apart the compile:
10:20:50 acsn08 [source] cat foobar2.c
/* #include "confdefs.h" */
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char _et_list();
int main() {
_et_list()
; return 0; }
10:20:52 acsn08 [source] cc -o conftest -g -L/usr/local/krb5-1.2.6/lib -lkrb5 -lk5crypto -lkrb5 -lcom_err -llber foobar2.c
ld: 0711-317 ERROR: Undefined symbol: ._et_list
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
10:20:55 acsn08 [source] nm /usr/local/krb5-1.2.6/lib/libcom_err.a |grep _et_list
_et_list D 1108 4
_et_list d 1052 4
If I try to build Samba without -lcom_err in LIBS I get a similar undefined on
_et_list (and also error_message). If I add -lcom_err to LIBS, things build.
I checked the rest of the Samba build LIBS and added them to the above test, but
they didn't help find _et_list...
Here's the AIX cc debug output:
10:21:14 acsn08 [source] cc -o conftest -g -L/usr/local/krb5-1.2.6/lib -lkrb5 -lk5crypto -lkrb5 -lcom_err -llber foobar2.c -bnoquiet
(ld): halt 4
(ld): savename conftest
(ld): filelist 8 2
(ld): i /lib/crt0.o
(ld): lib /usr/local/krb5-1.2.6/lib/libkrb5.a
(ld): lib /usr/local/krb5-1.2.6/lib/libk5crypto.a
(ld): lib /usr/local/krb5-1.2.6/lib/libcom_err.a
(ld): lib /usr/lib/liblber.a
(ld): i foobar2.o
(ld): lib /usr/lib/libg.a
(ld): lib /usr/lib/libc.a
LIBRARY: Shared object liblber.a[liblber.so.2]: 89 symbols imported.
LIBRARY: Shared object libc.a[shr.o]: 2268 symbols imported.
LIBRARY: Shared object libc.a[meth.o]: 2 symbols imported.
LIBRARY: Shared object libc.a[aio.o]: 11 symbols imported.
LIBRARY: Shared object libc.a[pse.o]: 78 symbols imported.
LIBRARY: Shared object libc.a[dl.o]: 4 symbols imported.
LIBRARY: Shared object libc.a[pty.o]: 1 symbols imported.
FILELIST: Number of previously inserted files processed: 8
(ld): exports /usr/lib/libg.exp
EXPORTS: Symbols exported: 4
(ld): resolve
RESOLVE: 36 of 4526 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 4 symbols.
(ld): er full
ld: 0711-318 ERROR: Undefined symbols were found.
The following symbols are in error:
Symbol Inpndx TY CL Source-File(Object-File) OR Import-File{Shared-object}
RLD: Address Section Rld-type Referencing Symbol
----------------------------------------------------------------------------------------------
._et_list [32] ER PR foobar2.c(foobar2.o)
0000000c .text R_RBR [18] .main
ER: The return code is 8.
Since the same thing happens w/ gcc, I suspect it's not just an AIX linker
bug...
-nik
More information about the samba-technical
mailing list