Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] Use of OPAL_PREFIX to relocate a lib
From: Sylvain Jeaugey (sylvain.jeaugey_at_[hidden])
Date: 2009-06-18 04:55:42


Hi all,

Until Open MPI 1.3 (maybe 1.3.1), I used to find it convenient to be able
to move a library from its "normal" place (either /usr or /opt) to
somewhere else (i.e. my NFS home account) to be able to try things only on
my account.

So, I used to set OPAL_PREFIX to the root of the Open MPI directory and
all went fine.

I don't know if relocation was intended in the first place, but with
1.3.2, this seems to be broken.

It may have something to do with this patch (and maybe others) :

# HG changeset patch
# User bosilca
# Date 1159647750 0
# Node ID c7152b893f1ce1bc54eea2dc3f06c7e359011fdd
# Parent 676a8fbdbb161f0b84a1c6bb12e2324c8a749c56
All the OPAL_ defines from the install_dirs.h contain ABSOLUTE path.
Therefore,
there is no need to prepend OPAL_PREFIX to them.

diff -r 676a8fbdbb16 -r c7152b893f1c opal/tools/wrappers/opal_wrapper.c
--- a/opal/tools/wrappers/opal_wrapper.c Fri Sep 29 23:58:58 2006 +0000
+++ b/opal/tools/wrappers/opal_wrapper.c Sat Sep 30 20:22:30 2006 +0000
@@ -561,9 +561,9 @@
          if (0 != strcmp(OPAL_INCLUDEDIR, "/usr/include")) {
              char *line;
  #if defined(__WINDOWS__)
- asprintf(&line, OPAL_INCLUDE_PATTERN OPAL_PREFIX "\"\\%s\"", OPAL_INCLUDEDIR);
+ asprintf(&line, OPAL_INCLUDE_PATTERN "\"\\%s\"", OPAL_INCLUDEDIR);
  #else
- asprintf(&line, OPAL_INCLUDE_PATTERN OPAL_PREFIX"/%s", OPAL_INCLUDEDIR);
+ asprintf(&line, OPAL_INCLUDE_PATTERN "/%s", OPAL_INCLUDEDIR);
  #endif /* defined(__WINDOWS__) */
              opal_argv_append_nosize(&data.preproc_flags, line);
              free(line);

George, is there a rationale behind this patch for disabling relocation of
libraries ? Do you think reverting only this patch would bring back the
relocation functionality ?

TIA,

Sylvain