Using MOOSE with Docker and Moltres Submodule #32223
-
Check these boxes if you have followed the posting rules.
Issue or question about MOOSEI am on Windows 11 using Docker to run Moltres, which has MOOSE as a submodule. Before I was able to get this working but it seems now it has been quite a challenge. I am using the idaholab/moose:latest image for my docker, in which I download Moltres, which subsequently downloads MOOSE as a submodule. I know it is not ideal but for a Windows machine this is the best I am working with. I am able to use MOOSE perfectly well on its own, but when it gets introduced as a submodule it seems to not want to work. A lot of the fixes I have seen use Conda, which I dont have as a Windows user. My main issue I am encountering is that the libmesh folder is entirely empty. So when trying to build, it goes haywire. It seems that either the image or Moltres is missing the "hit" dependency. The Moltres Installation Documentation (https://arfc.github.io/moltres/getting_started/installation.html) suggests using a Conda Environment (obviously). I was wondering if the Docker part of this is messing it up. Bottomline is, the environment just is all out of wack and I was wondering if anyone knew a workaround to use Moltres on Docker (which I have done before but obviously cant remember how to do now). Pictures attached detail what my docker container looks like, as you can see with the first image the libmesh folder is absolutely empty. I also was wondering if there was a way to get moltres to use the files that the image has already provided instead of its own submodule? (Optional) code in question / simulation log / errorssh-4.4# make -j8
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/libtool: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/libtool: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/libtool: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/libtool: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
/bin/sh: /moltres/moose/libmesh/installed/contrib/bin/libmesh-config: No such file or directory
bash: -I/moltres/moose/framework/contrib/hit/include: No such file or directory
make: *** [/moltres/moose/framework/moose.mk:233: hit] Error 127
Traceback (most recent call last):
File "/moltres/moose/python/pyhit/__init__.py", line 13, in <module>
import hit
ModuleNotFoundError: No module named 'hit'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/moltres/moose/python/pyhit/__init__.py", line 18, in <module>
import hit
ModuleNotFoundError: No module named 'hit'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/moltres/moose/framework/scripts/find_dep_apps.py", line 16, in <module>
from TestHarness import findDepApps
File "/moltres/moose/python/TestHarness/__init__.py", line 9, in <module>
from .TestHarness import TestHarness
File "/moltres/moose/python/TestHarness/TestHarness.py", line 25, in <module>
from FactorySystem.Factory import Factory
File "/moltres/moose/python/FactorySystem/__init__.py", line 13, in <module>
from .Parser import Parser
File "/moltres/moose/python/FactorySystem/Parser.py", line 13, in <module>
import pyhit
File "/moltres/moose/python/pyhit/__init__.py", line 22, in <module>
import hit
ModuleNotFoundError: No module named 'hit'
Building and linking /moltres/moose/framework/contrib/capabilities/capabilities.so...
bash: -DMOOSESTRINGUTILS_NO_LIBMESH: command not found
make: *** [/moltres/moose/framework/moose.mk:243: /moltres/moose/framework/contrib/capabilities/capabilities.so] Error 127
make: *** Waiting for unfinished jobs....Encountering Errors? Please include diagnostic output |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 30 replies
-
|
Hello this means it didnt find libmesh. Try to set LIBMESH_DIR to where libmesh is on the system you can conda install this package to remove this error |
Beta Was this translation helpful? Give feedback.
-
|
How are you entering the container? You should enter it within the bash shell (I see you're using /bin/sh above); something like: I think the problem here is that the main environment isn't getting sourced. We do a conversion from apptainer back to docker, which I think is losing that environment. I should have a fix up for this in the latest package update in https://github.com/idaholab/moose/pulls/maythuwin1313. Once you enter the bash shell, if you don't see a shell prompt that looks like this: it means that the environment wasn't sourced properly. You might also need to run (once entering the shell): |
Beta Was this translation helpful? Give feedback.





How are you entering the container? You should enter it within the bash shell (I see you're using /bin/sh above); something like:
I think the problem here is that the main environment isn't getting sourced. We do a conversion from apptainer back to docker, which I think is losing that environment. I should have a fix up for this in the latest package update in https://github.com/idaholab/moose/pulls/maythuwin1313.
Once you enter the bash shell, if you don't see a shell prompt that looks like this:
it means that the environment wasn't sourced properly. You might also need to run (o…