[Lustre-discuss] SLES11 'make rpms' dies

Dardo D Kleiner - CONTRACTOR dkleiner at cmf.nrl.navy.mil
Wed Mar 24 13:27:20 PDT 2010


It would appear that the kernel patches necessary to build Lustre
server bits have not been applied (and I guess you insisted with
--enable-server otherwise it shouldn't have even tried).

jbd2_journal_callback_set is included in:

lustre/kernel_patches/patches/jbd2-jcberr-2.6-sles11.patch

you would then have the declaration in your kernel source at
include/linux/jbd2.h and the implementation in fs/jbd2/transaction.c.

Though unsupported, we have built and are running 1.8.2 GA on 2.6.27.45
without problem.  Can you send the output of your "quilt push -av"
session?

- Dardo

On 3/24/10 1:31 PM, Joe Landman 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.
>
> /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’
> 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