libbcm_host.so missing on Raspberry pi

Hi all! I’m trying to let the picamera work on raspberry. I’ve installed the picamera python module, but when i try to run the python script i receive this error and i don’t know where/how to find the missing files:

Traceback (most recent call last):
  File "camera.py", line 1, in <module>
    from picamera import PiCamera
  File "/usr/lib/python3.6/site-packages/picamera/__init__.py", line 72, in <module>
    from picamera.exc import (
  File "/usr/lib/python3.6/site-packages/picamera/exc.py", line 41, in <module>
    import picamera.mmal as mmal
  File "/usr/lib/python3.6/site-packages/picamera/mmal.py", line 47, in <module>
    from .bcm_host import VCOS_UNSIGNED
  File "/usr/lib/python3.6/site-packages/picamera/bcm_host.py", line 47, in <module>
    _lib = ct.CDLL('libbcm_host.so')
  File "/usr/lib64/python3.6/ctypes/__init__.py", line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libbcm_host.so: cannot open shared object file: No such file or directory

What can i do? Thanks.

Update:
I’ve tried to manually put the missing library in /usr/lib64, and i’ve understood that probably there is some problems with 32 and 64 bit version. I need to install the picamera module in 32 bit version, and run it in 32 bit python version. How can i do it?

Hi
AFAIK the firmware is not in openSUSE (no camera support), you would need to raise a bug report to see if/when it would be included, or ask on IRC Freenode #opensuse-arm or the openSUSE arm Mailing list…

Oh, understood :frowning: And there is no “manually” way to let it work? Also using any “32bit version of something”?

Hi
Possibly, I would suggest the first port of call is the IRC channel, they will give guidance of a go/no go and likely save you time if it could work or not :wink:

I will try there, thank anyway :wink:

Hi
Just be patient on the channel, can take awhile for someone to respond (different timezones etc) :wink:

I might be wrong in wondering so, but shouldn’t you be looking for ARM architecture, and not 32bit or 64bit?

Hi
There are 32bit and 64bit ARM versions aarch64, armv6hl, armv7hl, ppc, riscv and zsystems…

:smile: And now I know. Thanks Malcolm.

If you do an Internet search,
it’s an issue that has existed since 2017.

And, only yesterday someone submitted a file for proposal

https://github.com/raspberrypi/firmware/commits/master/opt/vc/lib/libbcm_host.so

I suppose if you’re in a hurry, you can try coding in python instead of visual c
Or, I haven’t done it in visual c and at the moment the technical term escapes me, but there can be ways for you to code in one language and access code in a different language…
Doing a little search on this, maybe the specific name isn’t important. According to the following this technique has a different name in every coding language
https://en.wikipedia.org/wiki/Foreign_function_interface

TSU