Hello, i''am trying to compile the 1.6.5 sources against a vanilla-2.6.22.19 kernel. Distrib: gentoo 2008 - setting the links and patching the kernel as described with "quilt push -av" ok. - compiling and booting the kernel ok. - configuring lustre: ./configure --disable-liblustre --enable-quota --with-linux=/usr/src/linux-2.6.22.19/ seems ok, since it states "Type make etc." - compiling lustre fails with: <snip> CC [M] /usr/src/lustre-1.6.5/lustre/lov/lov_ea.o LD [M] /usr/src/lustre-1.6.5/lustre/lov/lov.o ln -s /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt_ldiskfs.c /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c CC [M] /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.o /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c: In function ''fsfilt_ldiskfs_setup'': /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1401: error: ''struct ldiskfs_sb_info'' has no member named ''s_qf_names'' /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1402: error: ''struct ldiskfs_sb_info'' has no member named ''s_qf_names'' /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1404: error: ''struct ldiskfs_sb_info'' has no member named ''s_qf_names'' /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1405: error: ''struct ldiskfs_sb_info'' has no member named ''s_qf_names'' /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1406: error: ''struct ldiskfs_sb_info'' has no member named ''s_qf_names'' /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1407: error: ''struct ldiskfs_sb_info'' has no member named ''s_qf_names'' /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1410: error: ''struct ldiskfs_sb_info'' has no member named ''s_jquota_fmt'' /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c: In function ''fsfilt_ldiskfs_quotacheck'': /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:2016: warning: passing argument 1 of ''lustre_get_qids'' from incompatible pointer type make[6]: *** [/usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.o] Error 1 rm /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c make[5]: *** [/usr/src/lustre-1.6.5/lustre/lvfs] Error 2 make[4]: *** [/usr/src/lustre-1.6.5/lustre] Error 2 make[3]: *** [_module_/usr/src/lustre-1.6.5] Error 2 make[3]: Leaving directory `/usr/src/linux-2.6.22.19'' make[2]: *** [modules] Error 2 make[2]: Leaving directory `/usr/src/lustre-1.6.5'' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/lustre-1.6.5'' make: *** [all] Error 2 <snap> It seems a bit odd since the CVS HEAD version compiles flawlessly. What did i miss ? Thanks and regards Heiko -- ----------------------------------------------------------------------- Dipl.-Ing. Heiko Schr?ter Institute of Environmental Physics (IUP) ? ?phone: ++49-(0)421-218-4080 Institute of Remote Sensing (IFE) ? ? ? ? ? fax: ? ++49-(0)421-218-4555 University of Bremen (FB1) P.O. Box 330440 ? ? ? ? ? ? ? email: ?schroete at iup.physik.uni-bremen.de Otto-Hahn-Allee 1 ? ? ? ? ? 28359 Bremen ? ? ? ? ? ? ? ? Germany -----------------------------------------------------------------------
On Mon, 2008-06-16 at 12:23 +0200, Heiko Schroeter wrote:> Hello, > > i''am trying to compile the 1.6.5 sources against a vanilla-2.6.22.19 kernel. > Distrib: gentoo 2008 > > - setting the links and patching the kernel as described with "quilt push -av" > ok. > - compiling and booting the kernel ok. > - configuring lustre: > ./configure --disable-liblustre --enable-quota --with-linux=/usr/src/linux-2.6.22.19/ > seems ok, since it states "Type make etc."I don''t have a vanilla 2.6.22 kernel here, but I do have a RHEL5, 2.6.18-53.1.4 kernel...> > - compiling lustre fails with: > > <snip> > CC [M] /usr/src/lustre-1.6.5/lustre/lov/lov_ea.o > LD [M] /usr/src/lustre-1.6.5/lustre/lov/lov.o > ln -s /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt_ldiskfs.c /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c > CC [M] /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.o > /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c: In > function ''fsfilt_ldiskfs_setup'': > /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1401: error: ''struct > ldiskfs_sb_info'' has no member named ''s_qf_names''Did you enable CONFIG_QUOTA in your kernel? The RHEL5 kernel defines ext3_sb_info->s_qf_names as such: struct ext3_sb_info { ... #ifdef CONFIG_QUOTA char *s_qf_names[MAXQUOTAS]; /* Names of quota files with journalled quota */ int s_jquota_fmt; /* Format of quota to use */ #endif }; Can you see if your kernel has a similar definition of ext_sb_info? b. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://lists.lustre.org/pipermail/lustre-discuss/attachments/20080617/2b85f9cc/attachment.bin
Am Dienstag, 17. Juni 2008 15:44:00 schrieb Brian J. Murrell:> On Mon, 2008-06-16 at 12:23 +0200, Heiko Schroeter wrote: > > Hello, > > > > i''am trying to compile the 1.6.5 sources against a vanilla-2.6.22.19 > > kernel. Distrib: gentoo 2008 > > > > - setting the links and patching the kernel as described with "quilt push > > -av" ok. > > - compiling and booting the kernel ok. > > - configuring lustre: > > ./configure --disable-liblustre --enable-quota > > --with-linux=/usr/src/linux-2.6.22.19/ seems ok, since it states "Type > > make etc." > > I don''t have a vanilla 2.6.22 kernel here, but I do have a RHEL5, > 2.6.18-53.1.4 kernel... > > > - compiling lustre fails with: > > > > <snip> > > CC [M] /usr/src/lustre-1.6.5/lustre/lov/lov_ea.o > > LD [M] /usr/src/lustre-1.6.5/lustre/lov/lov.o > > ln -s /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt_ldiskfs.c > > /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c CC [M] > > /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.o > > /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c: In > > function ''fsfilt_ldiskfs_setup'': > > /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1401: error: ''struct > > ldiskfs_sb_info'' has no member named ''s_qf_names'' > > Did you enable CONFIG_QUOTA in your kernel? > > The RHEL5 kernel defines ext3_sb_info->s_qf_names as such: > > struct ext3_sb_info { > ... > #ifdef CONFIG_QUOTA > char *s_qf_names[MAXQUOTAS]; /* Names of quota files with journalled > quota */ > int s_jquota_fmt; /* Format of quota to use */ > #endif > }; > > Can you see if your kernel has a similar definition of ext_sb_info? > > b.Yes that does the trick ... partly i think. The following diffs between the CVS and the 1.6.5 Version i could spot: I hilighted the diffs in the output of the configure script. It _seems_ (carefull speeking here) that the CVS configure script silently sets the parameter right, whereas the 1.6.5 Version lets you run into this compile error. CVS Version QUOTA OFF in Kernel ./configure --disable-liblustre --enable-quota --with-linux=/usr/src/linux-2.6.22.19/ <snip> checking whether to DISABLE quota support... yes <snap> make compiles through ... 1.6.5 Version QUOTA OFF in Kernel ./configure --disable-liblustre --enable-quota --with-linux=/usr/src/linux-2.6.22.19/ <snip> checking whether to ENABLE quota support... yes <snap> make <snip> /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c: In function ''fsfilt_ldiskfs_setup'': /usr/src/lustre-1.6.5/lustre/lvfs/fsfilt-ldiskfs.c:1401: error: ''struct ldiskfs_sb_info'' has no member named ''s_qf_names'' <snap> Thank you very much for pointing me to this. Regards Heiko