Manual Build

Setting the Environment

The BitFlow user access library, libBFciLib.a, requires that an environment variable, BITFLOW_INSTALL_DIRS, be set to contain the full path to the driver distribution package, the firmware files, and the camera files.

This will usually be 3 directories and they should be separated by a semicolon character. The installation directory should be the first directory specified.

$export BITFLOW_INSTALL_DIRS=/bitflow/driver\;/bitflow/flash\;/bitlow/camf

Any directories can be chosen for installation so long as the BITFLOW_INSTALL_DIRS environment variable is set appropriately.

Note

If you use the ‘install’ script there is no environment requirement. However you will still need to set BITFLOW_INSTALL_DIRS to run some of the examples.

Multiple versions of the BitFlow linux driver can exist on the same PC. The BITFLOW_INSTALL_DIRS environment variable will unambiguously specify which driver files are active.

Note

If you are using shared object libraries (libBFSOciLib.X.X.so) then you must also set LD_LIBRARY_PATH to include the apropriate 32b/64b distribution “lib” directory.

For example:

$ export LD_LIBRARY_PATH=/bitflow/driver/32b/lib

or

$ export LD_LIBRARY_PATH=/bitflow/driver/64b/lib

Building the kernel module

To build a bitflow.ko module for a custom linux kernel:

  • configure and compile the custom kernel

  • change directory to the drv subdirectory of the BitFlow distribution

  • copy the Makefile appropriate for your hardware, e.g.,

    $ cp Makefile_32b Makefile
    $ make -C <full path to custom kernel srcs> M=`pwd`
    

    or

    $ cp Makefile_64b Makefile
    $ make -C <full path to custom kernel srcs> M=`pwd`
    

If you do not have full kernel sources then a module compatible with the currently executing kernel will usually build with

$ cp Makefile_32b Makefile
$ make -C /lib/modules/`uname -r`/build M=`pwd`

or

$ cp Makefile_64b Makefile
$ make -C /lib/modules/`uname -r`/build M=`pwd`

Building the example programs

To build new copy of the CIexample, CIsimple, CISOexample, CISOsimple, and CIpassive executables:

  • change directory to src

  • type

    $ make -f Makefile_32b
    

    or

    $ make -f Makefile_64b
    

Note

As of the v9.xx BitFlow SDK you must have g++ available on the PC because the BitFlow SDK libraries are class-based. The BitFlow SDK interface is still “C” based but linking will fail w/o the g++ tools.

Note

As of the v9.04 BitFlow SDK there are CIsimpleFile and CIsimpleUserDMAfile sources available. These will only build if the TIFF development libraries are installed on the linux PC.