OpenMV IDE installation error - Raspberry Pi 4B

Hi,
While OpenMV IDE installation I get following errors:

mikoule@raspberrypi:~/Documents/OpenMV-IDE/openmvide $ ./setup.sh
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'libxcb-present0' for regex 'ibxcb*'
Note, selecting 'libxcb-util1' for regex 'ibxcb*'
Note, selecting 'libxcb-xtest0' for regex 'ibxcb*'
Note, selecting 'libxcb-sync-dev' for regex 'ibxcb*'
Note, selecting 'libxcomposite-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-ewmh2' for regex 'ibxcb*'
Note, selecting 'libxcb-damage0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-image0' for regex 'ibxcb*'
Note, selecting 'libxcb-ewmh1-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-imdkit-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-present-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-xfixes0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-xf86dri0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-composite0' for regex 'ibxcb*'
Note, selecting 'libxcb-sync0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-icccm4' for regex 'ibxcb*'
Note, selecting 'libxcb1-dev' for regex 'ibxcb*'
Note, selecting 'libxcompshad3-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-composite0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-xinerama0-dev' for regex 'ibxcb*'
Note, selecting 'qvd-libxcomp3' for regex 'ibxcb*'
Note, selecting 'libxcb-dri2-0' for regex 'ibxcb*'
Note, selecting 'libxcb-dri3-0' for regex 'ibxcb*'
Note, selecting 'libxcursor1' for regex 'ibxcb*'
Note, selecting 'libxcb-xv0-dev' for regex 'ibxcb*'
Note, selecting 'libxc-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-imdkit1' for regex 'ibxcb*'
Note, selecting 'libxcompshad-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-dri3-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-record0' for regex 'ibxcb*'
Note, selecting 'libxcb-xf86dri0' for regex 'ibxcb*'
Note, selecting 'libxcb-xkb-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-image0-dev' for regex 'ibxcb*'
Note, selecting 'libxcrypt-source' for regex 'ibxcb*'
Note, selecting 'libxcompshad3' for regex 'ibxcb*'
Note, selecting 'libxcb1' for regex 'ibxcb*'
Note, selecting 'libxcomposite1' for regex 'ibxcb*'
Note, selecting 'libxcomp3' for regex 'ibxcb*'
Note, selecting 'libxcomp-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-event1-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-dri2-0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-util-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-shm0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-res0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-shape0-dev' for regex 'ibxcb*'
Note, selecting 'libxcomp3-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-xvmc0' for regex 'ibxcb*'
Note, selecting 'libxcb-render0' for regex 'ibxcb*'
Note, selecting 'libxcb-render-util0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-xvmc0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-ewmh-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-keysyms1' for regex 'ibxcb*'
Note, selecting 'libxcursor-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-render0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-cursor0' for regex 'ibxcb*'
Note, selecting 'libxcb-cursor-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-res0' for regex 'ibxcb*'
Note, selecting 'libxcb-randr0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-glx0' for regex 'ibxcb*'
Note, selecting 'libxcompext3' for regex 'ibxcb*'
Note, selecting 'libxcb-xinput-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-dpms0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-shape0' for regex 'ibxcb*'
Note, selecting 'libxcb-record0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-xtest0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-icccm1-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-randr0' for regex 'ibxcb*'
Note, selecting 'libxcb-screensaver0' for regex 'ibxcb*'
Note, selecting 'libxcb-reply1-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-damage0' for regex 'ibxcb*'
Note, selecting 'libxcb-xkb1' for regex 'ibxcb*'
Note, selecting 'libxcb-dpms0' for regex 'ibxcb*'
Note, selecting 'libxcb-property1-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-screensaver0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-keysyms1-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-xrm0' for regex 'ibxcb*'
Note, selecting 'libxcb-render-util0' for regex 'ibxcb*'
Note, selecting 'libxcb-icccm4-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-shm0' for regex 'ibxcb*'
Note, selecting 'libxcb-aux0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-util0-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-doc' for regex 'ibxcb*'
Note, selecting 'libxcb-xinerama0' for regex 'ibxcb*'
Note, selecting 'libxcb-xinput0' for regex 'ibxcb*'
Note, selecting 'libxcb-sync1' for regex 'ibxcb*'
Note, selecting 'libxcb-glx0-dev' for regex 'ibxcb*'
Note, selecting 'libxc5' for regex 'ibxcb*'
Note, selecting 'libxcb-xrm-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-atom1-dev' for regex 'ibxcb*'
Note, selecting 'libxcb-xfixes0' for regex 'ibxcb*'
Note, selecting 'libxcb-xv0' for regex 'ibxcb*'
Note, selecting 'libxcb-sync-dev' instead of 'libxcb-sync0-dev'
Note, selecting 'libxcomp-dev' instead of 'libxcomp3-dev'
Note, selecting 'libxcompshad-dev' instead of 'libxcompshad3-dev'
Note, selecting 'libgles2-mesa-dev' for glob 'libGLES*'
Note, selecting 'libgles-dev' for glob 'libGLES*'
Note, selecting 'libgles2-dev' for glob 'libGLES*'
Note, selecting 'libgles2-mesa' for glob 'libGLES*'
Note, selecting 'libgles1' for glob 'libGLES*'
Note, selecting 'libgles2' for glob 'libGLES*'
Note, selecting 'libtse3-0.3.1' for glob 'libts*'
Note, selecting 'libtss2-tcti-tabrmd-dev' for glob 'libts*'
Note, selecting 'libtss2-tcti-cmd0' for glob 'libts*'
Note, selecting 'libtsk19' for glob 'libts*'
Note, selecting 'libtsan0-arm64-cross' for glob 'libts*'
Note, selecting 'libtsl-ordered-map-dev' for glob 'libts*'
Note, selecting 'libtss2-tcti-device0' for glob 'libts*'
Note, selecting 'libtspi1' for glob 'libts*'
Note, selecting 'libtss2-esys0' for glob 'libts*'
Note, selecting 'libtss2-tcti-swtpm0' for glob 'libts*'
Note, selecting 'libtss2-dev' for glob 'libts*'
Note, selecting 'libtss2-mu0' for glob 'libts*'
Note, selecting 'libtsan0-ppc64-cross' for glob 'libts*'
Note, selecting 'libtsk-dev' for glob 'libts*'
Note, selecting 'libtss2-rc0' for glob 'libts*'
Note, selecting 'libtss2-tcti-tabrmd0' for glob 'libts*'
Note, selecting 'libtsl-hopscotch-map-dev' for glob 'libts*'
Note, selecting 'libtsm-dev' for glob 'libts*'
Note, selecting 'libts-bin' for glob 'libts*'
Note, selecting 'libts-dev' for glob 'libts*'
Note, selecting 'libtss2-tctildr0' for glob 'libts*'
Note, selecting 'libtss2-tcti-mssim0' for glob 'libts*'
Note, selecting 'libtss-dev' for glob 'libts*'
Note, selecting 'libtsm3' for glob 'libts*'
Note, selecting 'libtss0' for glob 'libts*'
Note, selecting 'libtse3-dev' for glob 'libts*'
Note, selecting 'libtss2-sys1' for glob 'libts*'
Note, selecting 'libtsan0-amd64-cross' for glob 'libts*'
Note, selecting 'libtsk10v5' for glob 'libts*'
Note, selecting 'libtss2-esys-3.0.2-0' for glob 'libts*'
Note, selecting 'libtss2-fapi1' for glob 'libts*'
Note, selecting 'libtsan0-ppc64el-cross' for glob 'libts*'
Note, selecting 'libtspi-dev' for glob 'libts*'
Note, selecting 'libts0' for glob 'libts*'
Note, selecting 'libtse3-0.3.1c2a' for glob 'libts*'
Note, selecting 'libsqlite3-ocaml' for glob 'libsqlite*'
Note, selecting 'libsqlite3-mod-impexp' for glob 'libsqlite*'
Note, selecting 'libsqlite3-ocaml-dee97' for glob 'libsqlite*'
Note, selecting 'libsqlite3-mod-blobtoxy' for glob 'libsqlite*'
Note, selecting 'libsqlite3-mod-virtualpg' for glob 'libsqlite*'
Note, selecting 'libsqlite3-mod-csvtable' for glob 'libsqlite*'
Note, selecting 'libsqlite3-mod-rasterlite2' for glob 'libsqlite*'
Note, selecting 'libsqlite-dev' for glob 'libsqlite*'
Note, selecting 'libsqlite3-mod-zipfile' for glob 'libsqlite*'
Note, selecting 'libsqlite3-mod-spatialite' for glob 'libsqlite*'
Note, selecting 'libsqlite0-dev' for glob 'libsqlite*'
Note, selecting 'libsqliteodbc' for glob 'libsqlite*'
Note, selecting 'libsqlite-tcl' for glob 'libsqlite*'
Note, selecting 'libsqlite0-tcl' for glob 'libsqlite*'
Note, selecting 'libsqlite3-dev' for glob 'libsqlite*'
Note, selecting 'libsqlite0' for glob 'libsqlite*'
Note, selecting 'libsqlite3-gst' for glob 'libsqlite*'
Note, selecting 'libsqlite3-0' for glob 'libsqlite*'
Note, selecting 'libsqlite3-tcl' for glob 'libsqlite*'
Note, selecting 'libsqlite3-ocaml-dev-dee97' for glob 'libsqlite*'
Note, selecting 'libsqlite3-ocaml-dev' for glob 'libsqlite*'
Note, selecting 'libsqlite3-mod-xpath' for glob 'libsqlite*'
Note, selecting 'libsqlite3-ocaml' instead of 'libsqlite3-ocaml-dee97'
Note, selecting 'libsqlite3-ocaml-dev' instead of 'libsqlite3-ocaml-dev-dee97'
Note, selecting 'libsqlite0-dev' instead of 'libsqlite-dev'
Note, selecting 'libodbc1' for glob 'libodbc*'
Note, selecting 'libsybdb5' for glob 'libsybdb*'
Note, selecting 'libusb-1.0-0-dev' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-doc' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-0' for regex 'libusb-1.0'
Package libpng12-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package qt5-default is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package python-pip is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  python3-pip

