When setting ZOLA_VERSION to 0.21.0 in vercel.json, deployments fail:
11:59:20.307 Vercel CLI 46.0.2
11:59:20.883 Installing Zola version 0.21.0
11:59:21.393 zola: /lib64/libm.so.6: version `GLIBC_2.35' not found (required by zola)
11:59:21.397 Error: Command "zola build" exited with 1
This seems to have been an issue before: a github comment indicated that Vercel builds run in Amazonlinux containers with an old glibc version.
Vercel should either run builds in containers with a more up-to-date glibc (possibly as an option, like Netlify does) or build Zola from source, ensuring the glibc version always matches.
Have you tried following the Zola docs. This is what they say:
This is because Vercel’s build images comes with an older glibc version whereas Zola depends on a newer glibc. However, Vercel provides a newer build image which can be used in deployments by setting Node.js version to “20.x”, allowing Zola to work properly.
I’m not too sure, it’s something I didn’t pay attention to (since Zola isn’t written in JavaScript, after all). It has worked with older versions of Zola in the past though, if that’s what you mean.
Hi @alanpearce, we’ve released a fix for it now. It is working for me and builds are going as expected. Can you confirm it’s working for you on Node 22.x now?
[16:57:07.135] Skipping build cache since Node.js version changed from “20.x” to “22.x”
[16:57:07.334] Running “vercel build”
[16:57:07.728] Vercel CLI 46.0.5
[16:57:08.434] Installing Zola version 0.21.0
[16:57:09.013] zola: /lib64/libm.so.6: version `GLIBC_2.35’ not found (required by zola)
[16:57:09.016] Error: Command “zola build” exited with 1
Hi @alanpearce, we found the underlying issue. It’s because you are using the ZOLA_VERSION environment variable. I’d request you to remove the env variable and use this custom build command instead:
curl -sL https://github.com/getzola/zola/releases/download/v0.21.0/zola-v0.21.0-x86_64-unknown-linux-musl.tar.gz | tar -zx && ./zola build
Our team is working to patch this functionality but it might take a few days to get it out.