Closed tari closed 1 year ago
So we should probably tweak the CI runs-on to choose an older ubuntu (instead of latest
), here https://github.com/CE-Programming/toolchain/blob/master/.github/workflows/make.yml#L45
That seems okay; you'd probably want to go back to Ubuntu 18.04, since that ships glibc 2.27 which is slightly older than debian oldstable (buster) with 2.28. If you wanted to go crazy, CentOS 7 (still supported!) ships 2.17.
IMO, Ubuntu 20.04 or CentOS 8 should be the baseline by now, as Ubuntu 18.04 (5 years old), CentOS 7 (~9 years old) and Debian 10 (nearly 4 years old) are in more or less severely reduced security maintenance mode, and should therefore be avoided outside specific contexts :)
So, let's try 20.04? I'm not even sure it will work, due to old compilers? We'll see I guess.
Also, @jacobly0 would have to change this here too https://github.com/jacobly0/llvm-project/blob/z80/.github/workflows/cmake.yml#L13
Alright so while we're waiting for @jacobly0 to merge/commit the changes upstream, I've also made a fork with the CI building for Ubuntu-20.04 and macOS-11 instead of just latest (didn't change the Windows builds though), and manually created a pre-release nightly thing so the artifacts don't expire (that can get automated, which is what we have for the toolchain and CEmu).
We'll update the CI here to use the nightly pre-release binaries once it's all OK I suppose.
Let us know if it all works as expected on your Debian! (That said, Debian 12 just became stable :P)
I've seen the binary requires GLIBC_2.29
so it should be fine on Debian 11 (not Debian 10 however, since it has 2.28 apparently?)
I guess @tari is AFK or busy these days, so I have verified that the ubuntu 20.04 binaries work on Debian 11 and 12 (but not 10) :) Now it's up to @jacobly0 to merge things 👀
All done, with https://github.com/jacobly0/llvm-project/commit/5f8512f22751066573aa48ac848a6d2195838ac3 and 9fd25ef434d769e39b60255979b532635fbb65c2
The binaries provided in the 11.1 release package (at least
cedev-config
, probably others) are linked against glibc 2.34 but Debian stable (bullseye) is still shipping glibc 2.31 so attempting to build a program fails:Release packages should either be statically linked in their entirety, or link against an old version of glibc to avoid these kinds of problems; a common solution is to do release builds on a very old distro (often the oldest still-supported version of CentOS), but I'd be happy with something like Debian oldstable as a target.