View Issue Details

IDProjectCategoryView StatusLast Update
0003566OpenFOAMBugpublic2020-10-20 14:34
ReporteraleixandreAssigned Tohenry 
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformGNU/LinuxOSOtherOS Version(please specify)
Product Version8 
Fixed in Version8 
Summary0003566: Unable to run Docker image openfoam8-linux in Raspberry pi 4 with Ubuntu 20.04.1 LTS
Descriptionhello,

I run openfoam8-linux, everything is downloaded but after the promt sais
"standard_init_linux.go:211: exec user process caused "exec format error"

Steps To ReproduceI have installed the .img "ubuntu-mate-20.04.1-beta2-desktop-arm64+raspi" on a Raspberry 4 b 8GB

i have followed all the instructions at https://openfoam.org/download/8-linux/

I am able to run Docker hello world

I tried many time to remove the image and reload it with no success

Any help?
Thanks a lot
TagsNo tags attached.

Activities

wyldckat

2020-10-08 09:42

updater   ~0011572

So two things:
1. If you have Ubuntu installed, you should have been able to simply install from Deb... but that won't work, because Raspberry Pi uses an ARM CPU, not an x86_64.

2. Installing via Docker would only work if you had installed the virtual machine based Docker.

I believe that the best option to get it up and running would be to build from source code: https://openfoam.org/download/source/ - given that you have Ubuntu, it should be straight forward... even though it might take the RaspberryPi some 24h or so to do the build...

aleixandre

2020-10-08 10:41

reporter   ~0011573

Many thanks for the answer ¡
Since I wrote the message I found that I could run "sudo apt-get install openfoam" and "sudo apt-get install paraview" directly from the prompt, so I was happy (I am pretty new in linux ...)
After install both of them paraview is working perfectly but openfoam seems to NOT to be ok at all
I sow the files and only /usr/share/openfoam/etc was created with files but nothing else, and I didnt know what to do else
I followed the instruction on https://openfoam.org/download/source/ but many problems during the compilation of ThirdPartySW/Paraview (./Allwmake was ok but ./makeParaview stopet always at 87% Built target vtkPVServerManagerRenderingCS Error 2 non-zero status 2) so I quit that idea as paraview was working well
Then I found, downloaded and extracted openfoam 1906.191111 +....tar it in the created folder /home/user/OpenFOAM/OpenFOAM-v1906
I added "source /home/user/OpenFOAM/OpenFOAM-v1906/etc/bashrc" to ./bashrc file and execute also from the term to update the variables
Finally I executed ./Allwmake (in /home/user/OpenFOAM/OpenFOAM-v1906/) and still running (I have also to install via apt-get flex bison and zlib1g-dev)
Now it seems that it is compiling but I don't know why it is only using 25-30% of the CPU (I see with top) because when I followed https://openfoam.org/download/source/ it was running at 97% (I have Raspberry pi 4 b 8GBs) so still running since yesterday
Now my only hope it is to have it working once finished and paraview would be properly "linked" to openfoam ....
I will let you know once finish, but if I missed something please let me know
Once again thanks for your support

by the way, I tried Docker option was seems to me much complicated....

aleixandre

2020-10-08 22:01

reporter   ~0011574

After 24hours compiling it seems taht OpenFoam is Ok, :-))))
I ran the first example, blockMesh was ok, but when I ran OpenFoam I have this:
 
user@ub:~/OpenFOAM/user-v1906/run/pitzDaily$ paraFoam
Cannot use ParaView reader module library (PVFoamReader)
The PV_PLUGIN_PATH environment value is not set

Continuing with builtin reader: paraFoam -vtk

Created temporary 'pitzDaily.foam'
/home/aleix/OpenFOAM/OpenFOAM-v1906/bin/paraFoam: 328: paraview: not found

if I launch "paraview" alone in the term it works perfectly

What can I do??
Thanks ¡¡

aleixandre

2020-10-08 22:20

reporter   ~0011575

For unknown reason it seems that paraview disappeared from the systems, however I just run "sudo apt install open paraview" again and now everything seems to be working well.

Thanks a lot ¡¡¡

henry

2020-10-09 08:39

manager   ~0011576

OpenFOAM-v1906 is a fork of OpenFOAM produced by ESI and not a release by the OpenFOAM Foundation:

