Gilles, With the additional information you provided about "dependency_libs", I agree that that either of the fixes you propose sound safe.
-Paul On Mon, Jul 25, 2016 at 6:26 PM, Gilles Gouaillardet <gil...@rist.or.jp> wrote: > Paul, > > in my environment, libslurm.la contains > > # Linker flags that can not go in dependency_libs. > inherited_linker_flags=' -pthread' > > # Libraries that this one depends upon. > dependency_libs=' -ldl -lpthread' > > > so bottom line, it invokes the compiler with both -pthread and -lpthread > > > iirc, -pthread does two things : > > - invoke the compiler with -D_REENTRANT (so it uses the thread-safe errno > and so on) > > - invoke the linker with -lpthread > > OpenMPI has its own way to pass -D_REENTRANT or similar anyway, and > libslurm.la is used only for for linking. > > since -lpthread is pulled anyway from libslurm.la (or it was already set > by OpenMPI), then yes, discarding -pthread should do the trick. > > > Cheers, > > > Gilles > > On 7/26/2016 10:11 AM, Paul Hargrove wrote: > > Gilles, > > My initial thought is that libslurm probably does require linking > libpthread, either for for linking pthread_* symbols, or for proper > *operation* (such as thread-safe versions of functions which override weak > definitions in libc). > > If so, then neither omitting "-pthread" nor telling pgcc not to complain > about "-pthread" is going to be a good solution. > Instead the "-pthread" needs to be replaced by "-lpthread", or similar. > > -Paul > > On Mon, Jul 25, 2016 at 6:03 PM, Gilles Gouaillardet <gil...@rist.or.jp> > wrote: > >> Folks, >> >> >> This is a followup of a thread that initially started at >> http://www.open-mpi.org/community/lists/users/2016/07/29635.php >> >> >> The user is trying to build Open MPI with PGI compiler and >> libslurm.la/libpmi.la support, and slurm was built with gcc compiler. >> >> >> At first, it fails because the "-pthread" flag is pulled from >> libslurm.la/libpmi.la, but this flag is not supported by PGI compilers. >> >> A workaround is to pass the -noswitcherror flag to the PGI compiler (so >> the -pthread flag is discarded and a warning message is issued, but PGI >> compiler does not fail). Unfortunatly, that does not work because libtool >> does does not pass this flag to the PGI compiler. >> >> >> Of course, one option is to tell the user to rebuild slurm with PGI, so >> libslurm.la/libpmi.la do not have the "-pthread" flag. >> >> A nicer though arguable option is to hack libtool to silently drop the >> "-pthread" flag with PGI compiler is used (i made a proof of concept, and >> this is a two lines patch). >> >> An other cleaner option is to hack libtool so it pass -noswitcherror to >> PGI compiler, but i do not know how to achieve this. >> >> >> Any thoughts ? >> >> >> Cheers >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2016/07/19278.php >> > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Computer Languages & Systems Software (CLaSS) Group > Computer Science Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > > _______________________________________________ > devel mailing listde...@open-mpi.org > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2016/07/19279.php > > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2016/07/19280.php > -- Paul H. Hargrove phhargr...@lbl.gov Computer Languages & Systems Software (CLaSS) Group Computer Science Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900