[OpenAFS-devel] GNU glibc >=2.26 and openafs

Benjamin Kaduk kaduk@mit.edu
Mon, 11 Dec 2017 10:54:00 -0600


On Mon, Dec 11, 2017 at 09:53:48AM +0100, Peter Gille wrote:
>=20
> On 2017-12-10 20:38:04 +0000, Benjamin Kaduk <kaduk@mit.edu> wrote:
>=20
> > On Sun, Dec 10, 2017 at 01:58:43PM +0100, Peter Gille wrote:
> >>
> >> On 2017-12-09 19:45:27 +0000, Benjamin Kaduk <kaduk@mit.edu> wrote:
> >>
> >> > Could you give the above patches a try and see if they help?
> >>
> >> They seem to work on 1.8.0_pre3 but I'm getting some unrelated linking
> >> errors there so I can't actually run it at the moment.
> >
> > Please tell me more about the linker errors on 1.8.0pre3!  Until
> > now, the only known potential blocker for 1.8.0-final is the issue
> > with getcwd() failures on RHEL 7.4, so we'd really like to hear more
> > about peoples' experiences with the latest beta.
>=20
> When compiling 1.8.0_pre3 + these patches with './configure && make' I
> get the following error (without the patches it of course errors out
> earlier AFAICT):
>=20
> gcc -fPIC     -O   -I/var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work/o=
penafs-1.8.0pre3/src/config -I/var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1=
/work/openafs-1.8.0pre3/include -I. -I.      -o map.o -c map.c
> gcc   -L/var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0p=
re3/lib   -O      -O   -I/var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work=
/openafs-1.8.0pre3/src/config -I/var/tmp/portage/net-fs/openafs-1.8.0_pre3-=
r1/work/openafs-1.8.0pre3/include -I. -I.      -o ptserver ptserver.o ptuti=
ls.o ptprocs.o ptint.ss.o .lwp/ptint.xdr.o \
>         utils.o map.o /var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work/=
openafs-1.8.0pre3/lib/libubik.a /var/tmp/portage/net-fs/openafs-1.8.0_pre3-=
r1/work/openafs-1.8.0pre3/lib/libauth.a /var/tmp/portage/net-fs/openafs-1.8=
=2E0_pre3-r1/work/openafs-1.8.0pre3/lib/librxkad.a /var/tmp/portage/net-fs/=
openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/librxstat.a /var/tmp/porta=
ge/net-fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/librx.a /var/tmp=
/portage/net-fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/liblwp.a /=
var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/lib=
cmd.a /var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/=
lib/libafscom_err.a /var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work/open=
afs-1.8.0pre3/lib/libsys.a /var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/wo=
rk/openafs-1.8.0pre3/lib/libaudit.a /var/tmp/portage/net-fs/openafs-1.8.0_p=
re3-r1/work/openafs-1.8.0pre3/lib/libafsutil.a /var/tmp/portage/net-fs/open=
afs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/libopr.a /var/tmp/portage/net-=
fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/libafsrfc3961.a /var/tm=
p/portage/net-fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/libafshcr=
ypto_lwp.a -lroken -lresolv
> /var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/=
libauth.a(userok.o): In function `ParseLine':
> userok.c:(.text+0x147): undefined reference to `base64_decode'
> /var/tmp/portage/net-fs/openafs-1.8.0_pre3-r1/work/openafs-1.8.0pre3/lib/=
libauth.a(userok.o): In function `afsconf_AddIdentity':
> userok.c:(.text+0xbd9): undefined reference to `base64_encode'
> collect2: error: ld returned 1 exit status

Ah, are you configuring with external/system roken?  Current heimdal
roken has renamed these symbols to have an rk_ prefix, but our
in-tree snapshot is from before that change.  Debian is dealing with
this via
https://anonscm.debian.org/cgit/pkg-k5-afs/openafs.git/tree/debian/patches/=
0003-Catch-up-to-roken-s-rename-of-base64-symbols.patch?h=3Dexperimental
=2E
I guess we could make configure smart enough to figure out which one
to use, now that I think about it.  (I had mostly been assuming that
we would pull in a newer shapsnot of heimdal, but that work has not
been prioritized.)

-Ben