Replies: 5 comments 6 replies
-
Hello Prentice, Welcome to Charliecloud!
This is the default behavior, but if you specify
Yes, we don't currently support The reasoning was that Charliecloud is designed for HPC applications, and those applications lend themselves less well to being repeatedly run with the same argument (than the web apps containers were originally used for). However, yours isn't the only feedback we've received that such support would be useful.
Specifics would be needed to debug this. However, there are a lot of environment variables that control linking, so I wonder if you've been caught up in that. If you post the Dockerfile and the HTH, |
Beta Was this translation helpful? Give feedback.
-
Reid, Thanks for the help! I was using --setenv to set all the environment variables manually. I didn't realize that using it w/o defining an environment variable tells it to use /ch/environment. I re-read that section of ch-run, and sure enough, it states that clear as day. Me culpa! I understand your logic behind not supporting CMD for HPC applications, but I think it would be useful to those, so add me to the list of those who'd like to see it supported. It's easy enough to specify the argument on the command-line. Using --set-env as you instructed helps a lot. Here's what happens when I try to start the app in the container, showing the linking error:
When I run a bash shell in the container, and then use ldd to look at the library and executables associated with FreeCAD, they are looking for libQtCore.so.5 version 5.15. For example:
Using "ldd -v" provids this additional information:
There are two different libQt5Core.so.5 files in the image:
/usr/lib/x86_64-linux-gnu should be part of the system-wide ld search path set in /etc/ld.so.conf.d/*, and it is:
And the Dockerfile isn't adding the paraview directory to the path due to conflicts between what Paraview wants and what other apps want:
|
Beta Was this translation helpful? Give feedback.
-
Is the Dockerfile something you can share in full? (or a similar one that also exhibits the undesired behavior) |
Beta Was this translation helpful? Give feedback.
-
So the Dockerfile depends on a lot of ORNL context that I don't have. However, I can't reproduce your errors with the image pulled from Docker Hub. I wonder if it's something in your environment or your dotfiles? Try this:
|
Beta Was this translation helpful? Give feedback.
-
Reid, Thanks so much for your help. I'll play around with --unset-env and --set-env look at my rc files and see what I can find. It may take a couple of days before I can get back to you, though - I have several deadlines staring me in the face right now. Prentice |
Beta Was this translation helpful? Give feedback.
-
Okay - I'm very green with Charliecloud - I've only been using it for the past 30 hours or so, and I've spent most of that time trying to get an application I pulled down from DockerHub with 'ch-image pull' to work as advertised. It's my understanding that if I pull an image with 'ch-image pull', Charliecloud puils down the image and builds it in it's own format, and it should be ready to run. Is that correct?
I've done some of the simple examples in the tutorial, and those images exhibit the same problems, so I think I must be the problem here. Here's what I'm seeing:
As a sanity check, I've tried this with Docker, and with Charliecloud on my personal computer to see if what something with my work systems' environment or Linux version. Everything works as directed with Docker, and Charliecloud behaves the same on my personal system.
Am I missing something? Here's what I'm doing:
Thanks for the help,
Prentice
Beta Was this translation helpful? Give feedback.
All reactions