[Pvfs2-users] Kernel Module - Compilation error

Peng Gu penggu at cse.unl.edu
Mon May 15 01:33:46 EDT 2006


Hi Murali,

You are right about the version mismatch. Here is what dmesg said:
pvfs2: disagrees about version of symbol struct_module

Now I am going to build the CVS tree and see what happens.

Thanks,
Peng


On 5/15/06, Murali Vilayannur <vilayann at mcs.anl.gov> wrote:
> Hi Peng,
> Perhaps, you could tell us what dmesg says about why insmod failed?
> Usually it is related to some unresolved symbols in the kmod or some
> kernel/module version mismatch..
> Also, can you attempt building the CVS tree itself and see if that works?
> Thanks,
> Murali
>
> On Sun, 14 May 2006, Peng Gu wrote:
>
> > I encountered a similar situation on my 4 pvfs2-server nodes.
> >
> > All of the four nodes are equipped with a Intel Xeon, Fedora Core 5,
> > pvfs2-1.4.0.
> >
> > At the very beginning, the kernel module won't make. Here are the errors I got.
> >
> > # make kmod
> >   CC [M]  /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.o
> > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c: In function ?pvfs2_setattr?:
> > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:321: warning:
> > implicit declaration of function ?pvfs2_acl_chmod?
> > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c: At top level:
> > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:402: error:
> > ?generic_setxattr? undeclared here (not in a function)
> > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:403: error:
> > ?generic_getxattr? undeclared here (not in a function)
> > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:404: error:
> > ?generic_removexattr? undeclared here (not in a function)
> > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c: In function
> > ?pvfs2_get_custom_inode?:
> > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:499: warning:
> > implicit declaration of function ?pvfs2_init_acl?
> > make[3]: *** [/usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.o] Error 1
> > make[2]: *** [_module_/usr/src/pvfs2-1.4.0/src/kernel/linux-2.6] Error 2
> > make[1]: *** [default] Error 2
> > make: *** [just_kmod] Error 2
> >
> >
> > Then I overwrite two files, namely "configure" and "configure.in"
> > (only these two files) from the official cvs tree. All the other files
> > are from pvfs2-1.4.0 tarball and are not touched.
> > The cvs command used to get the cvs tree was:
> > cvs -d :pserver:anonymous at cvs.parl.clemson.edu:/anoncvs co pvfs2
> >
> > Now I am able to make, make install, make kmod, make kmod_install.
> > But I got new problem here: insmod complains:
> > # insmod usr/src/pvfs2/src/kernel/linux-2.6/pvfs2.ko
> > insmod: error inserting
> > '/usr/src/pvfs2/src/kernel/linux-2.6/pvfs2.ko': -1 Invalid module
> > format
> >
> > Any ideas?
> >
> > Thanks in advance,
> >
> > Peng
> >
> >
> > On 3/23/06, Murali Vilayannur <vilayann at mcs.anl.gov> wrote:
> > > Hi Jonathan,
> > > For now, you could try the following stop-gap patch. (Rerun the configure
> > > script before compiling)
> > > Rob Latham has fixed most of the configure-time checks and build errors in
> > > CVS which should be part of the next release.
> > > Thanks,
> > > Murali
> > >
> > > On Thu, 23 Mar 2006, Jonathan Marti wrote:
> > >
> > > > Hi,
> > > >
> > > > I'm trying to make the pvfs2 kernel module but i get the errors shown
> > > > below. Could anybody help me?
> > > >
> > > > Thanks in advance
> > > >
> > > > [...]
> > > > make -C ../../../linux-2.6.5-7.252
> > > > O=../linux-2.6.5-7.252-obj/i386/default modules
> > > >   CC [M]  /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.o
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:256: error: parse
> > > > error before "gfp_t"
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:258: warning: function
> > > > declaration isn't a prototype
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c: In function
> > > > `pvfs2_releasepage':
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:259: error: `page'
> > > > undeclared (first use in this function)
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:259: error: (Each
> > > > undeclared identifier is reported only once
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:259: error: for each
> > > > function it appears in.)
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c: At top level:
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:271: error: unknown
> > > > field `capabilities' specified in initializer
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:271: error:
> > > > `BDI_CAP_NO_ACCT_DIRTY' undeclared here (not in a function)
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:271: error:
> > > > `BDI_CAP_NO_WRITEBACK' undeclared here (not in a function)
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:271: error:
> > > > initializer element is not constant
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:271: error: (near
> > > > initialization for `pvfs2_backing_dev_info.state')
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c: In function
> > > > `pvfs2_setattr':
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:321: warning: implicit
> > > > declaration of function `pvfs2_acl_chmod'
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c: At top level:
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:402: error:
> > > > `generic_setxattr' undeclared here (not in a function)
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:402: error:
> > > > initializer element is not constant
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:402: error: (near
> > > > initialization for `pvfs2_file_inode_operations.setxattr')
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:403: error:
> > > > `generic_getxattr' undeclared here (not in a function)
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:403: error:
> > > > initializer element is not constant
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:403: error: (near
> > > > initialization for `pvfs2_file_inode_operations.getxattr')
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:404: error:
> > > > `generic_removexattr' undeclared here (not in a function)
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:404: error:
> > > > initializer element is not constant
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:404: error: (near
> > > > initialization for `pvfs2_file_inode_operations.removexattr')
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c: In function
> > > > `pvfs2_get_custom_inode':
> > > > /usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.c:499: warning: implicit
> > > > declaration of function `pvfs2_init_acl'
> > > > make[5]: *** [/usr/src/pvfs2-1.4.0/src/kernel/linux-2.6/inode.o] Error 1
> > > > make[4]: *** [_module_/usr/src/pvfs2-1.4.0/src/kernel/linux-2.6] Error 2
> > > > make[3]: *** [modules] Error 2
> > > > make[2]: *** [modules] Error 2
> > > > make[1]: *** [default] Error 2
> > > > make: *** [just_kmod] Error 2
> > > >
> > > > --
> > > > Jonathan Marti
> > > > Barcelona Supercomputing Center - Centro Nacional de Supercomputación
> > > > http://www.bsc.es
> > > > jonathan.marti at bsc.es
> > > >
> > > > _______________________________________________
> > > > Pvfs2-users mailing list
> > > > Pvfs2-users at beowulf-underground.org
> > > > http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
> > > >
> > > >
> > >
> > > _______________________________________________
> > > Pvfs2-users mailing list
> > > Pvfs2-users at beowulf-underground.org
> > > http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
> > >
> > >
> > >
> > >
> >
> >
> _______________________________________________
> Pvfs2-users mailing list
> Pvfs2-users at beowulf-underground.org
> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
>



More information about the Pvfs2-users mailing list