[mpich-discuss] Problem with MPICH 3.0 rc1 compilation on RHEL 5
Dave Goodell
goodell at mcs.anl.gov
Tue Nov 27 16:14:10 CST 2012
I've created a ticket to track this, although I have no idea when we might get around to actually implementing a workaround for broken RHEL 5.5:
http://trac.mpich.org/projects/mpich/ticket/1760
-Dave
On Nov 27, 2012, at 3:17 PM CST, Yauheni Zelenko wrote:
> Hi, Dave!
>
> I played with preprocessor output aand it looks like this is problem of RHEL 5.5.
>
> _FILE_OFFSET_BITS=64 forces to redirect stat/fstat to their 64 bit counterparts (with __asm__) .
>
> _LARGEFILE64_SOURCE defines stat/fstat/stat64/fstat64.
>
> So combination of both will cause redefinition of stat64/fstat64.
>
> BTW _LARGEFILE64_SOURCE and _FILE_OFFSET_BITS=64 appear twice in compiler command line.
>
> 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 21, 2012 10:38 AM
> To: discuss at mpich.org
> Subject: Re: [mpich-discuss] Problem with MPICH 3.0 rc1 compilation on RHEL 5
>
> Hi Eugene,
>
> I was not able to reproduce this behavior on RHEL 5.8 with gcc-4.1 or gcc-4.6 (though I was able to reproduce the earlier LLONG_MAX issue).
>
> Would you please dig in here and debug a bit for us? It seems that there is something very specific about your environment and/or compiler that is causing a problem here.
>
> -Dave
>
> On Nov 20, 2012, at 7:07 PM CST, Yauheni Zelenko wrote:
>
>> Your guess is correct. Compilation is fine when only one of defines left in command line.
>>
>> You could try to install CentOS which is copy of RHEL.
>>
>> Alternatively, I could send files in questions.
>>
>> 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 4:57 PM
>> To: discuss at mpich.org
>> Subject: Re: [mpich-discuss] Problem with MPICH 3.0 rc1 compilation on RHEL 5
>>
>> My suspicion is that it is more likely related to the following arguments:
>>
>> ----8<----
>> -D_LARGEFILE64_SOURCE
>> -D_FILE_OFFSET_BITS=64
>> ----8<----
>>
>> Can you try running that same gcc command from the build directory's "src/mpi/romio" directory but with omitting various combinations of the two above options?
>>
>> Reading the source of feature.h and/or stat.h would probably also help, although I do not have a RHEL5/6 system handy.
>>
>> -Dave
>>
>> On Nov 20, 2012, at 6:09 PM CST, Yauheni Zelenko wrote:
>>
>>> Hi, Dave!
>>>
>>> See attached files for make output in verbose mode and generated assembler code.
>>>
>>> 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:18 PM
>>> To: discuss at mpich.org
>>> Subject: Re: [mpich-discuss] Problem with MPICH 3.0 rc1 compilation on RHEL 5
>>>
>>> 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
>>>
>>> _______________________________________________
>>> discuss mailing list discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>>> <make><close.s>_______________________________________________
>>> 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