Coming in near the end here. I've had "fun" with PGI + Open MPI + macOS
(and still haven't quite solved it, see:
https://www.mail-archive.com/users@lists.open-mpi.org//msg30865.html, still
unanswered!) The solution that PGI gave me, and which seems the magic sauce
on macOS is to use a siterc file (
http://www.pgroup.com/userforum/viewtopic.php?p=21105#21105):

=================================
siterc for gcc commands PGI does not support
=================================
switch -ffast-math is hide;

switch -pipe is hide;

switch -fexpensive-optimizations is hide;

switch -pthread is
append(LDLIB1= -lpthread);

switch -qversion is
early
help(Display compiler version)
helpgroup(overall)
set(VERSION=YES);

switch -Wno-deprecated-declarations is hide;

switch -flat_namespace is hide;
====================================

If you use that, -pthread is "rerouted" to append -lpthread. You might try
that and see if that helps. Since you are on Linux (I assume?), then you
should be able to proceed as you shouldn't encounter the libtool
bug/issue/*shrug* that is breaking macOS use.

On Mon, Apr 3, 2017 at 5:14 PM, Reuti <re...@staff.uni-marburg.de> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> Am 03.04.2017 um 23:07 schrieb Prentice Bisbal:
>
> > FYI - the proposed 'here-doc' solution below didn't work for me, it
> produced an error. Neither did printf. When I used printf, only the first
> arg was passed along:
> >
> > #!/bin/bash
> >
> > realcmd=/usr/pppl/pgi/17.3/linux86-64/17.3/bin/pgcc.real
> > echo "original args: $@"
> > newargs=$(printf -- "$@" | sed s/-pthread//g)
>
> The format string is missing:
>
> printf "%s " "$@"
>
>
> > echo "new args: $newargs"
> > #$realcmd $newargs
> > exit
> >
> > $ pgcc -tp=x64 -fast conftest.c
> > original args: -tp=x64 -fast conftest.c
> > new args: -tp=x64
> >
> > Any ideas what I might be doing wrong here?
> >
> > So, my original echo "" "$@" solution works, and another colleague also
> suggested this expressions, which appears to work, too:
> >
> > newargs=${@/-pthread/}
> >
> > Although I don't know how portable that is. I'm guessing that's very
> bash-specific syntax.
> >
> > Prentice
> >
> > On 04/03/2017 04:26 PM, Prentice Bisbal wrote:
> >> A coworker came up with another idea that works, too:
> >>
> >> newargs=sed s/-pthread//g <<EOF
> >> $@
> >> EOF
> >>
> >> That should work, too, but I haven't test it.
> >>
> >> Prentice
> >>
> >> On 04/03/2017 04:11 PM, Andy Riebs wrote:
> >>> Try
> >>> $ printf -- "-E" ...
> >>>
> >>> On 04/03/2017 04:03 PM, Prentice Bisbal wrote:
> >>>> Okay. the additional -E doesn't work,either. :(
> >>>>
> >>>> Prentice Bisbal Lead Software Engineer Princeton Plasma Physics
> Laboratory http://www.pppl.gov
> >>>> On 04/03/2017 04:01 PM, Prentice Bisbal wrote:
> >>>>> Nevermind. A coworker helped me figure this one out. Echo is
> treating the '-E' as an argument to echo and interpreting it instead of
> passing it to sed. Since that's used by the configure tests, that's a bit
> of a problem, Just adding another -E before $@, should fix the problem.
> >>>>>
> >>>>> Prentice
> >>>>>
> >>>>> On 04/03/2017 03:54 PM, Prentice Bisbal wrote:
> >>>>>> I've decided to work around this problem by creating a wrapper
> script for pgcc that strips away the -pthread argument, but my sed
> expression works on the command-line, but not in the script. I'm
> essentially reproducing the workaround from https://www.open-mpi.org/
> community/lists/users/2009/04/8724.php.
> >>>>>>
> >>>>>> Can anyone see what's wrong with my implementation the workaround?
> It's a very simple sed expression. Here's my script:
> >>>>>>
> >>>>>> #!/bin/bash
> >>>>>>
> >>>>>> realcmd=/path/to/pgcc
> >>>>>> echo "original args: $@"
> >>>>>> newargs=$(echo "$@" | sed s/-pthread//)
> >>>>>> echo "new args: $newargs"
> >>>>>> #$realcmd $newargs
> >>>>>> exit
> >>>>>>
> >>>>>> And here's what happens when I run it:
> >>>>>>
> >>>>>> /path/to/pgcc -E conftest.c
> >>>>>> original args: -E conftest.c
> >>>>>> new args: conftest.c
> >>>>>>
> >>>>>> As you can see, the -E argument is getting lost in translation. If
> I add more arguments, it works fine:
> >>>>>>
> >>>>>> /path/to/pgcc -A -B -C -D -E conftest.c
> >>>>>> original args: -A -B -C -D -E conftest.c
> >>>>>> new args: -A -B -C -D -E conftest.c
> >>>>>>
> >>>>>> It only seems to be a problem when -E is the first argument:
> >>>>>>
> >>>>>> $ /path/to/pgcc -E -D -C -B -A conftest.c
> >>>>>> original args: -E -D -C -B -A conftest.c
> >>>>>> new args: -D -C -B -A conftest.c
> >>>>>>
> >>>>>> Prentice
> >>>>>>
> >>>>>> On 04/03/2017 02:24 PM, Aaron Knister wrote:
> >>>>>>> To be thorough couldn't one replace -pthread in the slurm .la
> files with -lpthread? I ran into this last week and this was the solution I
> was thinking about implementing. Having said that, I can't think of a
> situation in which the -pthread/-lpthread argument would be required other
> than linking against statically compiled SLURM libraries and even then I'm
> not so sure about that.
> >>>>>>>
> >>>>>>> -Aaron
> >>>>>>>
> >>>>>>> On 4/3/17 1:46 PM, �ke Sandgren wrote:
> >>>>>>>> We build slurm with GCC, drop the -pthread arg in the .la files,
> and
> >>>>>>>> have never seen any problems related to that. And we do build
> quite a
> >>>>>>>> lot of code. And lots of versions of OpenMPI with multiple
> different
> >>>>>>>> compilers (and versions).
> >>>>>>>>
> >>>>>>>> On 04/03/2017 04:51 PM, Prentice Bisbal wrote:
> >>>>>>>>> This is the second suggestion to rebuild Slurm
> >>>>>>>>>
> >>>>>>>>> The  other from �ke Sandgren, who recommended this:
> >>>>>>>>>
> >>>>>>>>>> This usually comes from slurm, so we always do
> >>>>>>>>>>
> >>>>>>>>>> perl -pi -e 's/-pthread//' /lap/slurm/${version}/lib/libpmi.la
> >>>>>>>>>> /lap/slurm/${version}/lib/libslurm.la
> >>>>>>>>>>
> >>>>>>>>>> when installing a new slurm version. Thus no need for a fakepg
> wrapper.
> >>>>>>>>>
> >>>>>>>>> I don't really have the luxury to rebuild Slurm at the moment.
> How would
> >>>>>>>>> I rebuild Slurm to change this behavior? Is rebuilding Slurm
> with PGI
> >>>>>>>>> the only option to fix this in slurm, or use �ke's suggestion
> above?
> >>>>>>>>>
> >>>>>>>>> If I did use �ke's suggestion above, how would that affect the
> operation
> >>>>>>>>> of Slurm, or future builds of OpenMPI and any other software
> that might
> >>>>>>>>> rely on Slurm, particulary with regards to building those apps
> with
> >>>>>>>>> non-PGI compilers?
> >>>>>>>>>
> >>>>>>>>> Prentice
> >>>>>>>>>
> >>>>>>>>> On 04/03/2017 10:31 AM, Gilles Gouaillardet wrote:
> >>>>>>>>>> Hi,
> >>>>>>>>>>
> >>>>>>>>>> The -pthread flag is likely pulled by libtool from the slurm
> libmpi.la
> >>>>>>>>>> <http://libmpi.la> and/or libslurm.la <http://libslurm.la>
> >>>>>>>>>> Workarounds are
> >>>>>>>>>> - rebuild slurm with PGI
> >>>>>>>>>> - remove the .la files (*.so and/or *.a are enough)
> >>>>>>>>>> - wrap the PGI compiler to ignore the -pthread option
> >>>>>>>>>>
> >>>>>>>>>> Hope this helps
> >>>>>>>>>>
> >>>>>>>>>> Gilles
> >>>>>>>>>>
> >>>>>>>>>> On Monday, April 3, 2017, Prentice Bisbal <pbis...@pppl.gov
> >>>>>>>>>> <mailto:pbis...@pppl.gov>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>    Greeting Open MPI users! After being off this list for
> several
> >>>>>>>>>>    years, I'm back! And I need help:
> >>>>>>>>>>
> >>>>>>>>>>    I'm trying to compile OpenMPI 1.10.3 with the PGI compilers,
> >>>>>>>>>>    version 17.3. I'm using the following configure options:
> >>>>>>>>>>
> >>>>>>>>>>    ./configure \
> >>>>>>>>>> --prefix=/usr/pppl/pgi/17.3-pkgs/openmpi-1.10.3 \
> >>>>>>>>>>      --disable-silent-rules \
> >>>>>>>>>>      --enable-shared \
> >>>>>>>>>>      --enable-static \
> >>>>>>>>>>      --enable-mpi-thread-multiple \
> >>>>>>>>>>      --with-pmi=/usr/pppl/slurm/15.08.8 \
> >>>>>>>>>>      --with-hwloc \
> >>>>>>>>>>      --with-verbs \
> >>>>>>>>>>      --with-slurm \
> >>>>>>>>>>      --with-psm \
> >>>>>>>>>>      CC=pgcc \
> >>>>>>>>>>      CFLAGS="-tp x64 -fast" \
> >>>>>>>>>>      CXX=pgc++ \
> >>>>>>>>>>      CXXFLAGS="-tp x64 -fast" \
> >>>>>>>>>>      FC=pgfortran \
> >>>>>>>>>>      FCFLAGS="-tp x64 -fast" \
> >>>>>>>>>>      2>&1 | tee configure.log
> >>>>>>>>>>
> >>>>>>>>>>    Which leads to this error  from libtool during make:
> >>>>>>>>>>
> >>>>>>>>>>    pgcc-Error-Unknown switch: -pthread
> >>>>>>>>>>
> >>>>>>>>>>    I've searched the archives, which ultimately lead to this
> work
> >>>>>>>>>>    around from 2009:
> >>>>>>>>>>
> >>>>>>>>>> https://www.open-mpi.org/community/lists/users/2009/04/8724.php
> >>>>>>>>>> <https://www.open-mpi.org/community/lists/users/2009/04/
> 8724.php>
> >>>>>>>>>>
> >>>>>>>>>>    Interestingly, I participated in the discussion that lead to
> that
> >>>>>>>>>>    workaround, stating that I had no problem compiling Open MPI
> with
> >>>>>>>>>>    PGI v9. I'm assuming the problem now is that I'm specifying
> >>>>>>>>>>    --enable-mpi-thread-multiple, which I'm doing because a user
> >>>>>>>>>>    requested that feature.
> >>>>>>>>>>
> >>>>>>>>>>    It's been exactly 8 years and 2 days since that workaround
> was
> >>>>>>>>>>    posted to the list. Please tell me a better way of dealing
> with
> >>>>>>>>>>    this issue than writing a 'fakepgf90' script. Any
> suggestions?
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>    --
> >>>>>>>>>>    Prentice
> >>>>>>>>>>
> >>>>>>>>>> _______________________________________________
> >>>>>>>>>>    users mailing list
> >>>>>>>>>>    users@lists.open-mpi.org
> >>>>>>>>>> https://rfd.newmexicoconsortium.org/mailman/listinfo/users
> >>>>>>>>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/users>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> _______________________________________________
> >>>>>>>>>> users mailing list
> >>>>>>>>>> users@lists.open-mpi.org
> >>>>>>>>>> https://rfd.newmexicoconsortium.org/mailman/listinfo/users
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> _______________________________________________
> >>>>>>>>> users mailing list
> >>>>>>>>> users@lists.open-mpi.org
> >>>>>>>>> https://rfd.newmexicoconsortium.org/mailman/listinfo/users
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>> _______________________________________________
> >>>> users mailing list
> >>>> users@lists.open-mpi.org
> >>>> https://rfd.newmexicoconsortium.org/mailman/listinfo/users
> >>>
> >>
> >
> > _______________________________________________
> > users mailing list
> > users@lists.open-mpi.org
> > https://rfd.newmexicoconsortium.org/mailman/listinfo/users
> >
>
> -----BEGIN PGP SIGNATURE-----
> Comment: GPGTools - https://gpgtools.org
>
> iEYEARECAAYFAljiu0YACgkQo/GbGkBRnRpGowCgha3O1wvYyQQOrsYuUqSGJq2B
> qHEAnRyT0PHY75NmmI9Efv4CkM7aJjVp
> =f5Xk
> -----END PGP SIGNATURE-----
> _______________________________________________
> users mailing list
> users@lists.open-mpi.org
> https://rfd.newmexicoconsortium.org/mailman/listinfo/users
>



-- 
Matt Thompson

Man Among Men
Fulcrum of History
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to