circleci

borkdude 2022-12-10T08:57:12.590619Z

I'm building dynamically linked binaries on cimg/clojure:1.11.1-openjdk-17.0 Can this image be consided immutable or has anything changed lately with glibc on there? Users are getting errors like:

clj-kondo: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32\' not found (required by clj-kondo)\nclj-kondo: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34\' not found (required by clj-kondo)\n

borkdude 2022-12-10T09:01:42.304589Z

cc @glenjamin @conormcd @rahul080327 I see here "last modified 28 november" https://circleci.com/developer/images/image/cimg/clojure How can I make my build environment immutable and predictable? I don't want to deal with issues like this :)

glenjamin 2022-12-10T09:05:56.588569Z

Use the full hash of the image

borkdude 2022-12-10T09:06:09.050799Z

How can I see the previous hash of the image?

glenjamin 2022-12-10T09:06:28.014329Z

Expand the setup step of the last green build

borkdude 2022-12-10T09:07:56.556039Z

ok. small detail: the builds were always green until you run the binary on another machine which doesn't have this super new glibc this docker image suddenly has, so I only noticed it after release

glenjamin 2022-12-10T09:08:17.873249Z

Ah

glenjamin 2022-12-10T09:09:09.284349Z

That’s harder then, you might have to download an image to see what’s on it

glenjamin 2022-12-10T09:09:32.629829Z

Or maybe check the Ubuntu release notes for glibc

borkdude 2022-12-10T09:10:59.176979Z

Ah I see:

$ docker run --rm -it cimg/clojure@sha256:8298383d7753a2305663403871c31f238c3c5f0200e13f2394e32d4598a9fdf2 ldd --version

borkdude 2022-12-10T09:11:04.968559Z

ldd (Ubuntu GLIBC 2.31-0ubuntu9.7) 2.31

borkdude 2022-12-10T09:11:11.803209Z

That's better, I'll downgrade to that one

👍 1
borkdude 2022-12-10T09:11:46.016459Z

thanks for the help!