[OpenAFS] Compilation problems

Kenan Avdic kavdic@gmail.com
Thu, 19 Feb 2015 19:18:12 +0100


Hi,

I'm having some strange problems compiling openafs from git master. I
am on gentoo hardened, kernel 3.2.65 and gcc 4.8.3 hardened.

Compilation of the kernel module fails with:
Building in directory: MODLOAD-3.2.65-hardened-r2-MP
make[4]: Entering directory
'/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP'
env EXTRA_CFLAGS=3D""
/home/xyko/openafs/openafs-git/src/libafs/make_kbuild_makefile.pl
MODLOAD-3.2.65-hardened-r2-MP libafs.ko
/home/xyko/openafs/openafs-git/src/config/Makefile.config Makefile.afs
Makefile.common
( env EXTRA_CFLAGS=3D"" \
        make -C /lib/modules/3.2.65-hardened-r2/build
M=3D/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP
modules 2>&1 \
        || echo "FAILURE: make exit code $?" ) | tee .makelog
make[5]: Entering directory '/usr/src/linux-3.2.65-hardened-r2'
  CC [M]  /home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened=
-r2-MP/rand-fortuna-kernel.o
/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ran=
d-fortuna-kernel.c:643:5:
error: invalid initializer
     fortuna_seed,
     ^
/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ran=
d-fortuna-kernel.c:643:5:
error: (near initialization for =E2=80=98hc_rand_fortuna_method.<anonymous>=
=E2=80=99)
/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ran=
d-fortuna-kernel.c:644:5:
warning: initialization from incompatible pointer type [enabled by
default]
     fortuna_bytes,
     ^
/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ran=
d-fortuna-kernel.c:644:5:
warning: (near initialization for =E2=80=98hc_rand_fortuna_method.seed=E2=
=80=99)
[enabled by default]
/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ran=
d-fortuna-kernel.c:646:5:
warning: initialization from incompatible pointer type [enabled by
default]
     fortuna_add,
     ^
/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ran=
d-fortuna-kernel.c:646:5:
warning: (near initialization for =E2=80=98hc_rand_fortuna_method.pseudoran=
d=E2=80=99)
[enabled by default]
/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ran=
d-fortuna-kernel.c:649:1:
warning: initialization from incompatible pointer type [enabled by
default]
 };
 ^
/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ran=
d-fortuna-kernel.c:649:1:
warning: (near initialization for =E2=80=98hc_rand_fortuna_method.add=E2=80=
=99)
[enabled by default]
scripts/Makefile.build:305: recipe for target
'/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP/ra=
nd-fortuna-kernel.o'
failed
make[6]: *** [/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hard=
ened-r2-MP/rand-fortuna-kernel.o]
Error 1
Makefile:1451: recipe for target
'_module_/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-=
r2-MP'
failed
make[5]: *** [_module_/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2=
.65-hardened-r2-MP]
Error 2
make[5]: Leaving directory '/usr/src/linux-3.2.65-hardened-r2'
FAILURE: make exit code 2
Makefile.afs:280: recipe for target 'libafs.ko' failed
make[4]: *** [libafs.ko] Error 1
make[4]: Leaving directory
'/home/xyko/openafs/openafs-git/src/libafs/MODLOAD-3.2.65-hardened-r2-MP'
Makefile:177: recipe for target 'linux_compdirs' failed
make[3]: *** [linux_compdirs] Error 2
make[3]: Leaving directory '/home/xyko/openafs/openafs-git/src/libafs'
Makefile:467: recipe for target 'libafs' failed
make[2]: *** [libafs] Error 2
make[2]: Leaving directory '/home/xyko/openafs/openafs-git'
Makefile:655: recipe for target 'build' failed
make[1]: *** [build] Error 2
make[1]: Leaving directory '/home/xyko/openafs/openafs-git'
Makefile:32: recipe for target 'all' failed
make: *** [all] Error 2

I took a quick look at the source in question and it seems perfectly
fine to me. I've also tried compiling with the vanilla gcc profile
which should disable SSP/PIE.

I've also tried the 1.6.10 tarball and it fails on a different
aggregate initialisation.

Any ideas?

/Kenan