[mpich-discuss] mpich2&open64 shared object compilation bug&fix

Evren Yurtesen IB eyurtese at abo.fi
Mon Sep 10 07:50:51 CDT 2012


Thanks for the reply. It appears the fault was mine and neither mpich2's 
nor open64's. I had wrong Open64 compiler for the processor architecture 
I was using.

It looks like AMD have multiple downloads:
http://developer.amd.com/tools/cpu/open64/Pages/default.aspx
Where one says:
---------------------
SLES 11, RHEL 6 - For AMD Opteron Family 15h processor("Piledriver"core) 
architecture
---------------------
and another says:
---------------------
SLES11, SLES 10 SP2, SLES 10 SP3, RHEL 6, RHEL 5.5 - For any x86-64 
architecture 
---------------------

I had the first one installed in my system, how stupid of me! :( Now with 
the right compiler, everything was awesome!

I already mentioned to AMD that it is not a very good idea to have 
different compiler packages for different processors. It just makes no 
sense to me...

Thanks,
Evren


On Sat, 8 Sep 2012, Anthony Chan wrote:

>
> Did you try configuring with gcc and openf95 ? i.e.
>
> ./configure CC=gcc CXX=g++ F77=openf95 FC=openf95 <other options> --prefix=...
>
> mpich2 configre does not take variable F95.
>
>
> ----- Original Message -----
>> for bash:
>> export CC=opencc
>> export CXX=openCC
>> export FC=openf95
>> export F77=openf95
>> export F95=openf95
>> (assuming they are on PATH)
>> mpich2 seems to pick these up nicely.
>>
>> I am not sure if this specific problem is related to mpich2, I am in
>> contact with some open64 developers. I will send an update when I have
>> more information.
>>
>>
>> On Fri, 7 Sep 2012, Anthony Chan wrote:
>>
>>>
>>> I am not familiar with Open64 compilers, what would you use
>>> to set CC, CXX, F77 and FC during mpich2 configure ?
>>>
>>> ----- Original Message -----
>>>> I tried 1.5rc1 and there seems to be other problems... I have no
>>>> idea
>>>> what
>>>> is this about... configured with: --enable-fast=O2 --enable-shared
>>>> --enable-mpe --with-pmi=slurm --with-pm=no
>>>> Just as a side note, same configure options work fine with GCC
>>>> 4.7.1,
>>>> but
>>>> that doesnt say much about who to blame :)
>>>>
>>>>
>>>> Making all in .
>>>> make[2]: Entering directory `/home/eyurtese/temp/mpich2-1.5rc1'
>>>> CC src/binding/f90/create_f90_real.lo
>>>> src/binding/f90/create_f90_real.c: In function
>>>> 'PMPI_Type_create_f90_real':
>>>> src/binding/f90/create_f90_real.c:73: error: expected expression
>>>> before
>>>> ',' token
>>>> src/binding/f90/create_f90_real.c:74: warning: braces around scalar
>>>> initializer
>>>> src/binding/f90/create_f90_real.c:74: warning: (near initialization
>>>> for
>>>> 'f90_real_model[0].dtype')
>>>> src/binding/f90/create_f90_real.c:74: error: expected expression
>>>> before
>>>> ',' token
>>>> src/binding/f90/create_f90_real.c:74: warning: excess elements in
>>>> scalar
>>>> initializer
>>>> src/binding/f90/create_f90_real.c:74: warning: (near initialization
>>>> for
>>>> 'f90_real_model[0].dtype')
>>>> make[2]: *** [src/binding/f90/create_f90_real.lo] Error 1
>>>> make[2]: Leaving directory `/home/eyurtese/temp/mpich2-1.5rc1'
>>>> make[1]: *** [all-recursive] Error 1
>>>> make[1]: Leaving directory `/home/eyurtese/temp/mpich2-1.5rc1'
>>>> make: *** [all] Error 2
>>>>
>>>>
>>>> On Fri, 7 Sep 2012, Evren Yurtesen IB wrote:
>>>>
>>>>>
>>>>> On Thu, 6 Sep 2012, Pavan Balaji wrote:
>>>>>
>>>>>>
>>>>>> Your patch below is to configure (not configure.in) which is
>>>>>> auto-generated. The first step I'd recommend is to try out
>>>>>> mpich2-1.5rc1.
>>>>>> That uses libtool for shared library support. That'll at least
>>>>>> confirm
>>>>>> whether libtool supports open64 or not. If it doesn't, then a
>>>>>> patch
>>>>>> would
>>>>>> be required for libtool.
>>>>>
>>>>> Yes, I realized the configure.in later. My apologies, I am not
>>>>> very
>>>>> familiar
>>>>> with the configure system. Please see the attached diffs, what do
>>>>> you think
>>>>> about them?
>>>>>
>>>>> I will check 1.5 next.
>>>>>
>>>>> Thanks,
>>>>> Evren
>>>>>
>>>>>> -- Pavan
>>>>>>
>>>>>> On 09/06/2012 05:47 PM, Evren Yurtesen IB wrote:
>>>>>>> Hmm, I am not quite sure? the configure.in file contains the
>>>>>>> information
>>>>>>> which should be changed?
>>>>>>> http://trac.mcs.anl.gov/projects/mpich2/browser/mpich2/branches/release/mpich2-1.4.x/configure.in
>>>>>>>
>>>>>>> On Thu, 6 Sep 2012, Pavan Balaji wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> It looks like this patch needs to go into libtool, rather than
>>>>>>>> in
>>>>>>>> MPICH.
>>>>>>>> We
>>>>>>>> can maintain a patch to libtool within mpich (at least till
>>>>>>>> libtool
>>>>>>>> upstream
>>>>>>>> integrates it), if you can provide us with one.
>>>>>>>>
>>>>>>>> -- Pavan
>>>>>>>>
>>>>>>>> On 09/06/2012 05:24 PM, Evren Yurtesen IB wrote:
>>>>>>>>> I was trying to compile mpich2 1.4.1p1 using open64 and oddly
>>>>>>>>> it
>>>>>>>>> kept
>>>>>>>>> failing with the following configure options...
>>>>>>>>>
>>>>>>>>> --enable-fast=O2 --enable-shared --enable-mpe --with-pmi=slurm
>>>>>>>>> --with-pm=none
>>>>>>>>>
>>>>>>>>> I have googled this and found the following forum post:
>>>>>>>>> http://devgurus.amd.com/thread/146210
>>>>>>>>>
>>>>>>>>> Where the exact error message which I was getting was
>>>>>>>>> mentioned:
>>>>>>>>>     make[4]: Entering directory
>>>>>>>>> `/home2/ach/soft/wrfipkd/mpich2-1.3.1/src/binding/f90'
>>>>>>>>>      FC mpi.f90
>>>>>>>>> make[4]: *** [mpi.lo] Error 1
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I have modified the configure script and managed to finish
>>>>>>>>> installation.
>>>>>>>>> (diff below). Can this fix be part of mpich2?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --- configure.orig 2012-09-07 00:45:10.571555205 +0300
>>>>>>>>> +++ configure 2012-09-07 00:59:28.956554973 +0300
>>>>>>>>> @@ -16739,6 +16739,10 @@
>>>>>>>>>         # Try to use the compiler name
>>>>>>>>>         if test "$FC" = "ifort" -o "$FC" = "ifc" ; then
>>>>>>>>>             pac_cv_fc_vendor=intel
>>>>>>>>> + elif test "$FC" = "openf90" ; then
>>>>>>>>> + pac_cv_fc_vendor=open64
>>>>>>>>> + elif test "$FC" = "openf95" ; then
>>>>>>>>> + pac_cv_fc_vendor=open64
>>>>>>>>>         elif test "$FC" = "pgf90" ; then
>>>>>>>>>             pac_cv_fc_vendor=pgi
>>>>>>>>>         elif test "$FC" = "xlf90" -o "$FC" = "xlf90_r" ; then
>>>>>>>>> @@ -16785,6 +16789,14 @@
>>>>>>>>>                    fi
>>>>>>>>>                    ;;
>>>>>>>>>
>>>>>>>>> + open64)
>>>>>>>>> + # open64 implements the GNU options
>>>>>>>>> + FC_SHL="$FC -shared -fPIC"
>>>>>>>>> + if test "$enable_rpath" = yes ; then
>>>>>>>>> + FC_LINKPATH_SHL="-Wl,-rpath -Wl,"
>>>>>>>>> + fi
>>>>>>>>> + ;;
>>>>>>>>> +
>>>>>>>>>                    pgi)
>>>>>>>>>                    # Portland Group implements the GNU options
>>>>>>>>>                    FC_SHL="$FC -shared -fPIC"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Evren
>>>>>>>>>
>>>>>>>>> PS. I created a ticket as well:
>>>>>>>>> https://trac.mcs.anl.gov/projects/mpich2/ticket/1690
>>>>>>>>> _______________________________________________
>>>>>>>>> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
>>>>>>>>> To manage subscription options or unsubscribe:
>>>>>>>>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Pavan Balaji
>>>>>>>> http://www.mcs.anl.gov/~balaji
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Pavan Balaji
>>>>>> http://www.mcs.anl.gov/~balaji
>>>>>>
>>>>>
>>>> _______________________________________________
>>>> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
>>>> To manage subscription options or unsubscribe:
>>>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>> _______________________________________________
>>> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
>>> To manage subscription options or unsubscribe:
>>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>>
>>>
>
>


More information about the mpich-discuss mailing list