Created attachment 515099 [details] proposed fix 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 http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=432645
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] c 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)