Subject: bug#63315: rustc broken because of missing glibc library

From: Steven Roose <[email-masked]>
Date: Fri, 5 May 2023 20:24:02 +0100

Since a week or so, I can't build rust crates that depend on (g?)libc 
(hint: almost all of them).

I get errors like this:

/var/cargo-target/debug/build/thiserror-0cbbe89a1097b949/build-script-build: 
/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6: 
version `GLIBC_2.34' not found (required by 
/var/cargo-target/debug/build/thiserror-0cbbe89a1097b949/build-script-build) 

Somehow my cargo and rustc versions are different though:

$ cargo version cargo 1.65.0
$ rustc --version rustc 1.60.0

I find the following in my GNU store (excluding some locales and fhs stuff):

/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib
/gnu/store/bvr8vy58g56amcs81h2qwa003x8yspv3-glibc-2.35/lib
/gnu/store/l0yryi5jsa1grnvw01c9nkz9c81cv224-glibc-2.35-static/lib
/gnu/store/ip9mj1pwymxi1yq32zbhwp3n3bycy6yi-glibc-2.35/lib
/gnu/store/0hr9jpczkcgpgqkhf4q4868xd57h5a62-glibc-2.35/lib
/gnu/store/0iapawfss4xnxls622g23qpk4mwb9ihp-glibc-2.33/lib
/gnu/store/j3cypk9c28iyd7s6q829vc94pwi187cn-glibc-2.33/lib
/gnu/store/4jdghmc65q7i7ib89zmvq66l0ghf7jc4-glibc-2.33-static/lib
/gnu/store/ayc9r7162rphy4zjw8ch01pmyh214h82-glibc-2.33/lib
/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib

So it seems I have v2.33 and v2.35 but not v2.34 (that version doesn't 
exist in the repo anymore).

Also this:

$ ls -al /run/current-system/profile/lib/libc.so
lrwxrwxrwx 1 root root 76 Jan  1  1970 
/run/current-system/profile/lib/libc.so -> 
/gnu/store/ks87cpc36kh8hqwr569pks4yrzfl7mnv-gcc-toolchain-11.3.0/lib/libc.so
$ ls -al 
/gnu/store/ks87cpc36kh8hqwr569pks4yrzfl7mnv-gcc-toolchain-11.3.0/lib/libc.so
lrwxrwxrwx 1 root root 66 Jan  1  1970 
/gnu/store/ks87cpc36kh8hqwr569pks4yrzfl7mnv-gcc-toolchain-11.3.0/lib/libc.so 
-> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so
$ ls -al /run/current-system/profile/lib/libc.so.6
lrwxrwxrwx 1 root root 78 Jan  1  1970 
/run/current-system/profile/lib/libc.so.6 -> 
/gnu/store/ks87cpc36kh8hqwr569pks4yrzfl7mnv-gcc-toolchain-11.3.0/lib/libc.so.6
$ ls -al 
/gnu/store/ks87cpc36kh8hqwr569pks4yrzfl7mnv-gcc-toolchain-11.3.0/lib/libc.so.6
lrwxrwxrwx 1 root root 68 Jan  1  1970 
/gnu/store/ks87cpc36kh8hqwr569pks4yrzfl7mnv-gcc-toolchain-11.3.0/lib/libc.so.6 
-> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6

So it seems the ones in my profile are 2.35.

It's very well possible I did something special in my setup to mess this 
up because I can't imagine rust building to be broken for everyone. But 
I can't figure out what I might have done.