-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
openfoam compilation problem #118
Comments
On 19/09/16 11:05, justinc1 wrote:
It's fine to have such discussions here (or on the mailing list).
Shared libraries are not supported by Rumprun. Can you try to convince
Well, in theory multilib applications are supposed to work exactly like The first thing you'd need to do is to figure out where Foam::FatalError |
I will try to. But when looking into some silver-bullet flag for wmake to produce .a libs, I got - 10 years old post, mentioning even older post, which contained partial instruction about how this could be done. I guess manual makefile hacking is unavoidable, in best case.
I'm pretty sure it should be in some other shared lib. In that case, that lib should be converted to static-compiled one? |
On 19/09/16 12:44, justinc1 wrote:
I'm not familiar with wmake, so I don't know. That said, the observed
The point was to figure out for certain exactly which one, and to see if |
Ok, you can get static .a libs with 'wmake lib' (vs 'wmake libso', which is probably default). So that builds the OpenFOAM libs from ./src/ subdirectory. I got error from command like:
"Fixed" it by editing x86_64-rumprun-netbsd-ar and replacing "x86_64-rumprun-netbsd-cr" with "-cr" - I guess that is what was intended. Now I have about 600 MB of .a libs in ./platforms/linux64GccDPOpt/lib. Then comes the application/solver I'm interested into - the simpleFoam in particular.
The relocatable type should be OK, I think. But
The first part should not be a problem, I hope - std lib, will be provided by rump. But I should try to include more libs to get also ZN4Foam11fileMonitor11removeWatchEi etc. |
One thing you must do is teach the Makefiles to use ...-g++, not -gcc.
|
How do you know -gcc is used (yes, it is, but still ... :)? I thought fopen/fclose etc when used from C++ program will appear as "U fopen" etc in nm-output, just as above; and that there is nothing wrong with that. (and thank you for the help) |
On 19/09/16 15:20, justinc1 wrote:
Is this a problem or a general thinking-aloud statement? I don't |
Aha, so the __cxa is the pointer. The fopen comment was just thinking-aloud (I didn't know what is showing that -gcc is used instead of -c++). |
Hm, I see:
Is rump supposed to use heades from /usr/include (part of glibc-headers)? |
No, glibc is not provided by Rumprun. You'll have to fix |
I'm trying to run OpenFOAM on rumpkernel. At the moment, compilation fails, and I have problem understanding why, and more precisely, how should I modify build procedures to make them rump-compatilble. I guess issues is a wrong place for such novice question, but -I don't know where else could I ask for help.
Basic OpenFOAM (a bit outdated 2.4.0 version) compilation/installation is explained on https://openfoamwiki.net/index.php/Installation/Linux/OpenFOAM-2.4.0/Fedora. They use their wmake utility, since plain make and friends are supposed to be to weak for their requirements. Compilation results on host are a bunch of .so libraries. This works, so I do have prerequisite devel libraries etc on my system.
When trying to compile for rumpkernel, the first thing which fails is utility libPstream.so. I added some 'set -x' to see, which gcc command fails, and then tried to compile libPstream.so only:
Is the last command trying to assemble the binary for rumprun-bake step, and fails as required libs are missing? In tutorial (https://github.com/rumpkernel/wiki/wiki/Tutorial:-Building-Rumprun-Unikernels) I saw only compilation of single-file app. Now, with complex multi-libs app, I don't know what is build system supposed to do.
The text was updated successfully, but these errors were encountered: