[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