[ovs-discuss] Error compiling on CentOS 5.3

Paolo Cravero pcravero at as2594.net
Mon Oct 12 10:25:39 UTC 2009


Hello Ben,
thank you for the patch but I can't get through the compilation stage.

(Let me know if we should continue privately and/or attempt a chat session, 
even if we have 9 hrs time difference)

The *patch* applies both to 0.90.6 and to the latest git snapshot (downloaded 
2009-10-12 @0800Z) on CentOS 5.3 and Debian Lenny. Then problems start.

I tried and report below in the following order:
- centos 5.3 0.90.6
- centos 5.3 snapshot
- lenny 0.90.6 (the only one compiling)
- lenny snapshot

Since you didn't tell me which system/version to test on, I tried on all 4 
combinations. Unfortunately on CentOS 5.3 with out-of-the-box-package-versions 
there's no way to complete compilation.

I always used "./configure --with-l26=/lib/modules/`uname -r`/build"

Greetings,
Paolo Cravero


  ****************

On CentOS 5.3 stable release 0.90.6 I run
./configure --with-l26=/lib/modules/`uname -r`/build
to build the module, and the configure output in fact reports some extra stuff:

checking whether skb_transport_header matches in 
/lib/modules/2.6.18-164.el5xen/build/include/linux/skbuff.h... yes
checking whether raw matches in 
/lib/modules/2.6.18-164.el5xen/build/include/linux/skbuff.h... yes
checking whether skb_copy_from_linear_data_offset matches in 
/lib/modules/2.6.18-164.el5xen/build/include/linux/skbuff.h... yes
checking whether NLA_NUL_STRING matches in 
/lib/modules/2.6.18-164.el5xen/build/include/net/netlink.h... yes
checking whether ERR_CAST matches in 
/lib/modules/2.6.18-164.el5xen/build/include/linux/err.h... yes


When I run make it initially complains about:

cd . && /bin/sh /root/setup/openvswitch-0.90.6/build-aux/missing --run 
aclocal-1.10 -I m4
/root/setup/openvswitch-0.90.6/build-aux/missing: line 54: aclocal-1.10: 
command not found
WARNING: `aclocal-1.10' is missing on your system.  You should only need it if
          you modified `acinclude.m4' or `configure.ac'.  You might want
          to install the `Automake' and `Perl' packages.  Grab them from
          any GNU archive site.

CentOS 5.3 has aclocal-1.9 from automake 1.9.6, nothing more recent.

Then after an apparently second configure run it stops:

make[4]: Entering directory `/usr/src/kernels/2.6.18-164.el5-xen-x86_64'
   CC [M]  /root/setup/a/datapath/linux-2.6/genetlink-brcompat.o
In file included from include/linux/skbuff.h:30,
                  from 
/root/setup/a/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h:4,
                  from 
/root/setup/a/datapath/linux-2.6/compat-2.6/include/linux/netlink.h:4,
                  from 
/root/setup/a/datapath/linux-2.6/compat-2.6/include/net/genetlink.h:5,
                  from /root/setup/a/datapath/linux-2.6/genetlink-brcompat.c:1:
/root/setup/a/datapath/linux-2.6/compat-2.6/include/net/checksum.h:8: error: 
redefinition of "csum_unfold"
include/net/checksum.h:88: error: previous definition of "csum_unfold" was here
In file included from 
/root/setup/a/datapath/linux-2.6/compat-2.6/include/linux/netlink.h:4,
                  from 
/root/setup/a/datapath/linux-2.6/compat-2.6/include/net/genetlink.h:5,
                  from /root/setup/a/datapath/linux-2.6/genetlink-brcompat.c:1:
/root/setup/a/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h:48: error: 
redefinition of "__skb_cow"
include/linux/skbuff.h:1251: error: previous definition of "__skb_cow" was here
/root/setup/a/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h:63: error: 
redefinition of "skb_cow_head"
include/linux/skbuff.h:1293: error: previous definition of "skb_cow_head" was here

which is the same error as before.


  ****************

On CentOS 5.3 starting from snapshot, patch applies but required versions of

     - Autoconf version 2.60 or later.
     - Automake version 1.10 or later.
     - pkg-config.  We test with version 0.22.

are not available through official repositories. I get 2.59, 1.9.6 and 0.21-2 
respectively with yum. No way I can rebuild the configure script (running 
boot.sh complains about versions).

Moreover there seem to be a doc/src mismatch on versions (2.60 vs 2.63 on 
autoconf).


  ****************

On Lenny with lastest stable 0.90.6, patches correctly, then configure for 
module building:

checking whether skb_transport_header matches in 
/lib/modules/2.6.26-2-686/build/include/linux/skbuff.h... yes
checking whether raw matches in 
/lib/modules/2.6.26-2-686/build/include/linux/skbuff.h... no
checking whether skb_copy_from_linear_data_offset matches in 
/lib/modules/2.6.26-2-686/build/include/linux/skbuff.h... yes
checking whether NLA_NUL_STRING matches in 
/lib/modules/2.6.26-2-686/build/include/net/netlink.h... yes
checking whether ERR_CAST matches in 
/lib/modules/2.6.26-2-686/build/include/linux/err.h... yes
checking for /lib/modules/2.6.26-2-686/build/include/linux/log2.h... yes


Running 'make' runs configure again and compiles through the end. Make check 
passes all 9 tests (it failed once test-csum but it's probably due to the 
system running on a VM with ultrafast system clock).


  ****************

On Lenny with snapshot I have version mismatches as for CentOS:

configure.ac:15: error: Autoconf version 2.63 or higher is required
configure.ac:15: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
aclocal: autom4te failed with exit status: 63
autoreconf: aclocal failed with exit status: 63

autoconf (GNU Autoconf) 2.61
automake (GNU automake) 1.10.1
pkg-config is 0.22

Problem: while documentation states that autoconf 2.60+ is required, code asks 
for 2.63, and official repositories don't carry these recent versions.








More information about the discuss mailing list