This page is dedicated to explaining how to install OpenFOAM in openSUSE.
2 Copy-Paste steps
A few notes before you start copy-pasting:
- Lines that start with # don't have to be copy-pasted. They are just comments to let you know what's going on.
- One wrong character is enough for breaking this guide, so make sure you can read the characters properly or that the installed language system does not break the copied characters!
2.1 openSUSE 12.1
NOTE: These instructions are still being re-written from a pseudo-template page!
Discussion thread where you can ask questions about these steps: Install OpenFOAM-1.7.1 on openSUSE 12.1
- Switch to root mode (administrator) and install the necessary packages (run one line at a time):
su - zypper install -t pattern devel_C_C++ #Add the devel:gcc repository, to gain access to GCC 4.5 zypper ar http://download.opensuse.org/repositories/devel:/gcc/openSUSE_12.1/devel:gcc.repo zypper install gcc45 gcc45-c++ cmake libqt4-devel qt4-x11-tools qt4-assistant-adp-devel gnuplot openmpi-devel exit
- Now, since we're trying to minimize the number of packages to be built, the Open-MPI package that is available with openSUSE is going to be chosen. The downside is that this requires that you logout and log back in, for the system to update the environment settings.
Nonetheless, we can postpone logging out by running:
- Download and unpack (here you can copy-paste all in single go):
#OpenFOAM downloading and installation cd ~ mkdir OpenFOAM cd OpenFOAM wget "http://downloads.sourceforge.net/foam/OpenFOAM-1.7.1.gtgz?use_mirror=mesh" -O OpenFOAM-1.7.1.tgz wget "http://downloads.sourceforge.net/foam/ThirdParty-1.7.1.gtgz?use_mirror=mesh" -O ThirdParty-1.7.1.tgz tar xzf OpenFOAM-1.7.1.tgz tar xzf ThirdParty-1.7.1.tgz #fix 'settings.sh' file wget "https://raw.github.com/OpenCFD/OpenFOAM-1.7.x/master/etc/settings.sh" -O OpenFOAM-1.7.1/etc/settings.sh
- For building OpenFOAM itself, it depends on whether you have installed the i386 or x86_64 architecture of openSUSE. To check this, run:
- For i386:
#update rules' files wget "https://raw.github.com/OpenFOAM/OpenFOAM-2.1.x/master/wmake/rules/linuxGcc45/c" -O wmake/rules/linuxGcc/c wget "https://raw.github.com/OpenFOAM/OpenFOAM-2.1.x/master/wmake/rules/linuxGcc45/c++" -O wmake/rules/linuxGcc/c++ #fix the rules' files sed -i -e 's/gcc/\$(WM_CC)/' wmake/rules/linuxGcc/c sed -i -e 's/g++/\$(WM_CXX)/' wmake/rules/linuxGcc/c++ #here you can change 4 to the number of cores you've got source $HOME/OpenFOAM/OpenFOAM-1.7.1/etc/bashrc WM_NCOMPPROCS=4 WM_MPLIB=SYSTEMOPENMPI WM_ARCH_OPTION=32 export WM_CC='gcc-4.5' export WM_CXX='g++-4.5' echo "source $HOME/OpenFOAM/OpenFOAM-1.7.1/etc/bashrc $FOAM_SETTINGS ; export WM_CC='gcc-4.5'; export WM_CXX='g++-4.5'" >> $HOME/.bashrc
- For x86_64:
#update rules' files wget "https://raw.github.com/OpenFOAM/OpenFOAM-2.1.x/master/wmake/rules/linux64Gcc45/c" -O wmake/rules/linux64Gcc/c wget "https://raw.github.com/OpenFOAM/OpenFOAM-2.1.x/master/wmake/rules/linux64Gcc45/c++" -O wmake/rules/linux64Gcc/c++ #fix the rules' files sed -i -e 's/gcc/\$(WM_CC)/' wmake/rules/linux64Gcc/c sed -i -e 's/g++/\$(WM_CXX)/' wmake/rules/linux64Gcc/c++ #here you can change 4 to the number of cores you've got source $HOME/OpenFOAM/OpenFOAM-1.7.1/etc/bashrc WM_NCOMPPROCS=4 WM_MPLIB=SYSTEMOPENMPI export WM_CC='gcc-4.5' export WM_CXX='g++-4.5' echo "source $HOME/OpenFOAM/OpenFOAM-1.7.1/etc/bashrc $FOAM_SETTINGS ; export WM_CC='gcc-4.5'; export WM_CXX='g++-4.5'" >> $HOME/.bashrc
- For i386:
- Now let's build OpenFOAM:
(Warning: this may take somewhere from 30 minutes to 6 hours, depending on your machine.)
#Go into OpenFOAM's main source folder cd OpenFOAM-1.7.1 # This next command will take a while... somewhere between 30 minutes to 3-6 hours. ./Allwmake > make.log 2>&1 #Run it a second time for getting a summary of the installation ./Allwmake > make.log 2>&1
- To check if everything went well:
#Check if icoFoam is working icoFoam -help #Edit the file "make.log" and check if there are any error messages #Example: kwrite make.log #Create a tarball in case you've seen any errors (it's the first error that matters) #or if you don't understand the output #and attach the file "make.log.tar.gz" to a post in the designated thread tar -czf make.log.tar.gz make.log
- Now, in order to build ParaView 3.8.0 that comes with OpenFOAM:
cd $WM_THIRD_PARTY_DIR #Fix one of the files sed -i -e 's=ptrdiff_t=std::ptrdiff_t=' paraview-3.8.0/VTK/Utilities/vtkmetaio/metaUtils.cxx #build ParaView 3.8.0 ./makeParaView cd $FOAM_UTILITIES/postProcessing/graphics/PV3FoamReader ./Allwclean ./Allwmake
- Now you can go read the User Guide, which is located at $HOME/OpenFOAM/OpenFOAM-1.7.1/doc/Guides-a4/UserGuide.pdf.
Designated discussion thread where you can ask questions about these steps: Install OpenFOAM-1.7.1 on openSUSE 12.1