[OpenAFS-devel] Compiling openafs on arm64/aarch64 architecture

Micheal Waltz mwaltz@qualcomm.com
Tue, 2 Sep 2014 13:56:30 -0700


You actually don't need aarch64 hardware for this (although having real 
hardware would help with IO sluggishness and single CPU limitation). I'm 
using the qemu-system-aarch64 emulator and booting a deboostrap install 
of the Ubuntu 14.04 arm64 port on a qcow2 image.

I've thrown my rough notes up on how to setup a qemu arm64 Ubuntu VM here,

https://gist.github.com/ecliptik/81ad7484d522097dca7f

Micheal

On 09/02/14 13:21, Troy Benjegerdes wrote:
> I suspect this would get fixed real fast if you can send some developers
> some aarch64 hardware ;)
>
> Or if there's a reasonably priced eval kit I would like trying out
> a 64 bit arm...
>
>
> On Tue, Sep 02, 2014 at 12:55:31PM -0700, Micheal Waltz wrote:
>> 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
>> OpenAFS-devel@openafs.org
>> https://lists.openafs.org/mailman/listinfo/openafs-devel

-- 
Micheal Waltz
Unix Configuration Management (go/ucm)
Qualcomm Inc.
Phone: 858-845-6083
Cell: 858-882-7079