Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 202489
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Stefaan De Roeck <stefaan@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Markus Dittrich <markusle@gentoo.org>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
openafs-1.4.5-shared-libs.patch patch to add missing symbols to shared objects patch Markus Dittrich 2007-12-16 17:24 0000 1.92 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 202489 depends on: Show dependency tree
Bug 202489 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-12-16 17:22 0000
Hi Stefaan,

I just noticed that linking of sci-physics/root-5.16.00-r1 against
libafsauthent.so and libafsrpc.so fails with missing symbols like
so

g++ -D_ALL_SOURCE -D_REENTRANT -D_GNU_SOURCE -fPIC -rdynamic -Wall
-Wno-deprecated -D__linux__  -O2 ../../obj/XrdSecpwdSrvAdmin.o -lcrypt
-lafsauthent -lafsrpc -L../../lib -lXrdCrypto -lXrdSut -lXrdOuc -lXrdSys
-lresolv -lnsl -lpthread -lrt -ldl -lc -o ../../bin/xrdpwdadmin
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../lib64/libafsauthent.so:
undefined reference to `strcompose'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../lib64/libafsauthent.so:
undefined reference to `ucstring'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../lib64/libafsauthent.so:
undefined reference to `afs_add_to_error_table'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../lib64/libafsauthent.so:
undefined reference to `AssertionFailed'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../lib64/libafsauthent.so:
undefined reference to `stolower'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.2/../../../../lib64/libafsauthent.so:
undefined reference to `lcstring'
collect2: ld returned 1 exit status

and 

g++ -m64 -march=opteron -O2 -fomit-frame-pointer -pipe -DAFS_OLD_COM_ERR  -o
bin/rootd rootd/src/rootd.o rpdutils/src/daemon.o rpdutils/src/error.o
rpdutils/src/net.o rpdutils/src/netpar.o rpdutils/src/rpdutils.o
rpdutils/src/ssh.o  \
                   auth/src/rsaaux.o auth/src/rsalib.o auth/src/rsafun.o
auth/src/AFSAuth.o clib/src/snprintf.o -lcrypt    -lafsauthent -lafsrpc   
-lssl -lcrypto -L/lib64 -lcom_err -lresolv   -lm -ldl  -pthread -rdynamic
auth/src/AFSAuth.o: In function `GetAFSToken':
AFSAuth.cxx:(.text+0x211): undefined reference to `ka_GetAFSTicket'


I had a little closer look and the missing symbols (for the first
error posted) come from

util/assert.c
util/casestrcpy.c

However, it looks like even though the PIC objects corresponding to 
the above files are linked into the *.so initially, the symbols are stripped
from the final dynamic library because they are not declared in the
mapfile that openafs's makefile uses during linking. The second linking
error posted above is caused by a similar issue.

I will post a patch below that fixes this problem by simply ignoring these
mapfiles. With this patch, root compiles smoothly against openafs.
One could instead also add the missing symbols to the map
files I presume but I haven't tried this.

cheers,
Markus

------- Comment #1 From Markus Dittrich 2007-12-16 17:24:04 0000 -------
Created an attachment (id=138637) [details]
patch to add missing symbols to shared objects

------- Comment #2 From Joe Jezak 2008-01-03 04:23:49 0000 -------
This is still broken in 1.4.6 as well.

------- Comment #3 From Stefaan De Roeck 2008-01-03 08:42:43 0000 -------
(In reply to comment #2)
> This is still broken in 1.4.6 as well.

That's because 1.4.6 is a security bugfix only with fast stabilization (bug
#203573). I will try to fix this in a subsequent revision. 

------- Comment #4 From Stefaan De Roeck 2008-02-22 14:48:05 0000 -------
Should be fixed in net-fs/openafs-1.4.6_p20080222.

Thanks.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug