[LU-6216] Compilation error libtool on ppc64 Created: 05/Feb/15  Updated: 03/Mar/15  Resolved: 03/Mar/15

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.7.0
Fix Version/s: Lustre 2.7.0, Lustre 2.8.0

Type: Bug Priority: Minor
Reporter: Frank Heckes (Inactive) Assignee: Yang Sheng
Resolution: Fixed Votes: 0
Labels: ppc

Issue Links:
Related
Severity: 3
Rank (Obsolete): 17388

 Description   

Upon building Lustre for ppc64 the following error breaks the build in Jenkins Job 'lustre-ppc':

libtool: link: mpicc -g -Wall -fPIC -D_GNU_SOURCE -g -O2 -Werror -m64 -o mdsrate mdsrate.o  -L/var/lib/jenkins/workspace/lustre-ppc/arch/ppc64/build_type/client/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.6.93/lustre/utils -llustreapi ../../../libcfs/libcfs/libcfs.a -lkeyutils
libtool: link: mpicc -g -Wall -fPIC -D_GNU_SOURCE -g -O2 -Werror -m64 -o cascading_rw cascading_rw.o lp_utils.o  -L/var/lib/jenkins/workspace/lustre-ppc/arch/ppc64/build_type/client/distro/el6/ib_stack/inkernel/BUILD/BUILD/lustre-2.6.93/lustre/utils -llustreapi ../../../libcfs/libcfs/libcfs.a -lkeyutils
cc1: warnings being treated as errors
llapi_hsm_test.c: In function 'test101_progress':
llapi_hsm_test.c:563: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test102_progress':
llapi_hsm_test.c:599: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test103_progress':
llapi_hsm_test.c:631: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test104_progress':
llapi_hsm_test.c:669: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test105_progress':
llapi_hsm_test.c:704: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test106_progress':
llapi_hsm_test.c:736: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test107_progress':
llapi_hsm_test.c:768: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test108_progress':
llapi_hsm_test.c:803: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test109_progress':
llapi_hsm_test.c:835: error: format '%llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
llapi_hsm_test.c: In function 'test110_progress':
llapi_hsm_test.c:869: error: format '%llu' expects type 'long long unsigned int', but argument 9 has type '__u64'
llapi_hsm_test.c: In function 'test111_progress':
llapi_hsm_test.c:905: error: format '%llu' expects type 'long long unsigned int', but argument 9 has type '__u64'
llapi_hsm_test.c: In function 'test112_progress':
llapi_hsm_test.c:942: error: format '%llu' expects type 'long long unsigned int', but argument 9 has type '__u64'
llapi_hsm_test.c:961: error: format '%llu' expects type 'long long unsigned int', but argument 9 has type '__u64'
make[4]: *** [llapi_hsm_test.o] Error 1

Build log can be accessed via:
https://build.hpdd.intel.com/job/lustre-ppc/138/arch=ppc64,build_type=client,distro=el6,ib_stack=inkernel/consoleFull



 Comments   
Comment by Jodi Levi (Inactive) [ 06/Feb/15 ]

Yang Sheng,
Could you please take this one?
Thank you!

Comment by Yang Sheng [ 12/Feb/15 ]

We have ever build Lustre on ppc64 successful before. But maybe lost some thing in cleanup works.

Comment by Andreas Dilger [ 12/Feb/15 ]

The llapi_hsm_test.c file was only just added in 2.6.92. It makes sense to change these printf lines to cast the arguments into (unsigned long long) to avoid the use of LPU64 in userspace.

Comment by Frank Zago (Inactive) [ 18/Feb/15 ]

I'll take that one. I have some other changes in that file too.

Comment by Frank Zago (Inactive) [ 18/Feb/15 ]

BTW, can the PPC build be accessible in the regular build page? I only see i386 and x86_64 builds.

Comment by James A Simmons [ 18/Feb/15 ]

Totally agree. We need to add ppc64 to the mix since places like ORNL are picking up ppc64 machines.

Comment by Gerrit Updater [ 19/Feb/15 ]

frank zago (fzago@cray.com) uploaded a new patch: http://review.whamcloud.com/13800
Subject: LU-6216 tests: compile fixes for PPC64, and for clang
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: cf7eef56809503d016f36e10dddec1c73400597b

Comment by Frank Heckes (Inactive) [ 19/Feb/15 ]

PPC builds aren't part of the well known Jenkins jobs, but a separate one has been created : 'lustre-ppc' (https://build.hpdd.intel.com/job/lustre-ppc/). Drawback is that builds are on master and your change(s) won't be compiled on ppc64 till they're landed.

Comment by Andreas Dilger [ 20/Feb/15 ]

Frank, it probably makes more sense to run the PPC builds on lustre-reviews rather than master, since it will essentially also test master (plus the current patch), but at least it has some chance of catching PPC regressions before they land.

If this patch fixes the PPC builds, after it lands it would also be good to get the PPC builds to comment into Gerrit if there is a build failure.

Comment by Frank Zago (Inactive) [ 20/Feb/15 ]

I'm all for it. A clang build-only on i386/x86_64 would be nice too.

Comment by Gerrit Updater [ 27/Feb/15 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/13800/
Subject: LU-6216 tests: compile fixes for PPC64, and for clang
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: b851f20baba124302c5a0882496503376d0f6616

Comment by Peter Jones [ 03/Mar/15 ]

Landed for 2.7 and 2.8

Generated at Sat Feb 10 01:58:17 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.