Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] compilation error with pgcc Unknown switch
From: Abhinav Sarje (asarje_at_[hidden])
Date: 2012-02-28 00:29:46


Hi Nathan, Gus, Manju,

I got a chance to try out the XE6 support build, but with no success.
First I was getting this error: "PGC-F-0010-File write error occurred
(temporary pragma .s file)". After searching online about this error,
I saw that there is a patch at
"https://svn.open-mpi.org/trac/ompi/attachment/ticket/2913/openmpi-trunk-ident_string.patch"
for this particular error.

With the patched version, I did not get this error anymore, but got
the unknown switch flag error for the flag "-march=amdfam10"
(specified in the XE6 configuration in the dev trunk) at a particular
point even if I use the '-noswitcherror' flag with the pgcc compiler.

If I remove this flag (-march=amdfam10), the build fails later at the
following point:
-------------------------
Making all in mca/ras/alps
make[2]: Entering directory `/{mydir}/openmpi-dev-trunk/build/orte/mca/ras/alps'
  CC ras_alps_component.lo
  CC ras_alps_module.lo
PGC-F-0206-Can't find include file alps/apInfo.h
(../../../../../orte/mca/ras/alps/ras_alps_module.c: 37)
PGC/x86-64 Linux 11.10-0: compilation aborted
make[2]: *** [ras_alps_module.lo] Error 1
make[2]: Leaving directory `/{mydir}/openmpi-dev-trunk/build/orte/mca/ras/alps'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/{mydir}/openmpi-dev-trunk/build/orte'
make: *** [all-recursive] Error 1
--------------------------

With this I am out of options to try. I am still using the same
environment: PGI 11.10 compilers, XE6 platform, openmpi dev trunk.

Any insight would help.

Thanks,
Abhinav.

