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