View Issue Details

IDProjectCategoryView StatusLast Update
0000400ThirdPartyBugpublic2012-04-11 23:18
Reporterwyldckat Assigned Tohenry  
PrioritynormalSeveritytrivialReproducibilityalways
Status closedResolutionfixed 
PlatformLinux x86_64OSopenSUSEOS Version12.1
Summary0000400: Open-MPI installed libraries in folder lib64 instead of lib
DescriptionI understand that openSUSE 12.1 is not officially supported yet by OpenFOAM, but the only issue I've found so far was this strange situation where the custom built Open-MPI installed its libraries in the folder "$MPI_ARCH_PATH/lib64" instead of "$MPI_ARCH_PATH/lib".

The fix is quite simple, it's just a matter of adding the following (or similar) lines to the 3rd Party's Allwmake script, right after Open-MPI's "make install":

        if [ -d "$MPI_ARCH_PATH/lib64" -a ! -d "$MPI_ARCH_PATH/lib" ]; then
            ln -s $MPI_ARCH_PATH/lib64 $MPI_ARCH_PATH/lib
        fi

Additional InformationI haven't checked yet if this also happens with MPICH2 or not.
TagsNo tags attached.

Activities

wyldckat

2012-01-28 19:49

updater   ~0000966

Finished doing some tests with MPICH2 1.4.1p1 (not 1.1.1p1) and the same occurred, namely "$MPI_ARCH_PATH/lib64" was used as target instead of "$MPI_ARCH_PATH/lib".

henry

2012-04-10 12:56

manager   ~0001226

Rather than making the ad hoc change of adding a link from lib64 to lib I changed settings.sh/csh to additionally include the path to lib64 pending all GNU/Linux distros behaving in the new way. Could you test this change and let us know if it resolves the issue?

Thanks

wyldckat

2012-04-10 22:17

updater   ~0001227

Hi Henry,

You missed one important detail ;) Below is the copy-paste of git diff (sorry, I'm in a hurry + lazy...):

diff --git a/wmake/rules/General/mplibOPENMPI b/wmake/rules/General/mplibOPENMPI
index 834d2d3..4ad6b08 100644
--- a/wmake/rules/General/mplibOPENMPI
+++ b/wmake/rules/General/mplibOPENMPI
@@ -1,3 +1,3 @@
 PFLAGS = -DOMPI_SKIP_MPICXX
 PINC = -I$(MPI_ARCH_PATH)/include
-PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi
+PLIBS = -L$(MPI_ARCH_PATH)/lib -L$(MPI_ARCH_PATH)/lib64 -lmpi

henry

2012-04-11 09:59

manager   ~0001229

Rather than adding a 64-bit specific option I have added the more general and consistent form:

PLIBS = -L$(MPI_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) -L$(MPI_ARCH_PATH)/lib -lmpi

and added the equivalent changes for MPICH and MPICH-GM.

Let us know if these changes resolve the problems.

wyldckat

2012-04-11 10:35

updater   ~0001230

Typo on wmake/rules/General/mplibMPICH-GM: missing a ) after WM_COMPILER_LIB_ARCH

-L$(MPI_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH -L$(MPI_ARCH_PATH)/lib


I'll test this later today.

wyldckat

2012-04-11 22:41

updater   ~0001233

Seems to be working as intended!

Although it will look weird in the future, when diagnosing environment variables and gcc commands on 32bit machines...

Issue History

Date Modified Username Field Change
2012-01-28 18:53 wyldckat New Issue
2012-01-28 19:49 wyldckat Note Added: 0000966
2012-04-10 12:56 henry Note Added: 0001226
2012-04-10 22:17 wyldckat Note Added: 0001227
2012-04-11 09:59 henry Note Added: 0001229
2012-04-11 10:35 wyldckat Note Added: 0001230
2012-04-11 22:41 wyldckat Note Added: 0001233
2012-04-11 23:18 henry Status new => closed
2012-04-11 23:18 henry Assigned To => henry
2012-04-11 23:18 henry Resolution open => fixed