Coda File System

Re: cpp sanity check fails on parisc linux

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Thu, 19 Feb 2004 14:55:01 -0500
On Thu, Feb 12, 2004 at 08:45:34PM +0100, Frank Brodbeck wrote:
> I'm having here some problems compiling the lwp source on my hppa1.1
> machine. It's a B180L Visualize Workstation on which I run linux
> 2.6.3-rc1-pa2 kernel from the parisc-linux cvs.
> 
> I tried both the lwp-1.10 tarball and the CVS Version. Both with
> different failures.

LWP requires a bit of assembly magic to save and restore the current
registers and stack frame to switch between the userspace threads. I
guess there is no parisc assembly. I do see implementations for alpha,
arm, m68k, mips ppc, sparc, luna88k?, ns32k?, and ofcourse i386.

I also have something tagged as process.S-AIX lying around, but I'm not
sure which cpu it was written for, I'm guessing it is a ppc variant.

In any case, this is the non-trivial part of LWP. There are several
'recently introduced' portable C functions such as setjmp/longjmp and
even better setcontext/getcontext. Ideally LWP would use those in
preference to the assembly routines, except that getcontext and longjmp
really don't match the semantics of returnto. At a first try, I
couldn't (easily) implement either one given the other.

> make. After a while make did complain, that fasttime.lo would be the
> wrong fileformat. Okay I thougth, maybe due to first compilation on my
> iBook. Well the CVS worked so perfectly for coda so I decided to fetch
> lwp from CVS too and started ``./bootstrap.sh" after I have fetched it.
> Well bootstrap didn't even finish without complaining a bit...
> 
> farfuglaheimili:/usr/src/lwp# ./bootstrap.sh
> autoheader: error: AC_CONFIG_HEADERS not found in configure.in
> aclocal: configure.in: 25: macro `AM_PROG_AS' not found in library

This is an automake problem, versions before 1.4 (or 1.5?) didn't have
this macro, but the later versions _require_ this macro. So it seems
impossible to create a configure.in file that works for both slightly
older and current versions of automake.

> configure.in: 28: required file `./ltmain.sh' not found
> configure.in: 9: required file `./config.h.in' not found

Do you have libtool installed?

> Okay, then back to the lwp-1.10 tarball I thought. I changed to the
> lwp-1.10 dir and made ``make clean && ./bootstrap.sh" which made it
> perfectly through. ./configure but then did complain that my cpp fails
> the sanity check...

I'm not sure, that is one of autoconf's internal tests that it seems to
automatically tack onto anything that requires the use of CPP. It looks
like cpp does not complain about missing headers, so that the 'does this
system have foo.h' configure tests would not work.

> Could it be, that hppa1.1 architecture is not supported or what am I
> doing wrong?

Well, yes it it not yet supported. But I would have expected the failure
to be much later on when the linker figures out that there is no
implementation for savecontext/returnto on your architecture.

Jan
Received on 2004-02-19 14:57:16