Red Hat Bugzilla – Bug 725483
keyutils-1.5.1-1.fc16 fails to build on s390
Last modified: 2011-08-22 07:49:09 EDT
Created attachment 515099 [details]
keyutils-1.5.1-1.fc16 fails to build on s390 (32bit) because of a combination -Werror and size_t being defined as unsigned long, please see build.log at
request-key.c: In function 'execute_program':
request-key.c:583:4: error: format '%zd' expects argument of type 'signed size_t', but argument 2 has type 'int' [-Werror=format]
request-key.c: In function 'pipe_to_program':
request-key.c:841:2: error: format '%zd' expects argument of type 'signed size_t', but argument 2 has type 'int' [-Werror=format]
That's the result of a pointer subtraction. I wonder if it behaves differently on S390 to other arches as the pointer size (31 bits) is not the same as the size of long/size_t (32 bits).
I should probably be using the 't' modifier rather than the 'z' modifier to "%d" in the printf arguments for this.
Ha, the 't' modifier seems to do the trick.
I've checked in my suggested change.
Did that fix it for you?
yes, keyutils-1.5.2-1.fc16 builds fine on Fedora/s390x (http://s390.koji.fedoraproject.org/koji/buildinfo?buildID=73846)