-
Notifications
You must be signed in to change notification settings - Fork 10
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
Issue with stray characters when compiling #41
Comments
I'm going through similar issues, What I found so far is that the minimum required CMake-version is 3.13, contrary to CMakeLists.txt Line 1 in 96b3e81
The other thing I found is that the compiler has to be gcc-10 or higher, Edit: I was still using GCC 9.4 from the system. When specifying the correct gcc version I got it to build. |
Thank you very much, upgrading cmake and going with gcc-10 fixed the problem and I was able to compile it on our only Ubuntu 20.04 system (did not work on our 18.04 or CentOS Stream 8 servers). Running the compiled binary on the 20.04 system it still died with
to the CMakeLists.txt it did compile static enough so that the binary compiled at 20.04 and would then also run at our computation servers running 18.04. Maybe since compilation seems to be very tricky, it would be great to include instructions on how to compile static and maybe also build the release binaries here on GitHub as a static build (the release binaries did not run on any of our 18.04, 20.04 or CentOS 8 Stream systems) |
Hello - thanks to both of you for the above. As you may have noticed, I have not had time to update the documentation, which I do regret massively. I have a lot to do. You are correct that GCC10 is now required. I didn't realise that something in CMakeLists needs 3.13 now, I wonder what that is. The Github 18.04 runner is now deprecated. I made the mistake of jumping all the way to 22.04 as you can see here: https://github.com/spinicist/riesling/blob/main/.github/workflows/build.yml. I think I should downgrade that to 20.04 and re-tag the v0.9 release, that ought to mean you can run them on 20.04 (and possibly 18.04 given what @MartinK84 said above). |
I will happily accept a Pull Request updating this. |
This I am confused by, because my Do you use |
Without the changes the output is:
and it will die out when run on another system with different Ubuntu version with:
with the above added CMakeList.txt changes the ninja log is as follows:
and the binary also works at 18.04 |
On a side note and probably related to my compilation problems it appears as if the riesling which I did compile static on 20.04 and which I'm trying to run on the 18.04 compuation server appears to seg fault out on basically every command...
probably related to that warning above with H5PLint.c and FFT.cpp, looks like it's not fully static :( |
I have retagged and re-released v0.9 using Ubuntu 20.02 and GCC 10. Can you try the resulting binaries on your machines please? It very much looks like the static C++ runtime linking did not work when you built, but I can't immediately tell why. |
Done |
Can confirm the new release works on my machine (Ubuntu 20.04) |
Unfortunately, it does not work on Ubuntu 18.04 because of missing GLIBC requirements, so it definitely looks like to not be completely static. On our only Ubuntu 20.04 the precompiled also do fail because of |
My understanding is that glibc is the one thing you absolutely cannot link statically - hence why building on the earliest version of Linux, which will have the lowest version of glibc, is advisable. glibc is guaranteed to be forward compatible but not backward compatible. One workaround to this is to swap to musl (https://musl.libc.org) instead, but I would need to read up on how to do that. However, it looked to me like your build isn't statically linking the C++ runtime either, which is the first bit to figure out. We need to make sure |
This is kind of strange... if I add When I add (which supposedly makes everything static) I think fixing this will be a significant task and probably not worth the trouble for a 4-year-old Ubuntu version. I will now try to somehow bump cmake and install gcc-10 and g++-10 on my Ubuntu 18.04 and see if I can compile it then. |
Finally got it to compile under 18.04 and was also able to run the phantom command on one of our computation servers under 18.04 by doing the following:
@spinicist I hope that my particular problem is solved with this, not sure if you want to continue diving into all those build problems for older ubuntu versions. If you want you can close the issue |
I was trying the latest version and unfortunately running into a problem when compilation (can't use the pre compiled binaries as our Linux systems are too ancient). The problem is that you are apparently using utf-8 variables in the code and I'm thus getting tons of errors like
stray »\316« in program
. Do you have any advice in how to fix this? Are there any compile flags that could be used/tweaked?The text was updated successfully, but these errors were encountered: