Building OpenFOAM V1912 on armh8/arm64
Dear FOAMERS,
I am attemping to build up openfoam v1912 and I ran into a hitch. I was following this website: https://gitlab.com/arm-hpc/packages/...rsion-1912-arm I wget both the openfoam and thirparty archives and then extracted it into my /opt/OpenFOAM directory. I then edited bashrc to point to this directory. When I source the bashrc I get this error: Code:
root@localhost:/opt/OpenFoam/OpenFOAM-v1912# source etc/bashrc Code:
#------------------------------------------------------------------------------ Code:
root@localhost:/opt/OpenFoam/OpenFOAM-v1912# foamSystemCheck Code:
root@localhost:/opt/OpenFoam/OpenFOAM-v1912# ./Allwmake -j -s -l Thanks! Bonus: I assume these same configuration should be used for OpenFoam V7 and foam-extend? |
Could you please report the error in one of the issue trackers? The links below may help.
|
Reported the error to gitlab linked in your sig
Quote:
I reported the error. Is this a bug you think? |
some answer thereat: https://develop.openfoam.com/Develop...am/issues/1695
|
Quote:
Please note that the information given on the ARM site is for using the armclang compiler. This is a clang-based compiler with ARM-specific optimizations, but is not the same as running a regular clang on an ARM system. If the command "armclang" is accessible on your system, you can use it, otherwise stick to gcc or clang which you quite likely do have on your system. I cannot say if the armclang performance is significantly different to what regular gcc or clang provide. |
I see
Quote:
I untar into /opt/OpenFOAM. Edited bashrc to point to that directory. Sourced etc/bashrc And then ran. /Allwmake -j It was running until this error: Code:
In file included from /opt/OpenFoam/OpenFOAM-v1912/src/OpenFOAM/lnInclude/VectorSpace.H:270, from /opt/OpenFoam/OpenFOAM-v1912/src/OpenFOAM/lnInclude/Field.H:50, from /opt/OpenFoam/OpenFOAM-v1912/src/OpenFOAM/lnInclude/scalarField.H:41, from /opt/OpenFoam/OpenFOAM-v1912/src/OpenFOAM/lnInclude/dimensionSet.H:48, from /opt/OpenFoam/OpenFOAM-v1912/src/OpenFOAM/lnInclude/dimensionedType.H:43, from lnInclude/ddtScheme.H:45, from finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtScheme.H:50, from finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtSchemes.C:28: /opt/OpenFoam/OpenFOAM-v1912/src/OpenFOAM/lnInclude/VectorSpaceI.H:346:13: note: because ‘Foam::SymmTensor<double>’ has user-provided ‘void Foam::VectorSpace<Form, Cmpt, Ncmpts>::operator=(const Foam::VectorSpace<Form, Cmpt, Ncmpts>&) [with Form = Foam::SymmTensor<double>; Cmpt = double; unsigned char Ncmpts = 6]’ 346 | inline void Foam::VectorSpace<Form, Cmpt, Ncmpts>::operator= | ^~~~ g++: fatal error: Killed signal terminated program cc1plus compilation terminated. make: *** [/opt/OpenFoam/OpenFOAM-v1912/wmake/rules/General/transform:35: /opt/OpenFoam/OpenFOAM-v1912/build/linuxARM64GccDPInt32Opt/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtSchemes.o] Error 1 make: *** Waiting for unfinished jobs.... root@localhost:/opt/OpenFoam/OpenFOAM-v1912# I did notice this during build in the beginning: Code:
======================================== |
Fixed the Issue!
Great news, I was able to compile and install OpenFOAM-v1912 arm64 directly inside my Ubuntu 19.10 install inside a Proot Container running on an Android Phone.
So what I did differently this time was: -First made sure give termux (my terminal to launch the container) wakelock such that android doesn't kill the session -Downloading the latest tar file named OpenFOAM-v1912200314.tar.gz (kept the original Thirdparty-v1912.tar.gz as it was unchanged) -Untar into my new directory located in /opt/OpenFOAM - [Optional: I hear its not needed as this is automated] I did go into the etc/bashrc and un-commented the build directory pointing to openfoam in opt and commented the build directory pointing to openfoam in $Home - sourced etc/bashrc in terminal (my terminal was already in the OpenFOAM-v1912 directory) - Did foamSystemCheck command and noticed that for me that openfoam cannot figure out which shell I am using (I am using bash), and this is due to permissions with proot containers (it shouldn't be an issue) - ran ./Allwmake -j4 -l (I chose 4 because anything higher would cause resource issues with my soc) - It build correctly and I was able to run foamInstallationTest and even commands such as blockMesh/simpleFoam/etc. -Finally i edited in my bashrc in my home directory with this line: Code:
alias of1912='source /opt/OpenFOAM/OpenFOAM-v1912/etc/bashrc'; I created a run directory and then copied over a few tutorials to test. elbow, pitzDaily, airFOIL2D, simpleCar, rotarDisk all ran using both manual commands and there Allrun scripts. ParaFoam worked out of the box with my Paraview 5.8.0 (installed from Ubuntu Repo using apt-get) I was able to visualize this all on a phone: https://imgur.com/Ph62I0z The only issue I have is that motorBike didn't run correctly with Allrun, it ran to quickly and when I tried to open results, paraview didn't have the data for p,U,nu,etc. I even ran it manually using blockMesh > snappyHexMesh (it took around 800 seconds to run) > SimpleFoam, and it still couldnt find the proper results in paraview. I chalk this down to openmpi support for my device. However largely everything else works :D |
All times are GMT -4. The time now is 06:21. |