[OpenAFS-devel] Re: Difficulties to compile OpenAFS 1.8.0 alpah1 e.g. on Solaris x86 5.10

Benjamin Kaduk kaduk@mit.edu
Fri, 27 Jan 2017 11:13:20 -0600


On Fri, Jan 27, 2017 at 06:04:28PM +0100, Karl Behler wrote:
> Dear Ben,
> 
> I restarted my effort to get 1.8.0 compiled on Solaris 5.10 x86, but it 
> still fails like follows:
> 
> > /opt/solarisstudio12.3/bin/cc -mt -DAFS_PTHREAD_ENV -Dsolaris 
> > -DAFS_SUN5_ENV -dy -Bdynamic -m64 \ 
> > -L/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/lib 
> > -L/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/lib -o linktest \ 
> > ./linktest.c -I. -I.. -I../nfs 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/afs 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/afs/UKERNEL 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/config 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/rx 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/rx/UKERNEL 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/rxkad 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/util 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/afs 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/afs/UKERNEL 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/rxkad 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/config 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/fsint 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/vlserver 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/libuafs 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/auth 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/include/afs 
> > -I/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/include -DUKERNEL \ 
> > libuafs.a /afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/lib/libcmd.a \ 
> > /afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/lib/libafsutil.a 
> > /afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/lib/libopr.a \ -lafshcrypto 
> > -lrokenafs -lsocket -lnsl -lthread -lm -ldl -lresolv -lsocket -lnsl 
> > -lintl -ldl 
> > =-O"/afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/src/afs/UKERNEL/sysincludes.h", 
> > line 839: warning: syntax error: empty declaration 
> > /usr/gnu/bin/ginstall -c -d 
> > /afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/lib/perl 
> > /usr/gnu/bin/ginstall -c -d 
> > /afs/ipp/home/k/kcb/src/openafs/1.8.0.pre1/lib/perl/AFS mkdir -p 
> > PERLUAFS =-Oswig -perl5 -o PERLUAFS/ukernel_swig_perl.c 
> > ./ukernel_swig.i *** Signal 11 - core dumped make: Fatal error: 
> > Command failed for target `PERLUAFS/ukernel_swig_perl.c' Current 
> > working directory 
> > /afs/ipp-garching.mpg.de/home/k/kcb/src/openafs/1.8.0.pre1/src/libuafs 
> > *** Error code 1 make: Fatal error: Command failed for target 
> > `libuafs' Current working directory 
> > /afs/ipp-garching.mpg.de/home/k/kcb/src/openafs/1.8.0.pre1 *** Error 
> > code 1 make: Fatal error: Command failed for target `build' Current 
> > working directory 
> > /afs/ipp-garching.mpg.de/home/k/kcb/src/openafs/1.8.0.pre1 *** Error 
> > code 1 make: Fatal error: Command failed for target `all' 
> 
> This "swig" (second smiley) seems to be a make step which was not 
> present in AFS 1.6.
> In fact I had to get and build swig (and pcre) first to get this going.
> While swig does not core-dump on it's own test cases. (Though "make -k 
> check" did not make the target.)
> It core dumps for the PERLUAFS interface.

Ah, thanks for sending this log.  The swig thing is a "well-known" issue,
in that a couple of the buildbot builders have been running into it
for a very long time, and I haven't been able to reproduce it locally
to debug.  (I'm not sure how much time anyone else has put into understanding
the issue.)

> Do you have any idea how to proceed. (I doubt that I'm in the position 
> to understand why swig core-dumps.)
> 
> Is there a way to circumvent making the PERLUAFS?

It's probably best to just skip trying to build that part.  Unfortunately,
the current openafs sources don't have an good way to do that (we will
add one before the final release).  It may be easiest to just rename
swig to swig.old while you run configure.  (You can move it back before
building openafs; the configure stage should be enough.)  Alternately,
you could hack up src/cf/swig.m4 and rerun regen.sh, if you can't move
swig out of the way.

> And what about the message marked with the first smiley? May be you 
> better understand the Sun/Oracle compilers "emotions" about 
> src/afs/UKERNEL/sysincludes.h

It looks like it's complaining about the extra semicolon after the end
of the function definition for panic().  Probably just left from
copy/paste of the prototype above it.

Thanks again,

Ben