mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
libtool: Make libfoo.krb depend on libfoo
During parallel builds, we can run the final 'libtool --mode=link' step for, say, pam_afs.la and pam_afs.krb.la in parallel. When libtool runs --mode=link for these libraries, it effectively does the following (amongst many other steps): - rm -rf .libs/"$libname".* - mkdir .libs/"$libname".lax - mkdir .libs/"$libname".lax/libopr_pic.a The 'rm -rf' cleans up any lingering files from previous runs in the .libs dir (e.g. .libs/pam_afs.a, .libs/pam_afs.lai, etc etc). The '.lax' directory is used as a temporary space to extract object files in dependant libs. And of course it creates various other files in there named like .libs/pam_afs.lai. But if we're building a library called pam_afs.krb.la, then some of our temporary files will be named like .libs/pam_afs.krb.lax, which get deleted when building pam_afs.la when it deletes ".libs/pam_afs.*". So, if we build pam_afs.la while the libtool command for pam_afs.krb.la is using .libs/pam_afs.krb.lax, the temporary files can get deleted out from under us, causing rare confusing libtool errors. For example: /bin/sh ../../libtool --quiet --mode=link --tag=CC gcc -rpath /usr/local/lib \ -module -no-undefined -o pam_afs.la [...] /bin/sh ../../libtool --quiet --mode=link --tag=CC gcc -rpath /usr/local/lib \ -module -no-undefined -o pam_afs.krb.la [...] ../../libtool: line 1719: cd: .libs/pam_afs.krb.lax/libopr_pic.a: No such file or directory make[3]: *** [Makefile:76: pam_afs.krb.la] Error 1 make[3]: *** Waiting for unfinished jobs.... Fortunately, most of the libraries we build don't have dots in their name, and so avoid this issue. But we do have a few libraries that build a ".krb" variant, and so can be impacted by this. This includes pam_afs.krb, libauth.krb, and libkauth.krb. To make sure these libraries don't encounter this problem, make the .krb variant depend on the non-.krb variant, so the libraries aren't built in parallel. Change-Id: Icb96a721b481bc3d99c9e24cf81fcfbbf7d498f6 Reviewed-on: https://gerrit.openafs.org/15328 Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
This commit is contained in:
parent
af1a384072
commit
d93871b054
@ -98,7 +98,7 @@ ktc.krb.lo: ktc.c ${INCLS} ${TOP_INCDIR}/afs/vice.h
|
||||
libauth.a: $(LT_objs)
|
||||
$(LT_LDLIB_lwp) $(LT_objs)
|
||||
|
||||
libauth.krb.a: $(KRB_objs)
|
||||
libauth.krb.a: libauth.a $(KRB_objs)
|
||||
$(LT_LDLIB_lwp) $(KRB_objs)
|
||||
|
||||
liboafs_auth.la: liboafs_auth.la.sym $(LT_objs) $(LT_deps)
|
||||
|
@ -184,7 +184,7 @@ Kkauth.h: kauth.rg
|
||||
libkauth.a: $(LWP_objs)
|
||||
$(LT_LDLIB_lwp) $(LWP_objs)
|
||||
|
||||
libkauth.krb.a: $(KRB_objs)
|
||||
libkauth.krb.a: libkauth.a $(KRB_objs)
|
||||
$(LT_LDLIB_lwp) $(KRB_objs)
|
||||
|
||||
kas.o: kas.c ${INCLS} AFS_component_version_number.o
|
||||
|
@ -70,7 +70,7 @@ pam_afs.la: $(LT_objs) $(LT_deps) \
|
||||
afs_setcred.lo afs_auth.lo afs_util.lo ktc.lo \
|
||||
$(LT_objs) $(LT_deps) $(LT_libs)
|
||||
|
||||
pam_afs.krb.la: $(LT_objs) $(LT_deps) \
|
||||
pam_afs.krb.la: pam_afs.la $(LT_objs) $(LT_deps) \
|
||||
afs_setcred_krb.lo afs_auth_krb.lo afs_util_krb.lo \
|
||||
ktc_krb.lo pam_afs.map
|
||||
$(LIBTOOL) --quiet --mode=link --tag=CC $(MT_CC) $(XLDFLAGS) -rpath $(libdir) \
|
||||
|
Loading…
Reference in New Issue
Block a user