Matt,

Thank you so much! I think you might have cracked the case for me. Yes, I'm on Linux, and I just looked up siterc and userrc files in the PGI userguide. I think I'm going to start with a userrc file, since I prefer to minimize customization as much as possible, and to test without affecting other users. I have run into other issues with PGI, too, after fixing the -pthread issue, which I'll bring up in a separate email.

Prentice

On 04/03/2017 06:24 PM, Matt Thompson wrote:
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 <mailto: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
    <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 <http://libpmi.la>
    >>>>>>>>>> /lap/slurm/${version}/lib/libslurm.la <http://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>
    >>>>>>>>>> <http://libmpi.la> and/or libslurm.la
    <http://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>
    >>>>>>>>>> <mailto: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>
    >>>>>>>>>>
    <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 <mailto:users@lists.open-mpi.org>
    >>>>>>>>>>
    https://rfd.newmexicoconsortium.org/mailman/listinfo/users
    <https://rfd.newmexicoconsortium.org/mailman/listinfo/users>
    >>>>>>>>>>
    <https://rfd.newmexicoconsortium.org/mailman/listinfo/users
    <https://rfd.newmexicoconsortium.org/mailman/listinfo/users>>
    >>>>>>>>>>
    >>>>>>>>>>
    >>>>>>>>>>
    >>>>>>>>>> _______________________________________________
    >>>>>>>>>> users mailing list
    >>>>>>>>>> users@lists.open-mpi.org <mailto: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 <mailto: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 <mailto: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 <mailto:users@lists.open-mpi.org>
    > https://rfd.newmexicoconsortium.org/mailman/listinfo/users
    <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 <mailto:users@lists.open-mpi.org>
    https://rfd.newmexicoconsortium.org/mailman/listinfo/users
    <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

_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to