[OpenAFS] Re: openafs on debian with linux 2.6.18 kernel

Jan Pospisil honik@kma.zcu.cz
Wed, 25 Oct 2006 19:07:36 +0200 (CEST)


On Wed, 25 Oct 2006, Jeffrey Hutzelman wrote:

> On Wednesday, October 25, 2006 05:08:47 PM +0200 Jan Pospisil 
> <honik@kma.zcu.cz> wrote:
>
>> Hello, I've just found two more issues:
>> 
>> 1. In the source distribution openafs-1.4.2-src.tar (available on the
>> web), and therefore as well as in the openafs-modules-source debian
>> package, there is a wrong absolute path to cpp (there is no /lib/cpp on
>> debians i386_*). The faulty files are:
>> 
>> ./src/lwp/Makefile.in
>
> You don't care; this use doesn't apply to linux
>
>> ./src/sys/Makefile.in
>
> ... and this one only applies to AIX and HP-UX
>
>> ./src/shlibafsrpc/Makefile.in
>> ./src/libafsrpc/Makefile.in
>
> These uses apply to Linux, but I've never seen a complaint before.
> /lib/cpp has been the traditional location of the C preprocessor for decades, 
> and that reference has been there since we got the code from IBM. Also, 
> there's a cpp in my Debian system.  Perhaps you need to do
> 'apt-get install cpp' ?

Of course I have cpp installed, but once more, it is not in /lib/cpp, but 
in /usr/bin/cpp. This is the standard location on all Linuxes I've ever 
seen (Debian, RH, SuSe, Scientific, ...).


>> 2. The build fails with the following error:
>> 
>> CC [M] /usr/src/modules/openafs/src/libafs/MODLOAD-2.6.18-SP/afs_analyze.o
>> In file included from /usr/src/modules/openafs/src/afs/afsincludes.h:44,
>>                   from
>> /usr/src/modules/openafs/src/libafs/MODLOAD-2.6.18-SP/afs_analyze.c:36:
>> /usr/src/modules/openafs/src/afs/afs.h:157: error: field 'Fid' has
>> incomplete type
>> /usr/src/modules/openafs/src/afs/afs.h:201: error: field 'fid' has
>> incomplete type
>> 
>> ...

>>> However, that error suggests you somehow have non-AFS headers in your
>>> include path interfering with the AFSFid type being defined.
>
> What Derrick is telling you is that this is not a bug in OpenAFS; it's a 
> problem with your build environment.  We can't guess what it is; you'll have 
> to look for it.
>
> The AFSFid type is defined in src/fsint/common.xg.
>
> As Derrick said, something is interfering with the build.  In this case, it 
> looks like it's your lack of a cpp, which is preventing rxgen from including 
> common.xg when afsint.xg is compiled into afsint.h.  So again, the solution 
> to your problem is
>
> apt-get install cpp

Unfortunately this cannot be the solution (since I definitely have cpp and 
as I already mentioned, I temporarily solved the cpp problem by changing 
the /lib/cpp to /usr/bin/cpp in above Makefiles, no other changes).

I tried to run the find through the whole filesystem to look for all *.h 
files containing AFSFid, but didn't find anything. I have two identical 
systems with the only difference, and it is the kernel tree. I am building 
fine on system with PENTIUMM and got these errors on ATHLON (these are the 
major differences, but I have no idea if relevant or not), both 
linux-2.6.18.

Thank you in advance for other suggestions and help.
Regards
Jan

----------------------------------------------------------------------
   Ing. Jan Pospisil, Ph.D.           e-mail: Jan.Pospisil@kma.zcu.cz
   University of West Bohemia         phone:  (+420) 37763-2675
   Department of Mathematics          fax:    (+420) 37763-2602
   Plzen, Czech Republic              address: Univerzitni 22, 306 14
----------------------------------------------------------------------