|
[Sponsors] |
July 31, 2012, 06:57 |
Install OpenFOAM-1.7.1 on openSUSE 12.1
|
#1 |
Member
Matthias Hettel
Join Date: Apr 2011
Location: Karlsruhe, Germany
Posts: 31
Rep Power: 15 |
Hello Everybody,
I work since long time with OpenFOAM-1.7.1 and try to use it on a new machine running openSUSE12.1 (x86_64). The problem occurs installing the Thirdparty modules. It has something to do with the installation of OpenMPI. In Thirdparty-1.7.1 the openmpi-1.4.1 is included. But, I tried also openmpi-1.5.3. Using both versions the same errors occur: ======================================== Build ParMetis decomposition. Requires MPI. + cd ParMetis-3.1 + cpMakeFiles ParMetis + set +x cpMakeFiles ParMetis . + wmake libso METISLib /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lmpi collect2: ld returned 1 exit status make: *** [/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/openmpi-1.5.3/libmetis-parmetis.so] Fehler 1 + wmake libso ParMETISLib /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lmpi /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: cannot find -lmetis-parmetis collect2: ld returned 1 exit status make: *** [/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/openmpi-1.5.3/libparmetis.so] Fehler 1 ======================================== I found out, that in the directory “OpenFOAM/OpenFOAM1.7.1/lib/linux64GccDPOpt” the libraries libPstream.so, libmetis-Parmetis.so, libParmetisDecomp.so, libParmetis.so are not existent … but they should. I had no problems using an older version of linux. Since hours I search in the output for informations what could be wrong. The ONLY errors I can find in the output are the following, but I don`t know if they are severe or have something to do with the problem: mv: Aufruf von stat fĂĽr â.deps/libutil_la-hash.Tpoâ nicht möglich: Datei oder Verzeichnis nicht gefunden make[5]: *** [libutil_la-hash.lo] Fehler 1 make[5]: Leaving directory `/home/ow4349/OpenFOAM/ThirdParty-1.7.1/openmpi-1.5.3/ompi/contrib/vt/vt/util' make[4]: *** [all-recursive] Fehler 1 make[4]: Leaving directory `/home/ow4349/OpenFOAM/ThirdParty-1.7.1/openmpi-1.5.3/ompi/contrib/vt/vt' make[3]: *** [all] Fehler 2 make[3]: Leaving directory `/home/ow4349/OpenFOAM/ThirdParty-1.7.1/openmpi-1.5.3/ompi/contrib/vt/vt' make[2]: *** [all-recursive] Fehler 1 make[2]: Leaving directory `/home/ow4349/OpenFOAM/ThirdParty-1.7.1/openmpi-1.5.3/ompi/contrib/vt' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/home/ow4349/OpenFOAM/ThirdParty-1.7.1/openmpi-1.5.3/ompi' make: *** [all-recursive] Fehler 1 I would be grateful if yomeone would give a hint who to proceed. Many greetings Matthi |
|
July 31, 2012, 07:46 |
|
#2 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Greetings Matthias,
This was reported for OpenFOAM 2.1 and is valid for any OpenFOAM version, given the issue is related to the new definitions used in openSUSE: http://www.openfoam.org/mantisbt/view.php?id=400 The bug fix is shown here: https://github.com/OpenFOAM/OpenFOAM...36376f1c7ed7f6 - but I'm not sure it can be used directly in OpenFOAM 1.7.1... you might have to locate the same files in "linux64Gcc" instead of "General". Best regards, Bruno
__________________
|
|
July 31, 2012, 11:54 |
|
#3 |
Member
Matthias Hettel
Join Date: Apr 2011
Location: Karlsruhe, Germany
Posts: 31
Rep Power: 15 |
Dear Bruno,
you`re great. Thanks for the very fast and helpful answer. According to the link http://www.openfoam.org/mantisbt/view.php?id=400 I added the following 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 And ... the installation of the ThirdParties works !!! To compare, if the same error occurs with a newer version (despite the fact that I don`t want to use it), I tried to install OpenFOAM-2.1.1. There, it seems to work WITHOUT adding the lines. At least "foamInstallationTest" tells me that everything is all right. But back to Version OpenFOAM-1.7.1. Sorry, but unfortunately there is another error. I traced back the error. Now, "Allwmake" isn`t able to install the applications. If I change to directory applications and use "Allwmake" I get the following errors: + wmake all solvers make[1]: Entering directory `/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/solvers/basic' make[2]: Entering directory `/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/solvers/basic/laplacianFoam' make[2]: »/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linux64GccDPOpt/laplacianFoam« ist bereits aktualisiert. make[2]: Leaving directory `/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/solvers/basic/laplacianFoam' make[2]: Entering directory `/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/solvers/basic/potentialFoam' g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/src/finiteVolume/lnInclude -IlnInclude -I. -I/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/src/OpenFOAM/lnInclude -I/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/src/OSspecific/POSIX/lnInclude -fPIC Make/linux64GccDPOpt/potentialFoam.o -L/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt \ -lfiniteVolume -lOpenFOAM -liberty -ldl -lm -o /home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linux64GccDPOpt/potentialFoam /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: Make/linux64GccDPOpt/potentialFoam.o: undefined reference to symbol 'Foam::OPstream::write(Foam::Pstream::commsTypes, int, char const*, long)' /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: note: 'Foam::OPstream::write(Foam::Pstream::commsTypes, int, char const*, long)' is defined in DSO /home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/openmpi-1.4.1/libPstream.so so try adding it to the linker command line /home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/openmpi-1.4.1/libPstream.so: could not read symbols: Invalid operation collect2: ld returned 1 exit status make[2]: *** [/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linux64GccDPOpt/potentialFoam] Fehler 1 make[2]: Leaving directory `/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/solvers/basic/potentialFoam' make[1]: *** [potentialFoam] Fehler 2 As the script telle, the /home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/openmpi-1.4.1/libPstream.so is not present. But why some solvers can be translated and others not? Again thanks a lot and many greetings Matthias |
|
July 31, 2012, 12:11 |
|
#4 |
Member
Matthias Hettel
Join Date: Apr 2011
Location: Karlsruhe, Germany
Posts: 31
Rep Power: 15 |
Dear Bruno,
sorry, I gave a wrong information: /home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/openmpi-1.4.1/libPstream.so IS present. Greetings Matthias |
|
July 31, 2012, 17:59 |
|
#5 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Hi Matthias,
OpenFOAM 2.1.1 already has this problem solved. But I don't understand now... is there still a problem with OpenFOAM 1.7.1? Best regards, Bruno
__________________
|
|
August 1, 2012, 04:50 |
|
#6 |
Member
Matthias Hettel
Join Date: Apr 2011
Location: Karlsruhe, Germany
Posts: 31
Rep Power: 15 |
Hello Bruno,
Sorry that my question was misleading. Thanks to your help I installed the ThirsParties of Version 1.7.1. successfully. But, now there is an additional error installing OpenFOAM-1.7.1 itself. The compiling fails for some of the solvers (i. e. potentialFoam). I showed the error messages two posts before. It has something to do with "libPstream.so". Maybe I shoud open another thread? Greetings Matthias |
|
August 1, 2012, 06:10 |
|
#7 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Hi Matthias,
I completely forgot about the Gcc version that openSUSE 12.1 uses by default Gcc 4.6 can't be used with OpenFOAM 1.7.1 as-is. Here's a page showing the compatibility list: http://openfoamwiki.net/index.php/In...ibility_Matrix I believe that openSUSE 12.1 has in it's package manager an older version of GCC (don't forget g++) which is compatible with OpenFOAM 1.7.1. To then use that version, see this thread for ideas: OpenFOAM install on RHEL 5.5 Best regards, Bruno
__________________
|
|
August 1, 2012, 06:28 |
|
#8 |
Member
Matthias Hettel
Join Date: Apr 2011
Location: Karlsruhe, Germany
Posts: 31
Rep Power: 15 |
Dear Bruno,
many thanks for your information. I´ll try my best and post the results of my trials here. Greetings Matthias |
|
August 16, 2012, 04:56 |
Install OpenFoam.1.7.1 on an openSUSE12.1 (x86_64) System
|
#9 |
Member
Matthias Hettel
Join Date: Apr 2011
Location: Karlsruhe, Germany
Posts: 31
Rep Power: 15 |
For other readers one sentence about the topic:
===================================== My aim is to install OpenFoam.1.7.1 on an openSUSE12.1 (x86_64) System. The "normal" gcc-4.6 is not compatible with this OF-Version: Here's a page showing the compatibility list: http://openfoamwiki.net/index.php/In...ibility_Matrix ======== Dear Bruno, ======== it took a little bit time, because our admin was in hollydays ... What we did: ========== We installed successfully gcc-4.5 in openSUSE12.1 using the online package manager. To be sure not to have old stuff in the OF-Folders I unpacked again the OF-Version1.7.1. I changed the gcc-Version in ~/OpenFOAM/OpenFOAM-1.7.1/etc/bahsrc. The relevant section now reads: 64) WM_ARCH=linux64 export WM_COMPILER_LIB_ARCH=64 export WM_CC='gcc-4.5' export WM_CXX='g++-4.5' export WM_CFLAGS='-m64 -fPIC' export WM_CXXFLAGS='-m64 -fPIC' export WM_LDFLAGS='-m64' But, there are still the same errors as before. I encircled the problematic section (translation of applications). The first error occurs translating PotentialFoam. To be sure that all is right with the gcc I edited the file ~/OpenFOAM/OpenFOAM-1.7.1/applications and put some lines in it to echo the compiler-Version. So my new Allwmake is: set -x echo $WM_ARCH echo $WM_CC echo $WM_CXX wmake all solvers/basic/potentialFoam #wmake all solvers #wmake all utilities After performing Allwmake I get the output: + echo linux64 linux64 + echo gcc-4.5 gcc-4.5 + echo g++-4.5 g++-4.5 + wmake all solvers/basic/potentialFoam g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-40 -I/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/src/finiteVolume/lnInclude -IlnInclude -I. -I/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/src/OpenFOAM/lnInclude -I/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/src/OSspecific/POSIX/lnInclude -fPIC Make/linux64GccDPOpt/potentialFoam.o -L/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt \ -lfiniteVolume -lOpenFOAM -liberty -ldl -lm -o /home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linux64GccDPOpt/potentialFoam /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: Make/linux64GccDPOpt/potentialFoam.o: undefined reference to symbol 'Foam::OPstream::write(Foam::Pstream::commsTypes, int, char const*, long)' /usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: note: 'Foam::OPstream::write(Foam::Pstream::commsTypes, int, char const*, long)' is defined in DSO /home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/openmpi-1.4.1/libPstream.so so try adding it to the linker command line /home/ow4349/OpenFOAM/OpenFOAM-1.7.1/lib/linux64GccDPOpt/openmpi-1.4.1/libPstream.so: could not read symbols: Invalid operation collect2: ld returned 1 exit status make: *** [/home/ow4349/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linux64GccDPOpt/potentialFoam] Fehler 1 First you see, that the compiler Version is the right one. What makes me a bit surprising is the fact, that inbetween the following path occurs: "/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld Why appears here the number 4.6? Maybe this is the problem? But it seems, that this this is only a relative path? Maybe the gcc-4.5 should also be registered in other files than only in bashrc? I hope someone can give a hint to solve the problem Many Greetings Matthias |
|
August 16, 2012, 18:10 |
|
#10 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Hi Matthias,
If you had said a week ago that you couldn't perform the tests sooner, I could have looked into this last week... Anyway, this weekend I'll look into this. In the mean time, you can check the reference links from my blog page dedicated to manually building OpenFOAM: Unofficial OpenFOAM installation instructions: Install and build OpenFOAM by hand Best regards, Bruno
__________________
|
|
August 19, 2012, 09:27 |
|
#11 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Hi Matthias,
All done! You can find the tutorial here: http://openfoamwiki.net/index.php/In...#openSUSE_12.1 Those instructions require additional system packages to be installed, so I hope there isn't a problem. If you can't, I can have a look at the instructions and add info on how to use OpenFOAM's Open-MPI. Best regards, Bruno
__________________
|
|
September 12, 2012, 11:14 |
Installation of OpenFOAM-1.7.1 in openSUSE12.1
|
#12 |
Member
Matthias Hettel
Join Date: Apr 2011
Location: Karlsruhe, Germany
Posts: 31
Rep Power: 15 |
Dear Bruno,
SUCCESS! The code works properly! First of all many thanks for your work. I`m very pleased about your help. To come forth, I used your tutorial: http://openfoamwiki.net/index.php/In...#openSUSE_12.1 I left step 1, because we installed gcc4.5 some days ago using the update manager of Suse. Therefore, I first performed step 2. I also left step 3 because the code was downloaded before. Next, I performed the commands concerning the rules files in step 4 for option X86_64. The export of the right shell variables WM_CC and WM_CXX in step 3 was done and proven before by editing the file ~/OpenFOAM/OpenFOAM-1.7.1/etc/bashrc (see my attempts above). Afterwards OpenFOAM was builded (steps 5 and 6). I tested the code with icofoam and my own application and it works properly. I left step 8, because I don`t use Paraview so far. At this point, I was not sure about the background of the primary problem. Therefore, I replied the whole process just described again step by step. I found out, that the solution of my problem was NOT the execution of step 2. It was the execution of the update and fixing of the rules files in step 3 (unfortunately, I don`t understand what the background of these steps is). Thanks again for your help. I hope the thread and your tutorial helps other foamers as well to install OpenFOAM-1.7.1 in openSUSE12.1. Many greetings Matthias |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Help!! Need: Walkthrough OpenFOAM-1.6-ext on OpenSUSE 12.1 64bit | iznal | OpenFOAM Installation | 20 | August 13, 2012 06:56 |
OpenFOAM 1.7.1 installation problem on OpenSUSE 11.3 | flakid | OpenFOAM Installation | 16 | December 28, 2010 09:48 |
Openfoam installation on OpenSuse 11.1 | Bufacchi | OpenFOAM Installation | 1 | June 15, 2010 20:55 |
OpenFOAM Live USB based on openSUSE 11.1 created with SUSE Studio | alberto | OpenFOAM | 40 | May 23, 2010 17:15 |
How to install the OpenFoam in the cluster. Please help me! | flying | OpenFOAM Installation | 6 | November 27, 2009 04:00 |