can not compile openfabrics on centos 5.4 kernel 2.6.18-164
Centos 5.4 kernel: 2.6.18-164.2.1.el5.028stab066.10 trying to install OFED-1.5-rc6 we get the error below. Please provide any ideas how to make it work: -I/usr/src/kernels/2.6.18-164.2.1.el5.028stab066.10-i686/arc h//include \ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Wstrict-prototypes -Wundef -Werror-implicit-function-declaration -fno-delete-null-pointer-checks -fwrapv -Os -pipe -msoft-float -fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-puts -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mtune=generic -mregparm=3 -ffreestanding -Iinclude/asm-i386/mach-generic -Iinclude/asm-i386/mach-default -fomit-frame-pointer -g -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(clntproc)" -D"KBUILD_MODNAME=KBUILD_STR(lockd)" -c -o /var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/fs/lockd/.tmp_clnt proc.o /var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/fs/lockd/clntproc. c /var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/fs/lockd/clntproc. c: In function 'nlmclnt_setlockargs': /var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/fs/lockd/clntproc. c:131: error: 'system_utsname' undeclared (first use in this function) /var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/fs/lockd/clntproc. c:131: error: (Each undeclared identifier is reported only once /var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/fs/lockd/clntproc. c:131: error: for each function it appears in.) make[3]: *** [/var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/fs/lockd/clntproc .o] Error 1 make[2]: *** [/var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/fs/lockd] Error 2 make[1]: *** [_module_/var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.18-164.2.1.el5.028stab066.10-i686' make: *** [kernel] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.5438 (%build)
Re: can not compile openfabrics on centos 5.4 kernel 2.6.18-164
You have to patch the code -- use utsname() instead of system_utsname.
Could you please, give me a little bit more detail. Which code do i need to patch - kernel or OFED? Do you mean i have to recompile the OpenVZ kernel? Is there a ready patch for the openvz kernel?
You have to patch OFED code, replacing all occurences of system_utsname to utsname().
when i compile OFED-1.5-rc6 against the original CentOS 5.4 kernel it works just fine with no errors: ./install.pl -c ofed-all.conf -k 2.6.18-164.el5 when i compile it against OpenVZ kernel 2.6.18-164.2.1.el5.028stab066.10 it breaks with error: 'system_utsname' undeclared in clntproc.c. (there could be other errors but it breaks on this one at the moment) Do you have any other recommendation?
I am sorry, I do not have any recommendations for you today other than the one I have already written -- patch the OFED code, replacing all occurrences of system_utsname to utsname(). This is very right thing to do, please believe me. If you don't, ask any kernel developer who's aware of OpenVZ or at least namespaces in the mainstream kernel.