I have a Ubuntu 14.04 aarch64 VM and am trying to compile openafs on it. I'm using the Ubuntu/Debian source packages (tried both 1.6.7 and 1.6.9), and after modifying the source to recognize aarch64 it begins to compile but eventually fails with an error of,

gcc -I/home/mwaltz/debian/openafs-1.6.9/src/config -I/home/mwaltz/debian/openafs-1.6.9/include -I. -I. -D_LARGEFILE64_SOURCE -o rmtsysd rmtsysd.o libsys.a /home/mwaltz/debian/openafs-1.6.9/lib/librx.a libsys.a /home/mwaltz/debian/openafs-1.6.9/lib/liblwp.a /home/mwaltz/debian/openafs-1.6.9/lib/util.a -lresolv /home/mwaltz/debian/openafs-1.6.9/lib/liblwp.a(lwp.o): In function `Abort_LWP': /home/mwaltz/debian/openafs-1.6.9/src/lwp/./lwp.c:796: undefined reference to `savecontext' /home/mwaltz/debian/openafs-1.6.9/lib/liblwp.a(lwp.o): In function `Dispatcher': /home/mwaltz/debian/openafs-1.6.9/src/lwp/./lwp.c:982: undefined reference to `returnto' /home/mwaltz/debian/openafs-1.6.9/lib/liblwp.a(lwp.o): In function `LWP_QWait': /home/mwaltz/debian/openafs-1.6.9/src/lwp/./lwp.c:246: undefined reference to `savecontext' /home/mwaltz/debian/openafs-1.6.9/lib/liblwp.a(lwp.o): In function `LWP_CreateProcess': /home/mwaltz/debian/openafs-1.6.9/src/lwp/./lwp.c:302: undefined reference to `savecontext' /home/mwaltz/debian/openafs-1.6.9/src/lwp/./lwp.c:361: undefined reference to `savecontext' /home/mwaltz/debian/openafs-1.6.9/src/lwp/./lwp.c:372: undefined reference to `savecontext' /home/mwaltz/debian/openafs-1.6.9/src/lwp/./lwp.c:411: undefined reference to `savecontext' /home/mwaltz/debian/openafs-1.6.9/lib/liblwp.a(lwp.o):/home/mwaltz/debian/openafs-1.6.9/src/lwp/./lwp.c:420: more undefined references to `savecontext' follow
collect2: error: ld returned 1 exit status
make[5]: *** [rmtsysd] Error 1
make[5]: Leaving directory `/home/mwaltz/debian/openafs-1.6.9/src/sys'

I did some research into this error, and found a thread on this list from 2009 regarding the ppc architecture [1] and appears it's related to the aarch64 glibc not having support for ucontext. Looking at src/config/param.arm_linux26.h, it specifically says that glibc doesn't implement getcontext/savecontext for arm. The ppc thread mentioned lwp vs pthreads, and I'm wondering if for aarch64 there needs to be something updated to use pthreads instead of lwp.

I'm not really a developer and this is about the limit of my understanding of the problem, so any help on how to work around this error and getting openafs to compile on aarch64 (particularly via the debian packages) would be appreciated.

I've also opened a bug with Ubuntu regarding this [2].

1. https://lists.openafs.org/pipermail/openafs-devel/2009-June/016791.html
2. https://bugs.launchpad.net/ubuntu/+source/openafs/+bug/1364544

Thank you,

--
Micheal Waltz
Unix Configuration Management (go/ucm)
Qualcomm Inc.

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

Reply via email to