1

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.2.7.3.13_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.2.7.3.13_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.2.7.3.13_armhf/bin$ sudo ./FlyCapture2Test
FlyCapture2 library version: 2.7.3.13
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.2.7.3.13_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.2.7.3.13_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.

1

README in Linux x64 version of FlyCapture2 says:

DEPENDENCIES:

  1. libraw1394-8
  2. libgtkmm-2.4-dev
  3. libglademm-2.4-dev
  4. libgtkglextmm-x11-dev (libgtkglextmm-x11-1.2-dev in Ubuntu 8.10 and up)
  5. libusb-1.0 (Only in Ubuntu 9.04 and up)

Ubuntu 12.04:

sudo apt-get install libraw1394-11 libgtk2.0-0 libgtkmm-2.4-dev libglademm-2.4-dev libgtkglextmm-x11-1.2-dev libusb-1.0-0

Ubuntu 10.04:

sudo apt-get install libraw1394-11 libgtk2.0-0 libgtkmm-2.4-dev libglademm-2.4-dev libgtkglextmm-x11-1.2-dev libusb-1.0-0

Ubuntu 9.04:

sudo apt-get install libraw1394-8 libgtk2.0-0 libgtkmm-2.4-dev libglademm-2.4-dev libgtkglextmm-x11-dev libusb-1.0

Ubuntu 8.10:

sudo apt-get install libraw1394-8 libgtk2.0-0 libgtkmm-2.4-dev libglademm-2.4-dev libgtkglextmm-x11-1.2-dev

Ubuntu 8.04:

sudo apt-get install libraw1394-8 libgtk2.0-0 libgtkmm-2.4-dev libglademm-2.4-dev libgtkglextmm-x11-dev

libusb-1.0 for distributions earlier than 9.04 can be obtained from the Point Grey downloads section. libusb-1.0 can be then be manually installed by double clicking the extracted .deb package and following the instructions.

After installing raw1394 you may need to add the raw1394 module to be loaded on start.
To do this just add "raw1394" to the /etc/modules file.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.