diku-canvas icon indicating copy to clipboard operation
diku-canvas copied to clipboard

SDL2 not found on ubuntu 20.04 with dotnet-sdk installed from snap

Open madsobitsoe opened this issue 2 years ago • 2 comments

When running dotnet fsi someFile.fsx on ubuntu 20.04 with dotnet-sdk installed via snap, SDL2 is not found. Neither the shipped SDL2.so or a user-installed SDL2, through libsdl2-dev.

The problem seems to be related to ld not finding GLIBC. The system were the issue was discovered has glibc-2.35, confirmed by ldd --version.

An abbreviated output from LD_DEBUG=libs dotnet fis someFile.fsx is seen below:

> grep SDL2 lddebug\ \(1\).log
     50390:	find library=SDL2.so [0]; searching
     50390:	  trying file=/snap/dotnet-sdk/177/shared/Microsoft.NETCore.App/6.0.8/../../../lib/x86_64-linux-gnu/SDL2.so
     50390:	  trying file=/snap/dotnet-sdk/177/shared/Microsoft.NETCore.App/6.0.8/../../../usr/lib/x86_64-linux-gnu/SDL2.so
     50390:	  trying file=/snap/dotnet-sdk/177/usr/lib/x86_64-linux-gnu/SDL2.so
     50390:	  trying file=/snap/dotnet-sdk/177/lib/x86_64-linux-gnu/SDL2.so
     50390:	  trying file=/lib/x86_64-linux-gnu/SDL2.so
     50390:	  trying file=/usr/lib/x86_64-linux-gnu/SDL2.so
     50390:	  trying file=/lib/SDL2.so
     50390:	  trying file=/usr/lib/SDL2.so
     50390:	find library=libSDL2.so [0]; searching
     50390:	  trying file=/snap/dotnet-sdk/177/shared/Microsoft.NETCore.App/6.0.8/../../../lib/x86_64-linux-gnu/libSDL2.so
     50390:	  trying file=/snap/dotnet-sdk/177/shared/Microsoft.NETCore.App/6.0.8/../../../usr/lib/x86_64-linux-gnu/libSDL2.so
     50390:	  trying file=/snap/dotnet-sdk/177/usr/lib/x86_64-linux-gnu/libSDL2.so
     50390:	  trying file=/snap/dotnet-sdk/177/lib/x86_64-linux-gnu/libSDL2.so
     50390:	  trying file=/lib/x86_64-linux-gnu/libSDL2.so
     50390:	/snap/dotnet-sdk/177/lib/x86_64-linux-gnu/libm.so.6: error: version lookup error: version `GLIBC_2.29' not found (required by /lib/x86_64-linux-gnu/libSDL2.so) (fatal)
     50390:	find library=SDL2 [0]; searching
     50390:	  trying file=/snap/dotnet-sdk/177/shared/Microsoft.NETCore.App/6.0.8/../../../lib/x86_64-linux-gnu/SDL2
     50390:	  trying file=/snap/dotnet-sdk/177/shared/Microsoft.NETCore.App/6.0.8/../../../usr/lib/x86_64-linux-gnu/SDL2
     50390:	  trying file=/snap/dotnet-sdk/177/usr/lib/x86_64-linux-gnu/SDL2
     50390:	  trying file=/snap/dotnet-sdk/177/lib/x86_64-linux-gnu/SDL2
     50390:	  trying file=/lib/x86_64-linux-gnu/SDL2
     50390:	  trying file=/usr/lib/x86_64-linux-gnu/SDL2
     50390:	  trying file=/lib/SDL2
     50390:	  trying file=/usr/lib/SDL2
     50390:	find library=libSDL2 [0]; searching
     50390:	  trying file=/snap/dotnet-sdk/177/shared/Microsoft.NETCore.App/6.0.8/../../../lib/x86_64-linux-gnu/libSDL2
     50390:	  trying file=/snap/dotnet-sdk/177/shared/Microsoft.NETCore.App/6.0.8/../../../usr/lib/x86_64-linux-gnu/libSDL2
     50390:	  trying file=/snap/dotnet-sdk/177/usr/lib/x86_64-linux-gnu/libSDL2
     50390:	  trying file=/snap/dotnet-sdk/177/lib/x86_64-linux-gnu/libSDL2
     50390:	  trying file=/lib/x86_64-linux-gnu/libSDL2
     50390:	  trying file=/usr/lib/x86_64-linux-gnu/libSDL2
     50390:	  trying file=/lib/libSDL2
     50390:	  trying file=/usr/lib/libSDL2
     50390:	/snap/dotnet-sdk/177/lib/x86_64-linux-gnu/libc.so.6: error: version lookup error: version `GLIBC_2.33' not found (required by /home/peter/.nuget/packages/diku.canvas/1.0.0/runtimes/linux-x64/native/libSDL2.so) (fatal)
System.DllNotFoundException: Unable to load shared library 'SDL2' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libSDL2: cannot open shared object file: No such file or directory

madsobitsoe avatar Sep 08 '22 10:09 madsobitsoe