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/ArchLinux/ArchLinux_Raspberry_Pi.txt

147 lines
4.8 KiB
Text
Raw Permalink Normal View History

Below are the build instructions for Arch Linux over the Raspberry Pi
These instructions assume that your Arch Linux installation is up and running on
the Raspberry Pi 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://wiki.archlinux.org/index.php/Raspberry_Pi
* Update your Arch Linux installation:
sudo pacman -Syu
* Install required packages:
pacman -S git gcc cmake bison flex make openmpi --needed base-devel
* 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 Arch Linux, 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-23 22:54:50.341631348 -0500
+++ etc/prefs.sh 2015-12-05 13:31:02.967676779 -0500
@@ -36,7 +36,7 @@
# Specify system compiler
# ~~~~~~~~~~~~~~~~~~~~~~~
-#compilerInstall=System
+compilerInstall=System
#compilerInstall=FOAM
# Specify system openmpi
@@ -46,14 +46,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 +201,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 +208,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.