shared-only build issue

Ben Huntsman <[email protected]> Fri, 13 Dec 2024 03:49:21 +0000
Newsgroups gmane.comp.file-systems.openafs.devel
Message-ID <BYAPR07MB587957262C0675F0F937900AA7382@BYAPR07MB5879.namprd07.prod.outlook.com>
Hi everyone-
   Some testing for one of the recent patches in gerrit revealed that at least on Linux, if you run ./configure with the --disable-static option, the build will fail with the following error:

        ../../src/auth/liboafs_auth.la ../../src/cmd/liboafs_cmd.la ../../src/sys/liboafs_sys.la ../../src/util/liboafs_util.la ../../src/opr/liboafs_opr.la  -lafshcrypto -lrokenafs -lpthread -lresolv
/home/build/openafs/src/rxkad/.libs/liboafs_rxkad.so: undefined reference to `rxs_Ref'
/home/build/openafs/src/rxkad/.libs/liboafs_rxkad.so: undefined reference to `rxs_SetRefs'
/home/build/openafs/src/rxkad/.libs/liboafs_rxkad.so: undefined reference to `rxs_DecRef'
collect2: error: ld returned 1 exit status
make: *** [afsd] Error 1

   I have a patch that will fix that, but the build still doesn't complete.  The next error is in tbutc:

/bin/sh ../../libtool --quiet --mode=link --tag=CC  gcc -static   -L/home/build/openafs/lib -L/home/build/openafs/lib  -O  -I./../bucoord -I./../volser -I../bucoord -I../volser   -O   -I/home/build/openafs/src/config -I/home/ben/openafs/include -I. -I.     -pthread -D_REENTRANT -DAFS_PTHREAD_ENV  -o butc dbentries.o tcprocs.o lwps.o tcmain.o list.o recoverDb.o tcudbprocs.o dump.o tcstatus.o butc_xbsa.o afsxbsa.o ubik_db_if.o ../bucoord/volstub.o ../bucoord/dlq.o status.o ../bucoord/bucoord_errs.o /home/ben/openafs/lib/libbudb.a /home/ben/openafs/lib/libbubasics.a libbutm.a ../../src/kauth/liboafs_kauth.la ../../src/volser/liboafs_volser.la ../../src/vlserver/liboafs_vldb.la ../../src/ubik/liboafs_ubik.la ../../src/rxkad/liboafs_rxkad.la ../../src/cmd/liboafs_cmd.la ../../src/util/liboafs_util.la ../../src/opr/liboafs_opr.la ../../src/usd/liboafs_usd.la ../../src/lwp/liboafs_lwpcompat.la ../../src/sys/liboafs_sys.la /home/ben/openafs/lib/libprocmgmt.a \
      -lafshcrypto -lrokenafs -lpthread -lresolv
../../src/kauth/.libs/liboafs_kauth.so: undefined reference to `crypt'


   I'm having a hard time tracking down where it expects to get 'crypt' from.  Interestingly, butc builds just fine.  They use slightly different build rules.  tbutc uses:

butc: ${BUTCOBJS} ${BUTCLIBS}
        $(LT_LDRULE_static) ${BUTCOBJS} ${BUTCLIBS} \
                $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS}

   Are we just missing a library here, or is there a libtool issue here?

Thanks!

-Ben