Undefined symbol: _dl_catch_error_ptr, version GLIBC_PRIVATE

Tried to use nix to import freeglut but when I try to run the program I get the following error message:
./main: symbol lookup error: /nix/store/s9qbqh7gzacs7h68b2jfmn9l6q4jwfjz-glibc-2.33-59/lib/libdl.so.2: undefined symbol: _dl_catch_error_ptr, version GLIBC_PRIVATE

the only things I changed to the default c++ template project was

{ pkgs }: with pkgs; {
	deps = [


in replit.nix and

compile = "gcc main.cpp -o main -lGL -lGLU -lglut"

in .replit

Try adding -ldl to your compile arguments.

1 Like

doing that gives me the following error:
./main: symbol lookup error: /nix/store/s9qbqh7gzacs7h68b2jfmn9l6q4jwfjz-glibc-2.33-59/lib/libpthread.so.0: undefined symbol: __libc_siglongjmp, version GLIBC_PRIVATE
what do these messages mean?

Try adding -lpthread?

that worked but then recieved new error:
libGL error: MESA-LOADER: failed to open swrast: /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib/libpthread.so.0: version `GLIBC_PRIVATE’ not found (required by /nix/store/s9qbqh7gzacs7h68b2jfmn9l6q4jwfjz-glibc-2.33-59/lib/librt.so.1) (search paths /nix/store/p36pgcv991mq5srvg765b78yqpxvk3qs-mesa-21.3.3-drivers/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
freeglut (./main): Unable to create OpenGL 1.0 context (flags 0, profile 0)
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 37
Current serial number in output stream: 38

Maybe try adding -lrt, then?

thank you it worked, but what is meant by dl, pthread, and rt

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