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_32bor
$ 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.