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.

Milliways
  • 59,890
  • 31
  • 101
  • 209
Jim
  • 1
  • 1
  • 1
  • 1
  • I didn't follow all the code but there is little point in Bullseye on pre Pi4 models. See https://raspberrypi.stackexchange.com/questions/135702/what-are-the-pros-and-cons-of-the-new-raspberry-pi-os-bullseye If you want the latest use the Legacy (Buster) – Milliways Feb 19 '22 at 01: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 '22 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 '22 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 '22 at 19:55

1 Answers1

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.

sleort
  • 111
  • 2