So it seems that -rpath is not available with 1.4 which is ompi came with
rocks 6.

Regards,
Mahmood



On Thu, Sep 14, 2017 at 2:44 PM, Mahmood Naderan <mahmood...@gmail.com>
wrote:

> Well that may be good if someone intend to rebuild ompi.
> Lets say, there is an ompi on the system...
>
> Regards,
> Mahmood
>
>
>
> On Thu, Sep 14, 2017 at 2:31 PM, Gilles Gouaillardet <
> gilles.gouaillar...@gmail.com> wrote:
>
>> Peter and all,
>>
>> an easier option is to configure Open MPI with --mpirun-prefix-by-default
>> this will automagically add rpath to the libs.
>>
>> Cheers,
>>
>> Gilles
>>
>> On Thu, Sep 14, 2017 at 6:43 PM, Peter Kjellström <c...@nsc.liu.se> wrote:
>> > On Wed, 13 Sep 2017 20:13:54 +0430
>> > Mahmood Naderan <mahmood...@gmail.com> wrote:
>> > ...
>> >> `/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/li
>> bc.a(strcmp.o)'
>> >> can not be used when making an executable; recompile with -fPIE and
>> >> relink with -pie collect2: ld returned 1 exit status
>> >>
>> >>
>> >> With such an error, I thought it is better to forget static linking!
>> >> (as it is related to libc) and work with the shared libs and
>> >> LD_LIBRARY_PATH
>> >
>> > First, I think giving up on static linking is the right choice.
>> >
>> > If the main thing you were after was the convenience of a binary that
>> > will run without the need to setup LD_LIBRARY_PATH correctly you should
>> > have a look at passing -rpath to the linker.
>> >
>> > In short, "mpicc -Wl,-rpath=/my/lib/path helloworld.c -o hello", will
>> > compile a dynamic binary "hello" with built in search path
>> > to "/my/lib/path".
>> >
>> > With OpenMPI this will be added as a "runpath" due to how the wrappers
>> > are designed. Both rpath and runpath works for finding "/my/lib/path"
>> > wihtout LD_LIBRARY_PATH but the difference is in priority. rpath is
>> > higher priority than LD_LIBRARY_PATH etc. and runpath is lower.
>> >
>> > You can check your rpath or runpath in a binary using the command
>> > chrpath (package on rhel/centos/... is chrpath):
>> >
>> > $ chrpath hello
>> > hello: RUNPATH=/my/lib/path
>> >
>> > If what you really wanted is the rpath behavior (winning over any
>> > LD_LIBRARY_PATH in the environment etc.) then you need to modify the
>> > openmpi wrappers (rebuild openmpi) such that it does NOT pass
>> > "--enable-new-dtags" to the linker.
>> >
>> > /Peter
>> > _______________________________________________
>> > users mailing list
>> > users@lists.open-mpi.org
>> > https://lists.open-mpi.org/mailman/listinfo/users
>> _______________________________________________
>> users mailing list
>> users@lists.open-mpi.org
>> https://lists.open-mpi.org/mailman/listinfo/users
>>
>
>
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to