-
Notifications
You must be signed in to change notification settings - Fork 193
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
Use older github runners for better compatibilities #273
Conversation
Recently github switched ubuntu-latest to ubuntu 22.04. https://github.blog/changelog/2022-11-09-github-actions-ubuntu-latest-workflows-will-use-ubuntu-22-04/ as a consequence, wasi-sdk-17.0 binary doesn't work on ubuntu 20.04: ``` 5d4353ee0338# ./.wasi-sdk-17.0/bin/clang ./.wasi-sdk-17.0/bin/clang: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./.wasi-sdk-17.0/bin/clang) ./.wasi-sdk-17.0/bin/clang: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./.wasi-sdk-17.0/bin/clang) ./.wasi-sdk-17.0/bin/clang: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./.wasi-sdk-17.0/bin/clang) 5d4353ee0338# ``` This commit switches it back to ubuntu 20.04 for now.
According to the following github document, macos-latest is either macos-11 or macos-12 at this point. https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources It's better for us to use a consistent version to build. This might explain the following error i've seen with wasi-sdk-17.0 release binary on macos-11.0: ``` Run Build Command(s):/usr/bin/make -f Makefile cmTC_254ef/fast && /Applications/Xcode_13.2.1.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_254ef.dir/build.make CMakeFiles/cmTC_254ef.dir/build Building C object CMakeFiles/cmTC_254ef.dir/testCCompiler.c.obj /Users/runner/work/toywasm/toywasm/.wasi-sdk-17.0/bin/clang -o CMakeFiles/cmTC_254ef.dir/testCCompiler.c.obj -c /Users/runner/work/toywasm/toywasm/build.wasm/CMakeFiles/CMakeScratch/TryCompile-aWXHXM/testCCompiler.c dyld: Symbol not found: __ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE Referenced from: /Users/runner/work/toywasm/toywasm/.wasi-sdk-17.0/bin/clang (which was built for Mac OS X 12.0) Expected in: /usr/lib/libc++.1.dylib in /Users/runner/work/toywasm/toywasm/.wasi-sdk-17.0/bin/clang make[1]: *** [CMakeFiles/cmTC_254ef.dir/testCCompiler.c.obj] Abort trap: 6 make: *** [cmTC_254ef/fast] Error 2 ```
For linux: to maximize compatability with older glibc versions, we already have a docker build job that performs the build in an ubuntu bionic container, that artifact should be used when the glibc version error pops up. For macos: I recommend sticking to |
will it be a part of assets for the next release?
while it's reasonable to specify the target version, i feel it's simpler to use a fixed version on the ci. |
|
|
only when github happens to choose 12. |
|
ok. i understand your point. i don't agree it's a good idea though. |
I think the I don't feel strongly about (also) pinning the version of macos used to do the build, but I don't think we should conflate that with the version we are targeting (that is what MAKE_OSX_DEPLOYMENT_TARGET is for). |
while i still think it's better to use fixed versions of runners, i'm not too unhappy with the current solutions. (CMAKE_OSX_DEPLOYMENT_TARGET and docker) |
Exclude dist-ubuntu-latest to prefer dist-ubuntu-bionic, which is compatible with wider distributions. cf. WebAssembly#273 (comment) WebAssembly#303
Exclude dist-ubuntu-latest to prefer dist-ubuntu-bionic, which is compatible with wider distributions. cf. #273 (comment) #303
See the commit messages for relevant errors.