I am trying to run FlyCap2 on my NVidia Jetson so that I can use my PointGrey FireFly MV machine vision camera. I am unable to run the main program because it is lacking a glade library. Any idea what the library is, and if such a library will be available for the ARM7 embedded linux architecture?
ubuntu@tegra-ubuntu:~/Downloads/flycapture.22.214.171.124_armhf/bin$ sudo ./FlyCap2 ./FlyCap2: error while loading shared libraries: libglademm-2.4.so.1: cannot open shared object file: No such file or directory ubuntu@tegra-ubuntu:~/Downloads/flycapture.126.96.36.199_armhf/bin$
Luckily it seems the Point Grey Imaging libraries are working well, and I am able to capture some frames on my FireflyMV camera using another example. I may just end up jumping into OpenCV, but it would be nice to solve this glade library issue.
ubuntu@tegra-ubuntu:~/Downloads/flycapture.188.8.131.52_armhf/bin$ sudo ./FlyCapture2Test FlyCapture2 library version: 184.108.40.206 Application build date: Oct 9 2014 13:45:38 Number of cameras detected: 1 *** CAMERA INFORMATION *** Serial number -9420273 Camera model - Firefly MV USB FMVU-03MTM Camera vendor - Point Grey Research Sensor - Micron MT9V022177ATM (1/3" 640x480 CMOS) Resolution - 752x480 Firmware version - 0.9.2.12 Firmware build time - Sun Oct 26 02:34:55 2008 Grabbed image 0 Grabbed image 1 Grabbed image 2 Grabbed image 3 Grabbed image 4 Grabbed image 5 Grabbed image 6 Grabbed image 7 Grabbed image 8 Grabbed image 9 Done! Press Enter to exit...
Below is the README that came with FlyCapture ARM version. I followed the install instructions, moving the appropriate libraries to/usr/lib.
ubuntu@tegra-ubuntu:~/Downloads/flycapture.220.127.116.11_armhf$ cat README_ARM FlyCapture2 ARM README 1) Overview FlyCapture2 has been tested on a pandabard which is available from www.pandaboard.org. FlyCapture2 ARM should also work on other TI OMAP hardware such as the beagleboard. The library and all its dependencies have been compiled using the CodeSourcery cross compiler. This readme will not go in too much detail on how to configure an OMAP device and how to load a linux operating system on it. It will concentrate on installation of the FlyCapture2 library. 2) Prerequisites * Pandaboard or other OMAP device (recommended is a pandaboard at www.pandaboard.org) * Linux distribution on the Pandaboard (recommended is ubunut 11.04 at https://wiki.ubuntu.com/ARM/OmapNetbook) * A PGR usb Camera * A powered USB hub. The pandaboard does not provide enough power to operate the camera. 3) Installation 1. Copy your flycapture-<version>_arm.tar.gz package on a network or usb drive and copy it to a location on the pandaboard. 2. untar the installation package: > tar xvfz flycapture-<version>_arm.tar.gz 3. copy all libraries to system folders: > cd flycapture-<version>_arm/lib > sudo cp libflycapture.so* /usr/lib 4. configure permissions to run PGR cameras: > sudo sh flycap2-conf 5. follow the instructions that the script takes you through 6. Restart your board. 4) Running FC2 Examples You should be able to go into the flycapture-<version>_arm/bin folder where you extracted the package and launch any of the examples. They will run and grab some images but will error out when trying to convert between image formats. In the full release versions of FlyCapture2 ARM we will provide examples that run fully but due to the fact that there is no IPP availability on ARM the image conversions will not work in the current state of the library. Also there will be no AVI saving in this version of the library. 5) Compiling software against flycapture. There are a number of ways you can build your software to run on an OMAP board with flycapture. 1. Build software right on the board using gnu compiler tools by installing in the least the build-essentials package from ubuntu repository. 2. Use a cross compiler to build for the target architecture. One such cross compiler that works well is CodeSourcery. 3. Set up an ARM emulator using QEmu and install ubuntu on it. Then build your software on the virtual machine.
UPDATE: I think this library might have something to do with "glade" which is an XML description of a user interface. Indeed, on closer look I saw two .glade files, including one referencing GTK:
ubuntu@tegra-ubuntu:~/Downloads/flycapture.18.104.22.168_armhf/bin$ ls AsyncTriggerEx FlyCapture2Test-9420273-4.pgm C FlyCapture2Test-9420273-5.pgm CustomImageEx FlyCapture2Test-9420273-6.pgm ExtendedShutterEx FlyCapture2Test-9420273-7.pgm FlyCap2 FlyCapture2Test-9420273-8.pgm FlyCap2.glade FlyCapture2Test-9420273-9.pgm FlyCapture2GUI_GTK.glade GigEGrabEx FlyCapture2Test GrabCallbackEx FlyCapture2Test-9420273-0.pgm HighDynamicRangeEx FlyCapture2Test-9420273-1.pgm ImageEventEx FlyCapture2Test-9420273-2.pgm MultipleCameraEx FlyCapture2Test-9420273-3.pgm
Installing libglade2-dev and libgladeui-dev did not help unfortunately.