-----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