Fawkes on FreeBSD
Table of Contents
FreeBSD is supported as a secondary development platform for Fawkes. FreeBSD provides us with an opportunity to look at Fawkes from a different perspective. We currently support FreeBSD 7.2 and up, but strongly recommend to use 8.x. It has been included in our build farm.
Here is a short description how to start hacking on Fawkes on FreeBSD. This assumes that you are at least somewhat familiar with FreeBSD and know how to install packages and ports.
Basics for FreeBSD
If you plan to use FreeBSD for a longer time you should get ccache as well. It is really worth knowing the FreeBSD Handbook. Many things described in this document are excerpts from this handbook. To install a port briefly do the following (replace $PORT with the port name listed below:
cd /usr/ports/$PORT make install clean
To find a port use the whereis tool, for example:
whereis lua
Getting the dependencies
On FreeBSD quite a few addon packages must be installed. Here is a short trail how to get everything installed.
# # Note: install nothing but only the textproc/libxml++26 package! # # Note: install only lang/tolua++, deny questions for other packages # for p in shells/bash shells/bash-completion devel/gmake devel/subversion sysutils/file \ databases/sqlite3 security/openssl textproc/libxml++ bpkg graphics/jpeg net/avahi \ dns/nss_mdns lang/lua lang/tolua++ x11-toolkits/gtkmm24 devel/libglademm24 \ devel/sdl12 11-toolkits/gtksourceview2 graphics/gts graphics/opencv math/gsl \ x11/gnome-libs www/libmicrohttpd databases/rrdtool graphics/graphviz; do \ cd /usr/ports/$p; \ make install clean; \ done # echo 'dbus_enable="YES"' >> /etc/rc.conf # echo 'avahi_daemon_enable="YES"' >> /etc/rc.conf
You should keep your ports up2date as much as possible. There are some tools that help with this.
# bpkg ports-mgmt/portupgrade # bpkg ports-mgmt/portaudit # portaudit -a -F # (shows vulnerable installed ports) # pkg_version -v # (shows up2date status of installed ports) # portupgrade -ai # (upgrades all installed ports interactively)
Useful tips
It is probably a good idea to install Vim or Emacs to work on the software:
# cd /usr/ports/editors/vim # make install clean # cd /usr/ports/editors/emacs # make install clean # echo "alias vi='vim'" >> ~/.bash_profile
If you access FreeBSD for example via SSH it can happen that the arrow keys do not work properly in vim. This problem is described with a solution in Vim TIP 550. Just do cp -i /usr/local/share/vim/vim71/vimrc_example.vim ~/.vimrc and this problem disappears. We found that commenting out the line "set mouse=a" restored xterm copy'n'paste for vi. To get nice terminal captions for xterms that have a ssh session to a FreeBSD machine we add the following to /etc/profile:
if [ "$BASH" ]; then
if [ -f /usr/local/etc/bash_completion ]; then
. /usr/local/etc/bash_completion
fi
# are we an interactive shell?
if [ "$PS1" ]; then
case $TERM in
xterm*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"'
;;
screen)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"'
;;
esac
# Turn on checkwinsize
shopt -s checkwinsize
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
fi
fi
alias vi='vim'
Building Fawkes
The Fawkes build systems needs GNU Make and the bash. Both have to be installed. Then you have to make sure to always call gmake and not make!
What to expect
The main application will run and all the basic functionality is available. The camera can work on shared memory images, files and network images. Currently no native camera exists for FreeBSD.
Attachments
-
beastie.png
(28.4 KB) - added by tim
4 years ago.
BSD Daemon

