I am struggling to find what happened to my code... Here's the story (I'll try to make it quick).
I have a very mature (and complex) project based on raspberry pi with raspicam. The code has been used for about 5 years now, of course with many fixes and improvements throughout the years. All my code base is cross-compiled on a ubuntu-based laptop (16.04 LTS). Recently, I changed my hard drive to a brand new SSD (yay!) and apparently this is where the problems started to rise.
I re-installed the tool-chain to cross-compile for my RPi, and I found that arm-linux-gnueabihf-gcc had moved up to version 5. So I re-compiled all my code with the new toolchain, copied my executable on the RPi and...
I suspected I messed up different pieces of code, build with different versions of gcc, so I tried down-grading to version 5 to 4.9 to 4.8 (which I have used for years to build this project), but to no result. Investigating deeper in the error of MMAL it comes out that the mmal_component_create() function I am calling to create the camera component fails with status code 4, which should be ENOSYS "Function not implemented".mmal: mmal_component_create_core: could not find component 'vc.ril.camera'
I have to admit it... I have run out of ideas. How to investigate further the problem?
Please note that:
- raspivid is working correctly
- sudo rpi-update already tried... nothing changed
- tried on a brand new raspbian... nothing changed
- tried with older version of the code (build with the new gcc)... nothing changed, I still got the error