[ewg] Compile issue on i386/i686 with auto* perftest

Luick, Dean dean.luick at intel.com
Thu Jan 17 07:53:49 PST 2013


Additional options:

3. Just cast to unsigned long for the print.  The program will still run correctly, there may be some truncation in the print. This is admittedly not a great option.
4. Use PRIu64 from inttypes.h.

Dean

From: ewg-bounces at lists.openfabrics.org [mailto:ewg-bounces at lists.openfabrics.org] On Behalf Of Marciniszyn, Mike
Sent: Thursday, January 17, 2013 9:22 AM
To: Ido Shamai (idos at dev.mellanox.co.il)
Cc: Lacombe, John S; ewg at lists.openfabrics.org
Subject: [ewg] Compile issue on i386/i686 with auto* perftest

Ido,

I'm not sure what the support stance is on 32 bit builds but the new auto* save has turned what used to be a warning into an error.

In the 2.0-0.8 tar ball:
cc  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Wall -g -D_GNU_SOURCE -O2  send_bw.c get_clock.c perftest_resources.c perftest_communication.c perftest_parameters.c multicast_resources.c -libverbs -lrdmacm -libumad -lm  -o ib_send_bw
perftest_parameters.c: In function 'check_link_and_mtu':
perftest_parameters.c:846: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'long long unsigned int'
perftest_parameters.c: In function 'ctx_print_test_info':
perftest_parameters.c:921: warning: format '%lu' expects type 'long unsigned int', but argument 2 has type 'long long unsigned int'

In the rc5 2.0-0.25 tar ball:
if gcc -DHAVE_CONFIG_H -I. -I. -I.     -g -Wall -Werror -D_GNU_SOURCE -O2 -MT perftest_parameters.o -MD -MP -MF ".deps/perftest_parameters.Tpo" -c -o perftest_parameters.o `test -f 'src/perftest_parameters.c' || echo './'`src/perftest_parameters.c; \
                then mv -f ".deps/perftest_parameters.Tpo" ".deps/perftest_parameters.Po"; else rm -f ".deps/perftest_parameters.Tpo"; exit 1; fi
cc1: warnings being treated as errors
src/perftest_parameters.c: In function 'check_link_and_mtu':
src/perftest_parameters.c:1240: error: format '%lu' expects type 'long unsigned int', but argument 3 has type 'long long unsigned int'
src/perftest_parameters.c: In function 'ctx_print_test_info':
src/perftest_parameters.c:1325: error: format '%lu' expects type 'long unsigned int', but argument 2 has type 'long long unsigned int'
make[1]: *** [perftest_parameters.o] Error 1

The older hardcoded make doesn't have -Werror.

I guess there are two possible fixes:

1)      Take the -Werror out of the configure.ac

2)      Change the MTU_SIZE define to

#define MTU_SIZE(mtu_ind) ((1UL << (MTU_FIX + mtu_ind)))

Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ewg/attachments/20130117/d2078c95/attachment.html>


More information about the ewg mailing list