From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Olsowski Subject: compilation errors for remus sch_queue for 2.6.31.13-pvops Date: Thu, 17 Jun 2010 10:00:53 +0200 Message-ID: <4C19D635.4010004@uni.leuphana.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org Hi there. I run Xen 4.0 with 2.6.31.13 pvops dom0 kernel. My kernel sources reside in /usr/src/linux-2.6-xen, the xen sources in /usr/src/xen-4.0.0. Since i did not compile a kernel in the xen sources (just did make xen tools install-xen install-tools) it does not automagically compile the kmod stuff for remus. So if i wanted to compile it while compiling xen i have to edit the Makefile of tools/remus/kmod: KERNELDIR =3D /usr/src/linux-2.6-xen I figured i could start the compilation manually but i get the same errors as in the normal "make xen" (of course): tarballerina:/usr/src/xen-4.0.0/tools/remus/kmod# make -C /lib/modules/2.6.31.13-xen0/build SUBDIRS=3D`pwd` modules make: Entering directory `/usr/src/linux-2.6-xen' CC [M] /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.o /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:19:26: error: linux/config.h: No such file or directory /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c: In function =E2=80=98is_= foreign=E2=80=99: /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:51: error: implicit declaration of function =E2=80=98xen_feature=E2=80=99 /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:51: error: =E2=80=98XENFEAT_auto_translated_physmap=E2=80=99 undeclared (first use i= n this function) /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:51: error: (Each undeclared identifier is reported only once /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:51: error: for each function it appears in.) /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:52: error: =E2=80=98phys_to_machine_mapping=E2=80=99 undeclared (first use in this f= unction) /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:52: error: =E2=80=98FOREIGN_FRAME_BIT=E2=80=99 undeclared (first use in this functio= n) /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c: In function =E2=80=98skb_remove_foreign_references=E2=80=99: /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:79: error: implicit declaration of function =E2=80=98kmap_skb_frag=E2=80=99 /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:79: warning: assignment makes pointer from integer without a cast /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:83: error: implicit declaration of function =E2=80=98kunmap_skb_frag=E2=80=99 /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c: In function =E2=80=98que= ue_change=E2=80=99: /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:177: error: implicit declaration of function =E2=80=98netif_schedule=E2=80=99 /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:177: error: =E2=80=98stru= ct Qdisc=E2=80=99 has no member named =E2=80=98dev=E2=80=99 /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c: At top level: /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:195: warning: initialization from incompatible pointer type /usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.c:196: warning: initialization from incompatible pointer type make[1]: *** [/usr/src/xen-4.0.0/tools/remus/kmod/sch_queue.o] Error 1 make: *** [_module_/usr/src/xen-4.0.0/tools/remus/kmod] Error 2 make: Leaving directory `/usr/src/linux-2.6-xen' The linux/config.h part leads me to believe that this module was intended for 2.6.18, but since xen is "shipped" with 2.6.31 this should not be. Especially since the fault tolerance via remus is one of the biggest features of 4.0. Due to a lack of documenation i am unable to compile the kernel module. Shouldnt the module be part of the kernel and not of xen anyway? How should i proceed, is there some documentation on how to compile the sch_queue module for 2.6.31+ kernels? One user on #xen on freenode told me that he had a running 2.6.32 kernel with working remus but he used his distribution packages, so its not impossible i guess. On a side note: Why does the README in the remus directory point to the remus project website? That hasnt even been updated since last year and just has way too little information. I would be willing to write more detailed stuff for the xensource wiki once i get remus to work. best regards --- Andreas