Skip to content

3.0 Compiling Flamingo

Michael Kallitsis edited this page Oct 27, 2021 · 1 revision

Compiling Flamingo

Please take notes on your efforts and update this WIKI!

Flamingo was developed under Unix. Like many Unix programs, Flamingo depends on libraries, some of which may not be installed on your system, and will need to installed before you can successfully compile Flamingo.

Dependencies include; libghc-gtkglext-dev, libglade2-dev, libgtk2.0-dev, flow-tools-dev, automake, autoconf, libpcap-dev

Flamingo is usually installed in /usr/local/share/flamingo

You will probably want to select a machine with a lot of disk space for the server. The larger the disk space, the longer you can hold onto archived flow data.

Ubuntu (Current release)

The current release of Ubuntu contains a version of GtkGLExt which has deprecated a routine used by the Flamingo client to render text in the 3D view area, “gdk_gl_font_use_pango_font”.

You could try using a version of GtkGLExt older than the version dated 2010-04-26 and otherwise follow the instructions below for older versions of Ubuntu.

For a server only or for a developmental client the instruction below should work for the current version of Ubuntu.

Ubuntu 10.10 and prior

sudo apt-get install libghc-gtkglext-dev libglade2-dev libgtk2.0-dev flow-tools-dev automake autoconf libpcap-dev libglade2-dev
./autogen.sh
./configure
make
sudo make install

(Then to run)

pond
sudo flamingo

BSD

Following the above on a BSD box we found the following problems and solutions.

root@pond:/usr/local/share/flamingo # ./configure
checking for a 
…
checking for arpa/inet.h... yes
./configure: 4313: Syntax error: word unexpected (expecting ")")
root@pond:/usr/local/share/flamingo #

This was also a dependency on pkg-config

cd /usr/ports/devel/pkg-config
make install

Then this;

cd /usr/local/share/flamingo
root@pond:/usr/local/share/flamingo # ./autogen.sh
root@pond:/usr/local/share/flamingo # ./configure
…
configure: error: ftlib.h not found
root@pond:/usr/local/share/flamingo #

This, and other files existed in /usr/local/include and /usr/local/lib but could not be found. Creating the following links in /usr/include and /usr/lib provided a work around.

In /usr/include create the following symbolic links,

ftlib.h -> /usr/local/include/ftlib.h

ftpaths.h -> /usr/local/include/ftpaths.h

ftqueue.h -> /usr/local/include/ftqueue.h

radix.h -> /usr/local/include/radix.h

like this,

ln -s /usr/local/include/ftlib.h /usr/include/ftlib.h
ln -s /usr/local/include/ftpaths.h /usr/include/ftpaths.h
ln -s /usr/local/include/ftqueue.h /usr/include/ftqueue.h
ln -s /usr/local/include/radix.h /usr/include/radix.h

then,

mkdir /usr/include/GL

In this directory create these links

gl.h -> /usr/local/include/GL/gl.h

glext.h -> /usr/local/include/GL/glext.h

Then in /usr/lib create these links

libGL.so -> /usr/local/lib/libGL.so

libGL.so.1 -> /usr/local/lib/libGL.so.1

libGLU.la -> /usr/local/lib/libGLU.la

libGLU.so -> /usr/local/lib/libGLU.so

libGLU.so.1 -> /usr/local/lib/libGLU.so.1

perhaps even like this

cd /usr/local/lib
ls *GL*
foreach i ( *GL* 
ln -s /usr/local/lib/$i /usr/lib/$i
end

Now back to /usr/local/share/flamingo

./configure
make
make install

Linux

Add Linux instructions here

Solaris

Add Solaris instruction here

Note

The following switches on configure can be handy.

./configure --enable-client-only (to only attempt the client code)

./configure --enable-server-only (to only attempt the server code)

You can start the server (pond) and/or the client (flamingo) like this, in Bash, to turn on debugging messages.

G_MESSAGES_DEBUG=all pond &

G_MESSAGES_DEBUG=all flamingo &

How do I know when I'm done?

You should be able to launch the server (pond) and have it run as a damon.

(If pond only yacks about not finding pond.conf, that's OK the next section [Setting Up a System](4.0 Setting Up a System) will help)

You should also be able to launch the client (under x-windows) and have these three windows open.

FreshLaunch.bmp

Note also the white text labels around the cube and the white square.

If you have all of these things you can move on to [Setting Up a System](4.0 Setting Up a System) and/or [Using Flamingo](5.0 Using Flamingo)

Clone this wiki locally