Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 202489 - net-fs/openafs-1.4.5-r2: missing symbols in shared objects
Summary: net-fs/openafs-1.4.5-r2: missing symbols in shared objects
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Stefaan De Roeck (RETIRED)
URL: http://www.openafs.org/
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-16 17:22 UTC by Markus Dittrich (RETIRED)
Modified: 2008-02-22 14:48 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
patch to add missing symbols to shared objects (openafs-1.4.5-shared-libs.patch,1.92 KB, patch)
2007-12-16 17:24 UTC, Markus Dittrich (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Dittrich (RETIRED) gentoo-dev 2007-12-16 17:22:52 UTC
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 Markus Dittrich (RETIRED) gentoo-dev 2007-12-16 17:24:04 UTC
Created attachment 138637 [details, diff]
patch to add missing symbols to shared objects
Comment 2 Joe Jezak (RETIRED) gentoo-dev 2008-01-03 04:23:49 UTC
This is still broken in 1.4.6 as well.
Comment 3 Stefaan De Roeck (RETIRED) gentoo-dev 2008-01-03 08:42:43 UTC
(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 Stefaan De Roeck (RETIRED) gentoo-dev 2008-02-22 14:48:05 UTC
Should be fixed in net-fs/openafs-1.4.6_p20080222.

Thanks.