RPM Community Forums

Mailing List Message of <rpm-devel>

Re: 5.0a1 compile problem in Solaris 9

From: Jeff Johnson <n3npq@mac.com>
Date: Mon 12 Nov 2007 - 06:01:23 CET
Message-Id: <F628F4BA-49B2-47A5-B018-89BD8753CEE8@mac.com>

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
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.