I've been intending to interface Mathematica with the Raspberry Pi Camera, but it appears device handling in 12.1 is broken. I burnt a brand new install of 32 bit Buster with the output of uname -a as below

Linux dragon 5.4.79-v7+ #1373 SMP Mon Nov 23 13:22:33 GMT 2020 armv7l GNU/Linux

The first time I ran Mathematica all was fine FindDevices[] listed the devices including the camera, after it downloaded an amount data from the Wolfram server. DeviceRead["RaspiCam"] then captured an image as expected.

However, the next time I ran Mathematica and evaluated FindDevices[] I received an error "malloc(): invalid size (unsorted)" followed by a beep with an accompanying message that the kernel had aborted.

Evaluating DeviceRead["RaspiCam"] resulted in the following error on the terminal

/opt/Wolfram/WolframEngine/12.1/SystemFiles/Kernel/Binaries/Linux-ARM/WolframKernel: symbol lookup error: /opt/Wolfram/WolframEngine/12.1/SystemFiles/Components/RaspberryPiTools/LibraryResources/Linux-ARM/libRaspberryPiTools.so: undefined symbol: vc_vchi_dispmanx_init

Evaluating the same on 12.0 results in the expected behaviour.

Anyone know what might be going on?

  • $\begingroup$ This may be best addressed by Wolfram Support. $\endgroup$
    – MarcoB
    Dec 8 '20 at 16:30