The OpenFOAM Foundation is the organisaton which holds the copyright of the OpenFOAM software and documentation, whose purpose is to manage and distribute OpenFOAM as free, open source software for the benefit of its users. It is a registered company, limited by guarantee based in England. As such, it has no share capital or shareholders, but has individual members committed to free, open source software, who run the organisation on a voluntary basis. It has no employees and any annual profit is retained within the organisation and cannot be distributed to members. OpenFOAM® is a registered trademark of OpenCFD Ltd, licensed to the OpenFOAM Foundation in 2011 so that it could distribute its software under under that name.

To obtain version 8, the latest release from the OpenFOAM Foundation download from

https://openfoam.org/version/8/

aleixandre

2020-10-09 09:30

reporter   ~0011577

Thanks Henry,
Afer seeing you message I have reseted the Rasp4 and now I have followed your instruction and openfoam8 copiling is in progress
I think the main issue was with Paraview not with openfoam and paraview can be directly installed by apt-get so I think it will be ok
Once finish I will let you know
Again thanks for your work and support

chris

2020-10-09 10:14

manager   ~0011578

OpenFOAM-v1906 was released by ESI Group with false copyright statements.
Distribution of OpenFOAM-v1906 violates the GPL v3.

aleixandre

2020-10-09 10:21

reporter   ~0011579

Sorry Chris,
I didnt know that, as I said v1906 is removed and now openfoam8 is being compiled
I will let you know once it finish
Thanks ¡

aleixandre

2020-10-09 13:28

reporter   ~0011580

I realized that I am compiling Openfoam-8 in my user dir /home/aleix/OpenFOAM/OpenFOAM-8/
but I was going to create another user which should also being able to run openfoam
What do I have to do once the compilation is finished? should I copy the OpenFOAM-8 dir to the new user dir and edit new user ./bashrc?
Thanks ¡¡

aleixandre

2020-10-10 11:09

reporter   ~0011581

