[mpich-discuss] Problem with MPICH 3.0 rc1 compilation on RHEL 5
Dave Goodell
goodell at mcs.anl.gov
Tue Nov 20 17:18:02 CST 2012
It seems unlikely to me that the headers distributed in RHEL5/RHEL6 are incompatible with GCC being in C99 mode. Can you give me a little more information about what's failing? Perhaps run "make V=1 2>&1 | tee m.txt" and send m.txt as an attachment?
-Dave
On Nov 20, 2012, at 5:08 PM CST, Yauheni Zelenko wrote:
> Hi, Dave!
>
> I think this is result of inlining in C99 mode.
>
> Eugene.
> ________________________________________
> From: discuss-bounces at mpich.org [discuss-bounces at mpich.org] On Behalf Of Dave Goodell [goodell at mcs.anl.gov]
> Sent: Tuesday, November 20, 2012 3:06 PM
> To: discuss at mpich.org
> Subject: Re: [mpich-discuss] Problem with MPICH 3.0 rc1 compilation on RHEL 5
>
> I'm not sure I follow you on the fstat64/stat64 double-definition issue. Is this just some sort of bug in the RHEL6 headers? Is there something that we (MPICH) are doing incorrectly w.r.t. this?
>
> -Dave
>
> On Nov 14, 2012, at 5:39 PM CST, Yauheni Zelenko wrote:
>
>> Hi, Dave!
>>
>> Build failed on first compilation because fstat64 and stat64 defined twice. Likely because of these functions inlining in /usr/include/sys/stat.h.
>>
>> Also GCC 4.7.2 warnings on Red Hat Enterprise Linux 6:
>>
>> src/mpltrmem.c: In function 'MPL_trdump':
>> src/mpltrmem.c:536:14: warning: variable 'old_head' set but not used [-Wunused-but-set-variable]
>> src/mpi/coll/opminloc.c: In function 'MPIR_MINLOC':
>> src/mpi/coll/opminloc.c:85:24: warning: variable 'flen' set but not used [-Wunused-but-set-variable]
>> src/mpi/coll/opmaxloc.c: In function 'MPIR_MAXLOC':
>> src/mpi/coll/opmaxloc.c:86:24: warning: variable 'flen' set but not used [-Wunused-but-set-variable]
>> src/mpid/ch3/src/ch3u_rma_sync.c: In function 'MPIDI_CH3I_Recv_rma_msg':
>> src/mpid/ch3/src/ch3u_rma_sync.c:1251:5: warning: 'mpiu_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpid/ch3/src/mpidi_pg.c: In function 'connToString':
>> src/mpid/ch3/src/mpidi_pg.c:972:5: warning: 'mpiu_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpid/ch3/channels/nemesis/src/ch3_progress.c: In function 'MPIDI_CH3I_Progress':
>> src/mpid/ch3/channels/nemesis/src/ch3_progress.c:394:21: warning: comparison between 'MPIDI_CH3_Pkt_type_t' and 'enum MPID_nem_pkt_type' [-Wenum-compare]
>> src/mpid/ch3/channels/nemesis/src/ch3_progress.c: In function 'MPID_nem_handle_pkt':
>> src/mpid/ch3/channels/nemesis/src/ch3_progress.c:636:17: warning: comparison between 'MPIDI_CH3_Pkt_type_t' and 'enum MPID_nem_pkt_type' [-Wenum-compare]
>> src/mpid/ch3/channels/nemesis/src/ch3_progress.c:684:13: warning: comparison between 'MPIDI_CH3_Pkt_type_t' and 'enum MPID_nem_pkt_type' [-Wenum-compare]
>> src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.c: In function 'alloc_sc_plfd_tbls':
>> src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.c:183:5: warning: the comparison will always evaluate as 'true' for the address of 'MPID_nem_tcp_g_lstn_sc' will never be NULL [-Waddress]
>> src/mpid/ch3/channels/nemesis/netmod/tcp/socksm.c:184:5: warning: the comparison will always evaluate as 'true' for the address of 'MPID_nem_tcp_g_lstn_plfd' will never be NULL [-Waddress]
>> src/mpid/common/datatype/mpid_type_debug.c: In function 'MPIDI_Datatype_printf':
>> src/mpid/common/datatype/mpid_type_debug.c:238:59: warning: variable 'sticky_ub' set but not used [-Wunused-but-set-variable]
>> src/mpid/common/datatype/mpid_type_debug.c:238:48: warning: variable 'sticky_lb' set but not used [-Wunused-but-set-variable]
>> src/mpid/common/datatype/mpid_type_debug.c:238:44: warning: variable 'ub' set but not used [-Wunused-but-set-variable]
>> src/mpid/common/datatype/mpid_type_debug.c:238:31: warning: variable 'true_ub' set but not used [-Wunused-but-set-variable]
>> src/mpid/common/datatype/mpid_type_debug.c:236:11: warning: variable 'string' set but not used [-Wunused-but-set-variable]
>> src/mpi/coll/iallgather.c: In function 'MPIR_Iallgather_bruck':
>> src/mpi/coll/iallgather.c:329:5: warning: 'mpir_sched_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpi/coll/iallgather.c: In function 'MPIR_Iallgather_inter':
>> src/mpi/coll/iallgather.c:580:5: warning: 'mpir_sched_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpi/coll/iallgatherv.c: In function 'MPIR_Iallgatherv_rec_dbl':
>> src/mpi/coll/iallgatherv.c:259:5: warning: 'mpir_sched_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpi/coll/iallgatherv.c: In function 'MPIR_Iallgatherv_bruck':
>> src/mpi/coll/iallgatherv.c:398:5: warning: 'mpir_sched_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpi/coll/iallreduce.c: In function 'MPIR_Iallreduce_redscat_allgather':
>> src/mpi/coll/iallreduce.c:282:5: warning: 'mpir_sched_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpi/coll/iallreduce.c: In function 'MPIR_Iallreduce_rec_dbl':
>> src/mpi/coll/iallreduce.c:425:5: warning: 'mpir_sched_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpi/coll/ired_scat_block.c: In function 'MPIR_Ireduce_scatter_block_inter':
>> src/mpi/coll/ired_scat_block.c:899:5: warning: 'mpir_sched_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> src/mpi/coll/ireduce.c: In function 'MPIR_Ireduce_SMP':
>> src/mpi/coll/ireduce.c:677:5: warning: 'mpir_sched_chkpmem_stk_[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
>>
>> Eugene.
>> ________________________________________
>> From: discuss-bounces at mpich.org [discuss-bounces at mpich.org] On Behalf Of Dave Goodell [goodell at mcs.anl.gov]
>> Sent: Wednesday, November 14, 2012 2:46 PM
>> To: discuss at mpich.org
>> Subject: Re: [mpich-discuss] Problem with MPICH 3.0 rc1 compilation on RHEL 5
>>
>> This is because you have selected a bare "--enable-strict" option to configure, which defaults to c89. I'll see if there's a more pleasant way around this, but in the meantime is it acceptable for you to pass "--enable-strict=c99" instead?
>>
>> The problem occurs because your compiler still responds to the "long long" type but disables the "LLONG_MAX" constant when asked for c89 mode.
>>
>> -Dave
>>
>> On Nov 14, 2012, at 4:14 PM CST, Yauheni Zelenko wrote:
>>
>>> Hi!
>>>
>>> I'm trying to compile MPICH 3.0 rc1 on Red Hat Enterprise Linux 5 and compilation failed because of undefined LLONG_MAX.
>>>
>>> LLONG_MAX definition in /usr/include/limits.h is depend on C99 condition. -std=c89 is passed to GCC.
>>>
>>> My configure options:
>>>
>>> ./configure --prefix=${InstallDir} \
>>> --with-pm=hydra --with-device=ch3:nemesis \
>>> --disable-chekpointing \
>>> --enable-strict --enable-fast=O3 \
>>> --disable-f77 --disable-fc \
>>> CC=/grid/common/pkgs/gcc/v4.4.5/bin/gcc CFLAGS="-m32 -fPIC" \
>>> CPP=/grid/common/pkgs/gcc/v4.4.5/bin/cpp \
>>> CXX=/grid/common/pkgs/gcc/v4.4.5/bin/g++ CXXFLAGS="-m32 -fPIC" \
>>> CXXCPP=/grid/common/pkgs/gcc/v4.4.5/bin/cpp
>>>
>>> GCC 4.4.5 is also produce next warnings:
>>>
>>> mpi-io/write.c: In function 'MPIOI_File_write':
>>> mpi-io/write.c:126: warning: passing argument 1 of 'MPIU_external32_buffer_setup' discards qualifiers from pointer target type
>>> ./adio/include/mpiu_external32.h:20: note: expected 'void *' but argument is of type 'const void *'
>>> mpi-io/write_all.c: In function 'MPIOI_File_write_all':
>>> mpi-io/write_all.c:109: warning: passing argument 1 of 'MPIU_external32_buffer_setup' discards qualifiers from pointer target type
>>> ./adio/include/mpiu_external32.h:20: note: expected 'void *' but argument is of type 'const void *'
>>> mpi-io/write_allb.c: In function 'MPIOI_File_write_all_begin':
>>> mpi-io/write_allb.c:105: warning: passing argument 1 of 'MPIU_external32_buffer_setup' discards qualifiers from pointer target type
>>> ./adio/include/mpiu_external32.h:20: note: expected 'void *' but argument is of type 'const void *'
>>> mpi-io/write_ord.c: In function 'PMPI_File_write_ordered':
>>> mpi-io/write_ord.c:98: warning: assignment discards qualifiers from pointer target type
>>> mpi-io/write_ord.c:100: warning: passing argument 1 of 'MPIU_external32_buffer_setup' discards qualifiers from pointer target type
>>> ./adio/include/mpiu_external32.h:20: note: expected 'void *' but argument is of type 'const void *'
>>> mpi-io/write_ordb.c: In function 'PMPI_File_write_ordered_begin':
>>> mpi-io/write_ordb.c:104: warning: assignment discards qualifiers from pointer target type
>>> mpi-io/write_ordb.c:106: warning: passing argument 1 of 'MPIU_external32_buffer_setup' discards qualifiers from pointer target type
>>> ./adio/include/mpiu_external32.h:20: note: expected 'void *' but argument is of type 'const void *'
>>> mpi-io/write_sh.c: In function 'PMPI_File_write_shared':
>>> mpi-io/write_sh.c:100: warning: assignment discards qualifiers from pointer target type
>>> mpi-io/write_sh.c:102: warning: passing argument 1 of 'MPIU_external32_buffer_setup' discards qualifiers from pointer target type
>>> ./adio/include/mpiu_external32.h:20: note: expected 'void *' but argument is of type 'const void *'
>>> mpi-io/mpiu_external32.c: In function 'MPIU_write_external32_conversion_fn':
>>> mpi-io/mpiu_external32.c:24: warning: implicit declaration of function 'MPIR_Datatype_iscontig'
>>> mpi-io/mpiu_external32.c:24: warning: nested extern declaration of 'MPIR_Datatype_iscontig'
>>> mpi-io/mpiu_external32.c: In function 'MPIU_datatype_full_size':
>>> mpi-io/mpiu_external32.c:123: warning: unused variable 'extent'
>>> ./pm/pmiserv/pmip_cb.c: In function 'parse_exec_params':
>>> ./pm/pmiserv/pmip_cb.c:808: warning: null argument where non-null required (argument 1)
>>> ./pm/pmiserv/pmip_cb.c:808: warning: null argument where non-null required (argument 1)
>>> ./pm/pmiserv/pmip_cb.c:808: warning: null argument where non-null required (argument 2)
>>> ./pm/pmiserv/pmip_cb.c:808: warning: null argument where non-null required (argument 2)
>>> src/mpi/datatype/status_set_elements.c: In function 'PMPI_Status_set_elements':
>>> src/mpi/datatype/status_set_elements.c:54: warning: unused variable 'size'
>>> src/mpi/datatype/status_set_elements_x.c: In function 'MPIR_Status_set_elements_x_impl':
>>> src/mpi/datatype/status_set_elements_x.c:41: error: 'LLONG_MAX' undeclared (first use in this function)
>>> src/mpi/datatype/status_set_elements_x.c:41: error: (Each undeclared identifier is reported only once
>>> src/mpi/datatype/status_set_elements_x.c:41: error: for each function it appears in.)
>>>
>>> Eugene.
>>> _______________________________________________
>>> discuss mailing list discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>>
>> _______________________________________________
>> discuss mailing list discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
>> _______________________________________________
>> discuss mailing list discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
>
> _______________________________________________
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
> _______________________________________________
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
More information about the discuss
mailing list