This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/doc/buildInstructions/Debian/Raspbian/Raspbian_Jessie.txt

152 lines
5 KiB
Text
Raw Normal View History

Below are the build instructions for Raspbian Jessie (November 2015)
These instructions assume that your Raspbian installation is up and running with
full network access. If not, please visit the following Web sites for further
instructions. As always, Google will also be your friend.
https://www.raspberrypi.org/documentation/
https://www.raspberrypi.org/downloads/raspbian/
* Update your Raspbian installation:
sudo apt-get update
sudo apt-get upgrade
* Install required packages:
sudo apt-get install git gcc cmake bison flex make build-essential \
bison zlib1g-dev qt4-dev-tools libqt4-dev libopenmpi-dev openmpi-bin \
rpm libncurses-dev libxt-dev libboost-system-dev libboost-thread-dev \
libgmp-dev libmpfr-dev
* Create the foam-extend installation directory:
These instructions assume that you install in the default location, which is
~/foam/ . Create this folder with:
mkdir ~/foam
* Obtain and unpack source code (if you read this, you probably already have):
The recommended way is to get the source code through git source code
management system. This way, you can get updates and bugfixes easily by running
"git pull". To install into the default location run:
cd ~/foam
git clone git://git.code.sf.net/p/foam-extend/foam-extend-3.2
* For Raspbian, you need to customize your file etc/prefs.sh in order to enable
the usage of system-provided packages, and to enable the compilation of other.
Here is a list of commands that will do just that. You can copy/paste
the following block of commands in a control terminal in order to make
the necessary adjustments. You will need to be located at the root of your
foam-extend-3.2 installation for those commands to work.
### - Start to copy commands here ###########################################
#
cd ~/foam/foam-extend-3.2
# Create a prefs.sh file
cp etc/prefs.sh-EXAMPLE etc/prefs.sh
# Create a patch file
cat <<'EOF' >> patch.txt
--- etc/prefs.sh-EXAMPLE 2015-11-26 05:01:05.676022832 +0000
+++ etc/prefs.sh 2015-12-05 17:27:58.100579669 +0000
@@ -36,8 +36,9 @@
# Specify system compiler
# ~~~~~~~~~~~~~~~~~~~~~~~
-#compilerInstall=System
+compilerInstall=System
#compilerInstall=FOAM
+#WM_COMPILER=Gcc49
# Specify system openmpi
# ~~~~~~~~~~~~~~~~~~~~~~
@@ -46,14 +47,14 @@
# The other openmpi related variables will be initialized using
# the command mpicc --showme:
#
-#export WM_MPLIB=SYSTEMOPENMPI
-#export OPENMPI_DIR=path_to_system_installed_openmpi
-#export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin
-#
-#export OPENMPI_LIB_DIR="`$OPENMPI_BIN_DIR/mpicc --showme:libdirs`"
-#export OPENMPI_INCLUDE_DIR="`$OPENMPI_BIN_DIR/mpicc --showme:incdirs`"
-#export OPENMPI_COMPILE_FLAGS="`$OPENMPI_BIN_DIR/mpicc --showme:compile`"
-#export OPENMPI_LINK_FLAGS="`$OPENMPI_BIN_DIR/mpicc --showme:link`"
+export WM_MPLIB=SYSTEMOPENMPI
+export OPENMPI_DIR=/usr
+export OPENMPI_BIN_DIR=$OPENMPI_DIR/bin
+#
+export OPENMPI_LIB_DIR="`$OPENMPI_BIN_DIR/mpicc --showme:libdirs`"
+export OPENMPI_INCLUDE_DIR="`$OPENMPI_BIN_DIR/mpicc --showme:incdirs`"
+export OPENMPI_COMPILE_FLAGS="`$OPENMPI_BIN_DIR/mpicc --showme:compile`"
+export OPENMPI_LINK_FLAGS="`$OPENMPI_BIN_DIR/mpicc --showme:link`"
# Specify system installed ThirdParty packages/libraries
# NB: The packages installed under $WM_THIRD_PARTY_DIR
@@ -201,7 +202,6 @@
# For AllMake.stage1
#export WM_THIRD_PARTY_USE_GCC_492=1
#export WM_THIRD_PARTY_USE_GCC_484=1
-#export WM_THIRD_PARTY_USE_GCC_474=1
#export WM_THIRD_PARTY_USE_GCC_463=1
#export WM_THIRD_PARTY_USE_GCC_451=1
#export WM_THIRD_PARTY_USE_GCC_445=1
@@ -209,7 +209,8 @@
#export WM_THIRD_PARTY_USE_M4_1416=1
#export WM_THIRD_PARTY_USE_BISON_27=1
#export WM_THIRD_PARTY_USE_FLEX_2535=1
-export WM_THIRD_PARTY_USE_CMAKE_322=1
+#export WM_THIRD_PARTY_USE_CMAKE_322=1
+unset WM_THIRD_PARTY_USE_CMAKE_322
#
# For AllMake.stage2
EOF
# Patch the file prefs.sh
patch -p0 < patch.txt
# Cleanup
rm patch.txt
# You are done
#
### - Stop to copy commands here ###########################################
############################################################################
* Set environment variables:
cd ~/foam/foam-extend-3.2
. etc/bashrc
* Before compiling on the Raspberry Pi 2:
Even though the Raspberry Pi2 has a more onboard RAM memory (1 GB), it cannot
compile some parts of foam-extend in parallel without borrowing some virtual
memory (swap). Depending on your system configuration and the amount of enabled
services on your Raspberry Pi, you might even ran out of memory completely. So
it is recommended not to compile foam-extend in parallel unless you keep an eye
regularly on the compilation process and adjust your environment variable
WM_NCOMPPROCS accordingly so you can compile some libraries/applications in
parallel and some others using just 1 core.
export WM_NCOMPPROCS=1 # or maybe 2
* Compile:
# This will take a very long time but it will compile completely
./Allwmake.firstInstall
* Create user directory:
mkdir -p $FOAM_RUN
And you are ready to start.