On Fri, Feb 17, 2012 at 4:08 AM, Nathan Hjelm <hjelmn_at_[hidden]> wrote:
> contrib/platform/lanl/cray-xe6 is within the Open MPI trunk. It contains
> platform files for an optimized and a debug build (for configure
> --platform).
>
> -Nathan
>
>
> On Thu, 16 Feb 2012, Abhinav Sarje wrote:
>
>> Hi again,
>>
>> Could you tell me the complete path of the svn repo? I think I am
>> missing something there. Also, can I checkout this version
>> anonymously, or do I need a dev account?
>>
>> Thanks,
>> Abhinav.
>>
>> On Thu, Feb 16, 2012 at 11:52 AM, Abhinav Sarje <asarje_at_[hidden]> wrote:
>>>
>>> Hi Nathan,
>>>
>>> I had earlier tried to compile OpenMPI with just PGI compilers
>>> (without cray wrapper), but with that my code was not able to run on
>>> the compute nodes of the cray cluster (it just ran on the MOM node).
>>> Therefore I have been trying to compiler OpenMPI with the cray
>>> wrappers.
>>>
>>> I will checkout the cray-xe6 version, and try to follow the instructions.
>>>
>>> Thanks!
>>> Abhinav.
>>>
>>> On Thu, Feb 16, 2012 at 8:31 AM, Nathan Hjelm <hjelmn_at_[hidden]> wrote:
>>>>
>>>> Abhinav, you shouldn't be using the cray wrappers to build Open MPI or
>>>> anything linked against Open MPI. The Cray wrappers will automatically
>>>> include lots of stuff you don't want. Use pgcc, pgcc, or icc directly.
>>>> You
>>>> shouldn't have any trouble running in parallel with either aprun or
>>>> mpirun
>>>> (orterun).
>>>>
>>>> If you haven't already please check out contrib/platform/lanl/cray-xe6
>>>> to
>>>> see how to build Open MPI with support for the xe6.
>>>>
>>>> -Nathan
>>>>
>>>>
>>>> On Wed, 15 Feb 2012, Abhinav Sarje wrote:
>>>>
>>>>> Hi Gus,
>>>>>
>>>>> I am building using the cray wrappers over the PGI compilers, which
>>>>> gives the errors. I tried building without the cray wrappers, but then
>>>>> it does not run in parallel on the XE6 system I am using. I am going
>>>>> to try the latest nightly build.
>>>>>
>>>>> Abhinav.
>>>>>
>>>>> On Wed, Feb 15, 2012 at 12:22 PM, Gustavo Correa
>>>>> <gus_at_[hidden]>
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Feb 15, 2012, at 1:58 PM, Abhinav Sarje wrote:
>>>>>>
>>>>>>> Hi Gus,
>>>>>>> I have not added any flags that include static, but when I do a
>>>>>>> verbose compilation output for the point where error occurs, I see
>>>>>>> that there are some -Bstatic flags. I tried to manually remove the
>>>>>>> -Bstatic included just before the libopen-pal.so library, and that
>>>>>>> particular line then compiled without error. But then while doing
>>>>>>> overall build, the same error occurs at multiple points.
>>>>>>>
>>>>>>> I will try to use the latest nightly tarball and see if it works.
>>>>>>>
>>>>>>> Thanks a lot.
>>>>>>>
>>>>>>
>>>>>> Hi Abhinav
>>>>>>
>>>>>> For what it is worth, I built here OpenMPI 1.4.4 on Linux x86-64
>>>>>> CentOS
>>>>>> 5.2 [a bit old]
>>>>>> with the PGI 11.7 compilers.
>>>>>> I didn't even use the -noswitcherror switch [which I had to use in
>>>>>> some
>>>>>> of the
>>>>>> previous versions of OpenMPI and PGI].
>>>>>>
>>>>>> How about forcing the use of shared libraries with -Bdynamic along
>>>>>> with
>>>>>> that -noswitcherror,
>>>>>> in the CC, FC, etc declarations?
>>>>>>
>>>>>> Still, this looks strange, and my guess is that this may be some twist
>>>>>> in
>>>>>> your compiler
>>>>>> installation/configuration.
>>>>>>
>>>>>> But it may come also from the OpenMPI configure script.
>>>>>> Could the OpenMPI configure pick and use the PGI -Bstatic flag,
>>>>>> perhaps?
>>>>>> This type of thing only the developers can tell.
>>>>>> Better hear from them.
>>>>>>
>>>>>>
>>>>>> I hope this helps,
>>>>>> Gus Correa
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Abhinav
>>>>>>>
>>>>>>> On Wed, Feb 15, 2012 at 7:42 AM, Gustavo Correa
>>>>>>> <gus_at_[hidden]>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi Abhinav
>>>>>>>>
>>>>>>>> Did you add to your compiler flags -Bstatic [or perhaps -static],
>>>>>>>> or any optimization flags that may include -Bstatic/-static?
>>>>>>>> Check also the compiler configuration, and any possible user
>>>>>>>> customization
>>>>>>>> [~/.mypggcc and friends] to see if -Bstatic is there, maybe
>>>>>>>> inadvertently, and is set by default.
>>>>>>>> That is all I can think of.
>>>>>>>> Maybe it will require  Jeff and the Open MPI developers to sort
>>>>>>>> the problem out.
>>>>>>>>
>>>>>>>> Gus Correa
>>>>>>>>
>>>>>>>> On Feb 15, 2012, at 12:19 AM, Abhinav Sarje wrote:
>>>>>>>>
>>>>>>>>> Hi Gus, I had tried with the -noswitcherror flags, which removed
>>>>>>>>> the
>>>>>>>>> 'unknown-switch' error, but then I am still getting the "attempted
>>>>>>>>> static link of dynamic object" error as I reported earlier.
>>>>>>>>>
>>>>>>>>> Thanks.
>>>>>>>>>
>>>>>>>>> On Fri, Feb 10, 2012 at 5:57 AM, Gustavo Correa
>>>>>>>>> <gus_at_[hidden]> wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hi Abhinav
>>>>>>>>>>
>>>>>>>>>> Setting CC='pgcc --noswitcherror', FC='pgfortran --noswitcherror',
>>>>>>>>>> etc, may prevent the
>>>>>>>>>> error message [but not sure it will prevent any actual and
>>>>>>>>>> unreported
>>>>>>>>>> error].
>>>>>>>>>> Check details with 'man pgfortran'.
>>>>>>>>>>
>>>>>>>>>> I hope this helps,
>>>>>>>>>> Gus Corea
>>>>>>>>>>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>>> On Feb 10, 2012, at 2:03 AM, Abhinav Sarje wrote:
>>>>>>>>>>
>>>>>>>>>>> I tried with 1.5.4 and same compilers, and got the exact same
>>>>>>>>>>> error.
>>>>>>>>>>> I also tried PGI version 11.10.0, and got the same thing.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Feb 8, 2012 at 3:04 AM, Jeff Squyres (jsquyres)
>>>>>>>>>>> <jsquyres_at_[hidden]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Can you try building 1.5.4 with the same compilers?
>>>>>>>>>>>>
>>>>>>>>>>>> Sent from my phone. No type good.
>>>>>>>>>>>>
>>>>>>>>>>>> On Feb 7, 2012, at 3:14 PM, "Abhinav Sarje" <asarje_at_[hidden]>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> I am trying to build open-mpi 1.4.4 (latest stable from
>>>>>>>>>>>>> open-mpi.org)
>>>>>>>>>>>>> using PGI compilers on a cray platform. PGI compilers' version
>>>>>>>>>>>>> is
>>>>>>>>>>>>> 11.9.0. I get the following error while building:
>>>>>>>>>>>>> -------------------------------------
>>>>>>>>>>>>> Making all in tools/wrappers
>>>>>>>>>>>>> make[2]: Entering directory
>>>>>>>>>>>>> `{my_installation_directory}/opal/tools/wrappers'
>>>>>>>>>>>>> source='opal_wrapper.c' object='opal_wrapper.o' libtool=no \
>>>>>>>>>>>>>    DEPDIR=.deps depmode=none /bin/sh ../../../config/depcomp \
>>>>>>>>>>>>>    cc "-DEXEEXT=\"\"" -I. -I../../../opal/include
>>>>>>>>>>>>> -I../../../orte/include -I../../../ompi/include
>>>>>>>>>>>>> -I../../../opal/mca/paffinity/linux/plpa/src/libplpa
>>>>>>>>>>>>> -I../../..
>>>>>>>>>>>>> -D_REENTRANT  -O -DNDEBUG -fPIC  -c -o opal_wrapper.o
>>>>>>>>>>>>> opal_wrapper.c
>>>>>>>>>>>>> /bin/sh ../../../libtool --tag=CC   --mode=link cc  -O -DNDEBUG
>>>>>>>>>>>>> -fPIC
>>>>>>>>>>>>> -export-dynamic   -o opal_wrapper opal_wrapper.o
>>>>>>>>>>>>> ../../../opal/libopen-pal.la -lnsl -lutil
>>>>>>>>>>>>> libtool: link: cc -O -DNDEBUG -fPIC -o .libs/opal_wrapper
>>>>>>>>>>>>> opal_wrapper.o --export-dynamic
>>>>>>>>>>>>>  ../../../opal/.libs/libopen-pal.so
>>>>>>>>>>>>> -ldl -lnsl -lutil -rpath {my_installation_directory}/lib
>>>>>>>>>>>>> pgcc-Error-Unknown switch: --export-dynamic
>>>>>>>>>>>>> make[2]: *** [opal_wrapper] Error 1
>>>>>>>>>>>>> make[2]: Leaving directory
>>>>>>>>>>>>> `{my_installation_directory}/opal/tools/wrappers'
>>>>>>>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>>>>>>>> make[1]: Leaving directory `{my_installation_directory}/opal'
>>>>>>>>>>>>> make: *** [all-recursive] Error 1
>>>>>>>>>>>>> -------------------------------------
>>>>>>>>>>>>>
>>>>>>>>>>>>> I see that the libtool packaged with open-mpi is 2.2.6b
>>>>>>>>>>>>> When I try to compile this particular part with libtool
>>>>>>>>>>>>> versions
>>>>>>>>>>>>> 2.2.6
>>>>>>>>>>>>> or 2.4, I get the following error:
>>>>>>>>>>>>> -------------------------------------
>>>>>>>>>>>>> $ libtool --tag=CC   --mode=link cc  -O -DNDEBUG -fPIC
>>>>>>>>>>>>> -export-dynamic   -o opal_wrapper opal_wrapper.o
>>>>>>>>>>>>> ../../../opal/libopen-pal.la -lnsl -lutil
>>>>>>>>>>>>> libtool: link: cc -O -DNDEBUG -fPIC -o .libs/opal_wrapper
>>>>>>>>>>>>> opal_wrapper.o -Wl,--export-dynamic
>>>>>>>>>>>>> ../../../opal/.libs/libopen-pal.so -ldl -lnsl -lutil -Wl,-rpath
>>>>>>>>>>>>> -Wl,{my_installation_directory}/lib
>>>>>>>>>>>>> /usr/bin/ld: attempted static link of dynamic object
>>>>>>>>>>>>> `../../../opal/.libs/libopen-pal.so'
>>>>>>>>>>>>> -------------------------------------
>>>>>>>>>>>>>
>>>>>>>>>>>>> Looking at earlier posts, apparently there was a bug with
>>>>>>>>>>>>> libtool
>>>>>>>>>>>>> a
>>>>>>>>>>>>> couple of years ago because of which the above error occurred.
>>>>>>>>>>>>> This
>>>>>>>>>>>>> was fixed in newer releases, but I am getting similar errors.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Does anyone have any information on how to fix this, or if I am
>>>>>>>>>>>>> doing
>>>>>>>>>>>>> something wrong here?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> users mailing list
>>>>>>>>>>>>> users_at_[hidden]
>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> users mailing list
>>>>>>>>>>>> users_at_[hidden]
>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> users mailing list
>>>>>>>>>>> users_at_[hidden]
>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> users mailing list
>>>>>>>>>> users_at_[hidden]
>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> users mailing list
>>>>>>>>> users_at_[hidden]
>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> users mailing list
>>>>>>>> users_at_[hidden]
>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> users mailing list
>>>>>>> users_at_[hidden]
>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> users mailing list
>>>>>> users_at_[hidden]
>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users_at_[hidden]
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users