-
Notifications
You must be signed in to change notification settings - Fork 103
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
Add linux dockerfile for ubuntu 20.04. #1785
base: master
Are you sure you want to change the base?
Add linux dockerfile for ubuntu 20.04. #1785
Conversation
To be precise, it seems the fontconfig from 18.04 that is too old. Have you considered making fonconfig pinned to newer version in https://github.com/beyond-all-reason/spring-static-libs/ instead?
It shouldn't affect that, but also windows being on 24.04 doesn't matter: it's cross compiling. I hate that we are still on 18.04, but there was a push back from other engine devs as it breaks compatibility with some older systems, engine is used across games so it's not only BAR that needs to be looked at but also Zero-K etc. That's why not using fontconfig from 18.04, but including it ourselves in spring-static-libs might be still prefered option. And who knows when will the version from 20.04 become too old and break...? |
Well, I didn't really dig very deep into it, might be other issues too besides fontconfig being too old. I'll do some further tests to confirm if it's just fontconfig.
Yes, I read that, but maybe that was already some years ago? Maybe it's time to consider updating this to 20.04. Otherwise yes, as you say we can just pin fontconfig inside spring-static-libs. |
For the record last time I've looked at it https://discord.com/channels/549281623154229250/724924957074915358/1276643268079259729 in August this year. It would be good to get data from Zero-K folks to be able to make decision. |
FWIW it's worth considering that there may be glibc compatibilities if using a newer docker version to create distributions. I'm not familiar enough with how BAR makes distributions, but I've run into this issue in a past; i.e. this can cause linker errors if building a distribution with too new a glibc. 18.04 is glibc 2.27 and 20.04 is 2.31 . Would then updating this mean we would require glibc 2.31 and above? |
Yes, precisely the issue and why engine devs push back. If we update to ubuntu 20.04, we require all engine users to use systems not older then 20.04. |
c39b874
to
00ee569
Compare
Since this is quite controversial, I think for now it's better to just add the Dockerfile for ubuntu 20.04 in case someone wants to use it at some point, otherwise we can just discard this, but I think it's good to add it so at least serves as documentation of needed changes between 18.04 and 20.04. Meanwhile we can explore backporting some libraries, like we could try pinning fontconfig 2.13.1 into the spring-static-libs/, like @p2004a suggested. Thing is i'm not very sure how that is updated, looks like the main branch has some scripts to generate libraries but then they get distributed inside the branches? Who builds that? What environment is used? |
https://github.com/beyond-all-reason/spring-static-libs/blob/master/.github/workflows/build.yml |
Work done
Related issues
I have checked, and building with the old dockerfile leads to issues (freeze on engine start), after updating seems to work fine both running with the launcher flatpak, and directly from the host os with ./spring.
After building with the new dockerfile the above issue should be fixed, but since I'm not running zorin specifically would have to double check with op. Zorin 17 is based on 24.04 though, the same I'm testing.
Remarks