On Nov 11, 2007, at 10:26 PM, David Halik wrote:
>
> First let me say, congrats on the first 5.0 release! (even if it is
> alpha ;) I was able to take out a bunch of my patches and it seems
> to compile much cleaner in general than 4.4.9.
>
> It looks like I'm running into some kind of internal linking issue,
> or maybe a missing header that needs to be pointed to during the
> rpmconstant portion of the build. Up until that this point it had
> been running smoothly and I thought it might actually go all the
> way. For most Sun Studio issues I usually have a work around up my
> sleeve, but this seems to be something internal since these are all
> defined within the package.
>
> cc -g -xs -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DNE_LFS
> -o .libs/rpmconstant constant.o -L/usr/local/lib -L/usr/local/ssl/
> lib ./.libs/librpmconstant.so -ldl -lm -lpopt -lbeecrypt -lpthread /
> usr/local/lib/libneon.so -lssl -lcrypto -lnsl -lsocket -lz /usr/
> local/lib/libexpat.so -R/usr/local/lib -R/usr/local/ssl/lib
> Undefined first referenced
> symbol in file
> rpmdsInit constant.o
> rpmdsNext constant.o
> rpmdsTagN constant.o
> rpmHeaderFormats constant.o
> hdrVec constant.o
> rpmTagTable constant.o
> rpmdsSearch constant.o
> rpmdsResult constant.o
> rpmTags constant.o
> rpmdsIx constant.o
> rpmdsDNEVR constant.o
> rpmdsSetResult constant.o
> ld: fatal: Symbol referencing errors. No output written to .libs/
> rpmconstant
>
> Any thoughts?
>
Weird. None of those symbols are used (or needed by) rpmconstant.
Here's what I see on linux/i386 w gcc:
gcc -g -O2 -fPIC -DPIC -fpie -Wall -Wpointer-arith -Wstrict-
prototypes -Wmissing-prototypes -Wno-char-subscripts -O0 -g3 -
D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DNE_LFS -pie -
o .libs/rpmconstant constant.o ./.libs/librpmconstant.so -lkeyutils -
lm -lsqlite3 /usr/lib/libpopt.so /usr/lib/libbeecrypt.so -lrt -lbz2 -
lpthread -lelf -lselinux /usr/lib/libneon.so -L/usr/kerberos/lib -
lssl -lcrypto -ldl -lz -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lexpat
...
$ nm constant.o
U _GLOBAL_OFFSET_TABLE_
00000000 T __i686.get_pc_thunk.bx
U exit
00000000 T main
U poptFreeContext
U poptGetArg
U poptGetContext
U poptGetNextOpt
U poptHelpOptions
U poptPeekArg
U poptPrintUsage
U printf
U putchar
U puts
U rpmconstContext
U rpmconstFree
U rpmconstInitToContext
U rpmconstName
U rpmconstNew
U rpmconstNextC
U rpmconstNextL
U rpmconstValue
U rpmconstantFindMask
U rpmconstantFindName
U rpmconstantFindValue
U sscanf
U stderr
I can't begin to guess how constant.o came to be looking
for the symbols you are reporting.
Mebbe a busted libtool injecting additional libraries from a random
*.la file?
73 de Jeff
Received on Mon Nov 12 06:01:32 2007