On Wed, 19 Mar 2014, Gergely Risko wrote:

Hi,

AIX noob here :(

Can someone please help me figure out why this fails:
http://buildbot.openafs.org:8010/builders/aix-builder/builds/11224/steps/compile/logs/stdio

         /bin/sh ../../libtool --quiet --mode=link --tag=CC  xlc_r -static  
-L/scratch/buildbot/slave2/power-aix/build/lib 
-L/scratch/buildbot/slave2/power-aix/build/lib  -O     -O -K -D_NONSTD_TYPES 
-D_MBI=void   -I/scratch/buildbot/slave2/power-aix/build/src/config 
-I/scratch/buildbot/slave2/power-aix/build/include  -I. -I.       
-DAFS_PTHREAD_ENV   -o vlserver vlserver.o vlutils.o vlprocs.o vldbint.ss.o  
vldbint.xdr.o  ../../src/rxstat/liboafs_rxstat.la  
../../src/audit/liboafs_audit.la  ../../src/ubik/liboafs_ubik.la  
../../src/sys/liboafs_sys.la  ../../src/rx/liboafs_rx.la  
../../src/rxstat/liboafs_rxstat.la  ../../src/rxkad/liboafs_rxkad.la  
../../src/lwp/liboafs_lwpcompat.la  ../../src/cmd/liboafs_cmd.la  
../../src/util/liboafs_util.la  ../../src/opr/liboafs_opr.la -lafshcrypto 
-lrokenafs -lpthread -ldl -ldl
ld: 0711-317 ERROR: Undefined symbol: .afsconf_CheckRestrictedQuery
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.

I have no access to an AIX box, so have no chance to debug this.  Google
said that this could be because of linking order, but vlprocs.c is
already using afsconf_SuperUser which is in the same file as the new
afsconf_CheckRestrictedQuery.  So this seems strange to me.

The AIX builder is the only one in the current set of "triggered" builders (triggered for each gerrit submission) that enforces library export lists when building executables. The OS X builders would also do so, but were disabled since a compiler update added more -Werror behavior that triggered on our code.

The fix is to export the afsconf_CheckRestrictedQuery from liboafs_auth and/or libafsauthent (as appropriate), by adding it (sorted alphabetically) to the files liboafs_auth.la.sym and/or libafsauthent.la.sym, as appropriate. The dependencies in the root Makefile.in suggest that libafsauthent is the relevant one for this executable, but I don't remember enough of the distinction between the two to guarantee that the new symbol will not need to be exported from both of the auth libraries.

-Ben Kaduk
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to