E: Package 'python-pip' has no installation candidate
E: Package 'libpng12-dev' has no installation candidate
E: Package 'qt5-default' has no installation candidate
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pyusb in /usr/local/lib/python3.9/dist-packages (1.2.1)
Could not find libts library
mikoule@raspberrypi:~/Documents/OpenMV-IDE/openmvide $ source ~/.profile
mikoule@raspberrypi:~/Documents/OpenMV-IDE/openmvide $ ./bin/openmvide
./bin/openmvide: error while loading shared libraries: libGLESv2.so: cannot open shared object file: No such file or directory
mikoule@raspberrypi:~/Documents/OpenMV-IDE/openmvide $ 

Looks like the setup.py didn’t finish.

Not sure when the 3 packages we need were removed. But, you can change the python-pip to python3-pip in the script.

Note sure what to do for libpng and qt5.

I apologize for this being broken. Packages keep changing on RPi which makes supporting it a challenge.

I have the same issue. The cause of the problem is that libpng12-dev as well as qt5-default is not supported in Bullseye and therefore you can not install it.

You can try to install libpng-dev, but still the IDE requires libpng12-dev.

Sad to say, but I think over a year is enough time to provide support for the Bullseye. Buster is not even default-supported in Raspberry imager anymore.

Yeah… honestly, the move would probably be to drop support for the Pi.

Qt needs libpng12-dev. It’s not something I can change in my build system. The only fix is to find a way to install that package.

Okay, so after 28 hours of doing weird stuff, I have a solution for people who wants to keep using OpenMV IDE while still being able to utilize the functionalities of the newer kernels. In my case it was necessary, because I needed to use libcamera (raspistill freezes RPi4) and OpenMV at the same time.

On RPi install Buster release of Raspbian.
Install OpenMV as usual, according to the official manual and script.
Then, upgrade your kernel to 5.15. You can use this: https://forums.raspberrypi.com/viewtopic.php?t=330358 if you do not want to do it fully yourself.
Sudo apt-get update
sudo apt-get upgrade
Should work.

Any commands I should add to my install script? @Painted

If it’s just something simple I can do that.

Sorry - I am not experienced enough to find what could be the possible solution to the install script. Just wanted to post this message in case someone would be in the same need as me. To be honest, in most cases ppl should just stick to the Buster.