[Lustre-discuss] error: field ‘cb_jcb’ has incomplete type

Michael Di Domenico mdidomenico4 at gmail.com
Mon Dec 19 12:11:30 PST 2011


I've run into the same problem description as the email listed below.
I'm trying to compile the lustre source on RHEL 5.6 x86_64 with a
2.6.18-238 kernel, using the whamcloud 1.8.7 git release

Looking at the other replies to this email it was alluded that the
patches had applied specifically the
lustre/kernel_patches/patches/jbd2-jcberr-2.6-sles11.patch, i checked
my system and my quilt run did apply
lustre/kernel_patches/patches/jbd2-jcberr-2.6-vanilla.patch.

Any thoughts on where i might begin tracking this down?

btw, I'm following the procedure as listed on the whamcloud wiki, upto
the 'make rpms' section everything seemed to be going okay

my error is slightly different

/usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs/fsfilt-ldiskfs.c:126:
error: field ‘cb_jcb’ has incomplete type
/usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs/fsfilt-ldiskfs.c: In
function ‘fsfilt_ldiskfs_add_journal_cb’:
/usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs/fsfilt-ldiskfs.c:817:
error: implicit declaration of function ‘jbd2_journal_callback_set’



On Wed, Mar 24, 2010 at 1:31 PM, Joe Landman
<landman at scalableinformatics.com> wrote:
> Hi folks
>
>   I followed the directions
> (http://wiki.lustre.org/index.php/Building_and_Installing_Lustre_from_Source_Code)
>   for building Lustre against the updated SLES11 2.6.27.45-0.1-default
> kernel, and ran into this error during the
>
>        make rpms
>
> step.
>
> /usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs/fsfilt-ldiskfs.c:114:
> error: field ‘cb_jcb’ has incomplete type
> /usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs/fsfilt-ldiskfs.c: In
> function ‘fsfilt_ldiskfs_add_journal_cb’:
> /usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs/fsfilt-ldiskfs.c:793:
> error: implicit declaration of function ‘jbd2_journal_callback_set’
>
>
> I am building against this kernel due to some needed fixes in this
> relative to the downloadable kernel.  More full error context below.  Is
> there a workaround for this?  This is 1.8.2 Lustre GA.  Will the git
> repository version have fixes for this?
>
> Thanks!
>
> Joe
>
> ---
> rest of context:
> Type 'make' to build Lustre.
> + make -j 1 -s
> make[2]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2'
> make[3]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2'
> Making all in ldiskfs
> make[4]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs'
> make[5]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs'
> Making all in .
> make[6]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs'
> make[7]: Entering directory
> `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs/ldiskfs'
> Applying patch patches/ext4-wantedi-2.6-sles11.patch
> Applying patch patches/iopen-sles11.patch
> Applying patch patches/ext4-map_inode_page-sles11.patch
> Applying patch patches/export-ext4-2.6-sles11.patch
> Applying patch patches/ext4-include-fixes-2.6-sles11.patch
> Applying patch patches/ext4-remove-cond_resched-calls-sles11.patch
> Applying patch patches/ext4-filterdata-sles11.patch
> Applying patch patches/ext4-mmp-sles11.patch
> Applying patch patches/ext4-fiemap-2.6-sles11.patch
> Applying patch patches/ext4-lookup-dotdot-sles11.patch
> Applying patch patches/ext4-max-dir-size-sles11.patch
> Applying patch patches/ext4-print-inum-in-htree-warning-sles11.patch
> Applying patch patches/ext4-xattr-no-update-ctime-sles11.patch
> Applying patch patches/ext4-prealloc-sles11.patch
> Applying patch patches/ext4-mballoc-extra-checks-sles11.patch
> Applying patch patches/ext4-big-endian-check-2.6-sles11.patch
> Applying patch patches/ext4-misc-sles11.patch
> Applying patch patches/ext4-ext_generation-sles11.patch
> Applying patch patches/ext4-super-warning.patch
> Applying patch patches/ext4-alloc-policy-2.6-sles11.patch
> Applying patch patches/ext4-disable-delalloc-sles11.patch
> Applying patch patches/ext4-lustre-i_version.patch
> Applying patch patches/ext4-lock-cached_extent.patch
> Applying patch patches/ext4-convert-group-lock-sles11.patch
> Applying patch patches/ext4-force_over_8tb-sles11.patch
> Applying patch patches/ext4-claim_inode-free_inode-race.patch
> Applying patch patches/ext4_ext_search_right-fix.patch
> Applying patch patches/ext4-pa_lock-typo.patch
> Applying patch patches/ext4-pdir-fix.patch
> Applying patch patches/ext4-osd-iop-common-sles11.patch
> Applying patch patches/ext4-osd-iam-exports.patch
> Applying patch patches/ext4-dynlocks-common-sles11.patch
> Applying patch patches/ext4-dynlocks-2.6-rhel5.patch
> Applying patch patches/ext4-hash-indexed-dir-dotdot-update.patch
> Applying patch patches/ext4-disable-write-bar-by-default.patch
> Now at patch patches/ext4-disable-write-bar-by-default.patch
> Replacing 'ext4' with 'ldiskfs': acl.h ext4_extents.h ext4.h ext4_i.h
> ext4_jbd2.h ext4_sb.h group.h mballoc.h namei.h xattr.h acl.c balloc.c
> bitmap.c dir.c ext4_jbd2.c extents.c file.c fsync.c hash.c ialloc.c
> inode.c ioctl.c mballoc.c migrate.c namei.c resize.c super.c symlink.c
> xattr.c xattr_security.c xattr_trusted.c xattr_user.c iopen.c iopen.h
> dynlocks.c fiemap.h ext4_extents.h ext4.h ext4_i.h ext4_jbd2.h ext4_sb.h
> make[7]: Leaving directory
> `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs/ldiskfs'
> make[7]: Entering directory `/tmp/linux-2.6.27.45-0.1'
>
>   WARNING: Symbol version dump /tmp/linux-2.6.27.45-0.1/Module.symvers
>            is missing; modules will have no dependencies and modversions.
>
>   Building modules, stage 2.
> make[7]: Leaving directory `/tmp/linux-2.6.27.45-0.1'
> make[6]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs'
> Making all in ldiskfs
> make[6]: Entering directory
> `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs/ldiskfs'
> make[6]: Leaving directory
> `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs/ldiskfs'
> make[5]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs'
> make[4]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs'
> Making all in .
> make[4]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2'
> make[5]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs'
> make[5]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2/ldiskfs'
> make[5]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2/lnet'
> make[5]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2/lnet'
> make[5]: Entering directory `/usr/src/packages/BUILD/lustre-1.8.2/lustre'
> make[6]: Entering directory
> `/usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs'
> make[6]: Leaving directory
> `/usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs'
> make[5]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2/lustre'
> make[5]: Entering directory `/tmp/linux-2.6.27.45-0.1'
>
>   WARNING: Symbol version dump /tmp/linux-2.6.27.45-0.1/Module.symvers
>            is missing; modules will have no dependencies and modversions.
>
> make[8]: ***
> [/usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs/fsfilt-ldiskfs.o] Error 1
> make[7]: *** [/usr/src/packages/BUILD/lustre-1.8.2/lustre/lvfs] Error 2
> make[6]: *** [/usr/src/packages/BUILD/lustre-1.8.2/lustre] Error 2
> make[5]: *** [_module_/usr/src/packages/BUILD/lustre-1.8.2] Error 2
> make[5]: Leaving directory `/tmp/linux-2.6.27.45-0.1'
> make[4]: *** [modules] Error 2
> make[4]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/usr/src/packages/BUILD/lustre-1.8.2'
> error: Bad exit status from /var/tmp/rpm-tmp.4639 (%build)
>
>
> RPM build errors:
>     Bad exit status from /var/tmp/rpm-tmp.4639 (%build)
> make[1]: *** [rpms-real] Error 1
> make[1]: Leaving directory `/tmp/lustre-1.8.2'
> make: *** [rpms] Error 2
>
> _______________________________________________
> Lustre-discuss mailing list
> Lustre-discuss at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-discuss



More information about the lustre-discuss mailing list