Hi again,
Really frustating :-(

I can't finish compilation...
I have the following error
"
g++ -std=c++11 -DlinuxArm64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -mcpu=native -DNoRepository -ftemplate-depth-100 -I/home/aleix/OpenFOAM/OpenFOAM-8/src/thermophysicalModels/reactionThermo/lnInclude -I/home/aleix/OpenFOAM/OpenFOAM-8/src/thermophysicalModels/basic/lnInclude -I/home/aleix/OpenFOAM/OpenFOAM-8/src/thermophysicalModels/specie/lnInclude -I/home/aleix/OpenFOAM/OpenFOAM-8/src/thermophysicalModels/functions/Polynomial -I/home/aleix/OpenFOAM/OpenFOAM-8/src/ODE/lnInclude -I/home/aleix/OpenFOAM/OpenFOAM-8/src/finiteVolume/lnInclude -I/home/aleix/OpenFOAM/OpenFOAM-8/src/meshTools/lnInclude -IlnInclude -I. -I/home/aleix/OpenFOAM/OpenFOAM-8/src/OpenFOAM/lnInclude -I/home/aleix/OpenFOAM/OpenFOAM-8/src/OSspecific/POSIX/lnInclude -fPIC -c chemistrySolver/chemistrySolver/chemistrySolvers.C -o /home/aleix/OpenFOAM/OpenFOAM-8/platforms/linuxArm64GccDPInt32Opt/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/chemistrySolvers.o
g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make: *** [/home/aleix/OpenFOAM/OpenFOAM-8/wmake/rules/General/transform:26: /home/aleix/OpenFOAM/OpenFOAM-8/platforms/linuxArm64GccDPInt32Opt/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/chemistrySolvers.o] Error 1
aleix@ub-pi4:~/OpenFOAM/OpenFOAM-8$
"

I have tried with ./Allwmake ./AllWmake -j ./Allwmake -j 2 ... and always the same proble at the same point. I have 8GBs Memory so that should not be a problem I guess, but now I dont know what to do ....
any help more than wellcomed
Thanksl

henry

2020-10-10 14:55

manager   ~0011582

You will need to increase the virtual memory limit to 13Gb to compile the latest chemistry models.

aleixandre

2020-10-11 09:22

reporter   ~0011583

thanks Henry,
I did the following:

sudo fallocate -l 6G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfil
sudo swapon /swapfile
sudo swapon --show
sudo free -h
./Allwmake -j

The compilation stoped two o three times, but I ran again ./Allwmake and it seems OpenFoam is now compiled. As there is no final message I dont know how to check it but I ran the pitDaily example and when I wrote paraFoam it tells me that there is no ParaView linked or installed and it tells me to run paraFoam -builtin ...
I ran "sudo apt-get install paraview" and I can run ParaView 5.7 standalone but I dont know how to link it with OpenFoam so I decided to compile ThirdParty elements in order to solve it.

The result is the following error:

./makeParaView

[ 87%] Linking CXX static library ../../lib/libvtkPVServerManagerRenderingCS-pv5.6.a
[ 87%] Built target vtkPVServerManagerRenderingCS
make: *** [Makefile:152: all] Error 2
Command exited with non-zero status 2
31839.81user 6229.39system 2:43:59elapsed 386%CPU (0avgtext+0avgdata 1743840maxresident)k
23224inputs+2848968outputs (43major+184083739minor)pagefaults 0swaps
aleix@ub-pi4:~/OpenFOAM/ThirdParty-8$

Do you have any idea what can I do?

Thanks,

wyldckat

2020-10-14 13:12

updater   ~0011593

@aleixandre: A complete output log would be necessary to diagnose this build issue... if you run the build command like this:

    ./makeParaView -no-config > log.makePV 2>&1

You will get the file "log.makePV" that has the full output.

The "-no-config" option is to not have to start over from scratch and instead to continue closer to where it stopped.

aleixandre

2020-10-14 14:09

reporter   ~0011596

Hi wyldckat,
I followed your instructions, please see the log.makePV
Thanks additional feedback

log.makePV (32,254 bytes)

wyldckat

2020-10-14 15:20

updater   ~0011597

Looks like it's an issue with the internal PNG library that VTK is using by default... try with the following build command, which will consequently give you this log file "log.makePVb":

    ./makeParaView VTK_USE_SYSTEM_PNG:BOOL=ON > log.makePVb 2>&1

I found this by looking for the error message from in line 447 of your file, namely:

    libvtkpng-pv5.6.so.1: undefined reference to `png_init_filter_functions_neon'

The answer I found was this: https://gitlab.kitware.com/vtk/vtk/-/issues/17385

aleixandre

2020-10-14 18:16

reporter   ~0011603

Thanks Wyldckat,
Here the log file
Thanks for your support

log.makePVb (19,208 bytes)

wyldckat

2020-10-14 18:24

updater   ~0011604

If I'm not mistaken, you need to install "libpng-dev":

    sudo apt install libpng-dev

Then run again the previous command for building... hopefully it will find automatically "libpng" to be installed this time around...

aleixandre

2020-10-15 14:34

reporter   ~0011607

Hello wyldckat,
It seems that now everything is been compiled properly :-)
Thansk a lot

Now I have the following message when I run paraFoam:
---
FATAL ERROR: The official reader module for OpenFOAM data does not exist on
your system. This means that the version of ParaView you are using was not
compiled with OpenFOAM, or distributed with a packaged version of OpenFOAM.

For information on packaged versions of OpenFOAM/ParaView and compilation of
OpenFOAM/ParaView, see https://openfoam.org/download

Alternatively, you might be able to view your OpenFOAM data with the reader
module provided with ParaView by running:
    paraFoam -builtin
----
If I execute paraview directly the version is 5.6.3 so it is ok, but how can I link to only execute paraFoam?

I cannot upload the log as it is higher Kbs than allowed ...

Thansk a lot for your indications

wyldckat

2020-10-15 14:45

updater   ~0011608

The simplest is to run these commands:

    foam
    ./Allwmake

And wait a bit. By the end it should have not given any error messages and the necessary reader module is built.

aleixandre

2020-10-15 15:05

reporter   ~0011609

Thanks wyldckat,
I just did it, but no luck...
See below
Thanks ¡
---
aleix@ub-pi4:~/OpenFOAM/ThirdParty-8$ ./Allwmake

========================================
Start ThirdParty Allwmake
========================================

========================================
Build MPI libraries if required

========================================
Build Scotch decomposition library scotch_6.0.9
    /home/aleix/OpenFOAM/ThirdParty-8/platforms/linuxArm64GccDPInt32/scotch_6.0.9
    scotch header in /home/aleix/OpenFOAM/ThirdParty-8/platforms/linuxArm64GccDPInt32/scotch_6.0.9/include
    scotch libs in /home/aleix/OpenFOAM/ThirdParty-8/platforms/linuxArm64GccDPInt32/lib

========================================
Build PTScotch decomposition library scotch_6.0.9 (uses MPI)
    /home/aleix/OpenFOAM/ThirdParty-8/platforms/linuxArm64GccDPInt32/scotch_6.0.9

    ptscotch header in /home/aleix/OpenFOAM/ThirdParty-8/platforms/linuxArm64GccDPInt32/scotch_6.0.9/include/openmpi-system
    ptscotch libs in /home/aleix/OpenFOAM/ThirdParty-8/platforms/linuxArm64GccDPInt32/lib/openmpi-system

========================================
Build Metis decomposition
    optional component Metis was not found

========================================
Done ThirdParty Allwmake
========================================

aleix@ub-pi4:~/OpenFOAM/ThirdParty-8$ cd ..
aleix@ub-pi4:~/OpenFOAM$ cd ..
aleix@ub-pi4:~$ cd OpenFOAM/aleix-8/run/pitzDaily/
aleix@ub-pi4:~/OpenFOAM/aleix-8/run/pitzDaily$ paraFoam
FATAL ERROR: The official reader module for OpenFOAM data does not exist on
your system. This means that the version of ParaView you are using was not
compiled with OpenFOAM, or distributed with a packaged version of OpenFOAM.

For information on packaged versions of OpenFOAM/ParaView and compilation of
OpenFOAM/ParaView, see https://openfoam.org/download

Alternatively, you might be able to view your OpenFOAM data with the reader
module provided with ParaView by running:
    paraFoam -builtin

aleix@ub-pi4:~/OpenFOAM/aleix-8/run/pitzDaily$

wyldckat

2020-10-15 15:09

updater   ~0011610

???? But... didn't the "foam" command work?

Then explicitly run:

    cd ~/OpenFOAM/OpenFOAM-8
    ./Allwmake

aleixandre

2020-10-15 15:52

reporter   ~0011611

My fault ¡
i ran ./Allwmake in /ThirdParty dir, now I run it in /OpenFOAM/OpenFOAM-8 and once the process finish everything is working perfectly ¡¡
Thanks for your great support ¡¡

One last question (I hope), if I create another user, will this new user to run the program? or do I have to do something in addition?

I think I should have installed the program in /Opt or /usr/local but now I dont know ....

Thanks again

wyldckat

2020-10-15 18:14

updater   ~0011612

You're free to test things for yourself, there is no additional licensing cost here ;)

In principle, you can either copy or move the "~/OpenFOAM/*" subfolders to another location. All that needs to then be done is to correct the ownership and file permissions at the new location.
Furthermore, if users need to recompile something, it might not work all that well... and I'm not sure how it affects the built ParaView...

wyldckat

2020-10-15 18:36

updater   ~0011613

So conclusions from this long thread of issues:

1- The additional argument "VTK_USE_SYSTEM_PNG:BOOL=ON" is likely to be needed to build ParaView on ARM based processors, because VTK relies on its own PNG copy of libpng which might not support properly ARM. The people at VTK development line are apparently aware of this, given its occurrence in the their issue tracker, so this seems to be a workaround needed on those systems.

    An alternative to auto-add in "etc/tools/ParaViewFunctions" when this option is needed, is by detecting if "ParaView-*/VTK/ThirdParty/png/vtkpng/arm" doesn't exist yet and the CPU is an ARM processor...

2- 13GB of RAM + memory swap space is needed for the current chemistry stack in OpenFOAM, as Henry mentioned.


@Chris: It would be nice to have the RAM/swap memory minimum requirement mentioned somewhere at one or more pages in https://openfoam.org/download/source/

aleixandre

2020-10-15 19:08

reporter   ~0011614

One more time, thanks a lot for your great support, I hope this also may help others using ARM processors to install and use this program.

 :-)

Thanks, Aleixandre

chris

2020-10-18 15:01

manager   ~0011629

@wyldckat
Could you suggest some text for the 13 GB memory requirement?
It is not clear to me whether it relates to RAM, swap, the sum of (RAM + swap).
I have not followed that issue so just don't know.

wyldckat

2020-10-19 11:41

updater   ~0011630

@Chris OK, here's what I can come up with within a couple of minutes:

   The latest developments in the chemistry libraries rely on fairly complex C++ templating, which demands a substantial amount of memory during compilation. It's advisable to have around 24GB of RAM+swap memory space, in order to be able to fully compile OpenFOAM. There are several ways to increase swap memory space, where the suggested search keywords are as follows: linux create swap space file

chris

2020-10-19 14:16

manager   ~0011631

@wyldckat
I thought it was 13 GB?

wyldckat

2020-10-19 14:44

updater   ~0011632

@Chris Sorry, hold on...

@aleixandre Did your machine already have a swap size of 8GB on the system, so that you still needed to add 6GB extra, or did the machine not have swap?

aleixandre

2020-10-19 16:50

reporter   ~0011633

hi,
the machine I used (Raspberry Pi 4B) came with 8GBs so I did manage to swap and extra 6GB (total 14GBs)
I did:
sudo fallocate -l 6G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfil
sudo swapon /swapfile
sudo swapon --show
sudo free -h

hope this helps
Let me know if need something else

wyldckat

2020-10-19 19:38

updater   ~0011634

@aleixandre: Many thanks!

@Chris: So it is at least 13GB RAM+swap... but adding a few more GB to reach the next multiple of 4, in order to give a bit of extra space for future updates of the chemistry code... here is the revised text:

    The latest developments in the chemistry libraries rely on fairly complex C++ templating, which demands a substantial amount of memory during compilation. It's advisable to have around 16GB of RAM+swap memory space, in order to be able to fully compile OpenFOAM. There are several ways to increase swap memory space, where the suggested search keywords are as follows: linux create swap space file

henry

2020-10-20 14:34

manager   ~0011636

Resolved by commit 218f49416d26264af7e84df7cbebca25ad43a172:

    chemistryModel: Split chemistrySolvers.C, chemistryReductionMethods.C and chemistryTabulationMethods.C
    
    to reduces the memory requirement for compilation and speed-up parallel
    compilation.

Issue History

Date Modified Username Field Change
2020-10-06 12:54 aleixandre New Issue
2020-10-08 09:42 wyldckat Note Added: 0011572
2020-10-08 10:41 aleixandre Note Added: 0011573
2020-10-08 22:01 aleixandre Note Added: 0011574
2020-10-08 22:20 aleixandre Note Added: 0011575
2020-10-09 08:39 henry Note Added: 0011576
2020-10-09 09:30 aleixandre Note Added: 0011577
2020-10-09 10:14 chris Note Added: 0011578
2020-10-09 10:21 aleixandre Note Added: 0011579
2020-10-09 13:28 aleixandre Note Added: 0011580
2020-10-10 11:09 aleixandre Note Added: 0011581
2020-10-10 14:55 henry Note Added: 0011582
2020-10-10 14:56 henry Priority high => low
2020-10-10 14:56 henry Severity block => minor
2020-10-11 09:22 aleixandre Note Added: 0011583
2020-10-14 13:12 wyldckat Note Added: 0011593
2020-10-14 14:09 aleixandre File Added: log.makePV
2020-10-14 14:09 aleixandre Note Added: 0011596
2020-10-14 15:20 wyldckat Note Added: 0011597
2020-10-14 18:16 aleixandre File Added: log.makePVb
2020-10-14 18:16 aleixandre Note Added: 0011603
2020-10-14 18:24 wyldckat Note Added: 0011604
2020-10-15 14:34 aleixandre Note Added: 0011607
2020-10-15 14:45 wyldckat Note Added: 0011608
2020-10-15 15:05 aleixandre Note Added: 0011609
2020-10-15 15:09 wyldckat Note Added: 0011610
2020-10-15 15:52 aleixandre Note Added: 0011611
2020-10-15 18:14 wyldckat Note Added: 0011612
2020-10-15 18:36 wyldckat Note Added: 0011613
2020-10-15 19:08 aleixandre Note Added: 0011614
2020-10-18 15:01 chris Note Added: 0011629
2020-10-19 11:41 wyldckat Note Added: 0011630
2020-10-19 14:16 chris Note Added: 0011631
2020-10-19 14:44 wyldckat Note Added: 0011632
2020-10-19 16:50 aleixandre Note Added: 0011633
2020-10-19 19:38 wyldckat Note Added: 0011634
2020-10-20 14:34 henry Assigned To => henry
2020-10-20 14:34 henry Status new => resolved
2020-10-20 14:34 henry Resolution open => fixed
2020-10-20 14:34 henry Fixed in Version => 8
2020-10-20 14:34 henry Note Added: 0011636