Can't build site with Zola 0.21.0

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.

Project code

Hi @alanpearce, welcome to the Vercel Community!

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.

Can you give it a try?

The project was already using Node 20. I tried updating it to 22, following the same logic, but still nothing:

[12:45:11.622] Running build in Washington, D.C., USA (East) – iad1
[12:45:11.623] Build machine configuration: 2 cores, 8 GB
[12:45:11.669] Cloning gitlab.com/alanpearce/zola-bearblog (Branch: main, Commit: 32a21a7)
[12:45:13.729] Cloning completed: 2.059s
[12:45:13.829] Skipping build cache since Node.js version changed from "20.x" to "22.x"
[12:45:14.064] Running "vercel build"
[12:45:15.924] Vercel CLI 46.0.2
[12:45:16.774] Installing Zola version 0.21.0
[12:45:17.283] zola: /lib64/libm.so.6: version `GLIBC_2.35' not found (required by zola)
[12:45:17.287] Error: Command "zola build" exited with 1

I see. Let me check with our compute team.

Hi @alanpearce, our team is taking a look right now. Were you using Node 18 earlier or is this the first time you are using Vercel with Zola?

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.

1 Like

I see. No worries. I’m working with the team to get this sorted. I’m using a fresh Zola project to test out the change. Will keep you posted here.

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?

Not yet, it seems.:

[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, can you try changing Node version to 20 and then to 22 again? Because this works for my Zola project made using latest Zola.

Still the same error. I attempted a deploy with Node 20 before switching back to 22, just in case. The deployment ID is J6oQRDesNoucNrGyvyugnHebA2Rc.

Also, whilst doing this, I noticed that the ā€˜save’ button of the Node version picker doesn’t seem to respond to the first click (Safari)

Thanks for sharing the additional details. Would it be possible to have access to your repo? Only if it’s public.

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.

1 Like

Thanks, I finally built it successfully using the custom command you mentioned!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.