0

I am running Bullseye on an RPi 3. In attempting to run a GNURadio application I get the subject error.

During my investigation I have found several references to this issue on this and other forums.

One of the discussions led me to an FAQ on github stating the following:

"The chances are this is because ‘something’ (such as gedit) has installed mesa which added its own versions of libEGL and libGLESv2. If you run:

$ sudo find / -name libEGL*
$ sudo find / -name libGLESv2*

on the Raspberry Pi you should just get /opt/vc/lib/libEGL.so and /opt/vc/lib/libGLESv2.so if other ones turn up i.e. /usr/lib/arm-linux-gnueabihf/libEGL.so.1 you could try creating symbolic links for them all like this:

$ sudo ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so
$ sudo ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1
$ sudo ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so
$ sudo ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2

The chances are this is because ‘something’ (such as gedit) has installed mesa which added its own versions of libEGL and libGLESv2. If you run:

$ sudo find / -name libEGL*
$ sudo find / -name libGLESv2*
on the Raspberry Pi you should just get /opt/vc/lib/libEGL.so and /opt/vc/lib/libGLESv2.so if other ones turn up i.e. /usr/lib/arm-linux-gnueabihf/libEGL.so.1 you could try creating symbolic links for them all like this:

$ sudo ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so
$ sudo ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1
$ sudo ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so
$ sudo ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2"  

[END OF GITHUB TEXT]

When I perform the find operation I get the following:
pi@raspberrypi:~ $ sudo find / -name libGLESv2*
find: ‘/run/user/1000/doc’: Permission denied
/usr/lib/chromium-browser/swiftshader/libGLESv2.so
/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0
/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2
/opt/minecraft-pi/lib/brcm/libGLESv2.so
/opt/minecraft-pi/lib/mesa/libGLESv2.so
pi@raspberrypi:~ $ sudo find / -name libEGL*
find: ‘/run/user/1000/doc’: Permission denied
/usr/lib/chromium-browser/swiftshader/libEGL.so
/usr/lib/arm-linux-gnueabihf/libEGL.so.1
/usr/lib/arm-linux-gnueabihf/libEGL_mesa.so.0
/usr/lib/arm-linux-gnueabihf/libEGL.so.1.1.0
/usr/lib/arm-linux-gnueabihf/libEGL_mesa.so.0.0.0
/opt/minecraft-pi/lib/brcm/libEGL.so
/opt/minecraft-pi/lib/mesa/libEGL.so

As you can see I don't show the /opt/vc that the FAQ says I should see. My question is then what do I use to perform the symbolic link? Do I use minecraft-pi: either brcm or mesa? Do I use chromium-browser?

Please help as I now am completely blocked from using my GNURadio application which BTW worked well on Jessie.

4
  • I didn't follow all the code but there is little point in Bullseye on pre Pi4 models. See raspberrypi.stackexchange.com/questions/135702/… If you want the latest use the Legacy (Buster)
    – Milliways
    Feb 19, 2022 at 1:28
  • 1
    Whoever wrote that github malarkey is not any kind of expert. Whatever the executable is that's throwing the error, you can check directly what libraries it links to easily via ldd, eg. ldd $(which gedit) will show the ones for gedit. This is SOP; the use of find and random guessing is worse than a waste of time, it is libel to lead to some bad decisions, and whoever is advocating it is unlikely to be a source of good advice.
    – goldilocks
    Feb 19, 2022 at 15:15
  • gnuradio threw the error. I tried ldd $(which gnuradio) but I got "missing file arguments". What is the correct syntax for the command?
    – Jim
    Feb 19, 2022 at 17:56
  • I'm not familiar with gnuradio, but that means that gnuradio is not a command (the same thing will happen if you do ldd somethingthatdoesntexist). A glance at this wiki indicates that it is really a suite of tools, some of which may be python scripts (which complicates the issue). You'll need to figure out which of those it is that you are using that fails this way.
    – goldilocks
    Feb 19, 2022 at 19:55

1 Answer 1

1

Sounds like you had not enabled the GL driver and tried to do this manually. I am not sure how your modifications might affect this, but on a clean install, the GPU drivers can easily be enabled using

raspi-config

Then navigate to Advanced Options -> GL Driver -> GL (Full KMS) OpenGL desktop driver with full KMS.

After that reboot and it should work.

If you need/want you can allocate more of the system memory (RAM) to the GPU (VRAM). To do that start raspi-config again. Then navigate to Performance Options -> GPU Memory and specify the amount of GPU allocated memory. Do keep in mind that this will be consumed from the system memory, even when not in use.

1
  • 1
    There is no GL driver option on Bullseys 64 bit desktop
    – decades
    Oct 24, 2022 at 9:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.