[About] [News] [Documentation] [Screenshots]
Table of Contents
Bugle is intended to work on any POSIX-compliant operating system
that use the X Windowing System, dynamic linking, and
LD_PRELOAD for library interposition. If it fails
to work on such an operating system, please let me know (I only
use it on GNU/Linux). It is also supported on Windows, although
this support is less complete. It also includes highly
experimental and incomplete support for OpenGL ES 2 on Windows.
The following packages are required to compile bugle:
The following packages are not required, but if present, will enable extra functionality:
- readline
This will enable line editing in the console debugger. The GUI debugger is the preferred method of debugging.
- GTK+
This is needed for the GUI debugger.
- gtkglext
This is needed for the texture and framebuffer viewers in the GUI debugger.
- GLEW
GLEW is also needed for texture and framebuffer viewers.
- FFmpeg
If FFmpeg is available, the included
libavcodecis used for video capture.
Bugle uses the standard configure command for
compile-time configuration. Generic instructions may be found in
INSTALL in the root of the source directory.
In general, configure will auto-detect optional
packages and use them only if present, but you can also prevent it
from depending on certain packages with the following flags.
FFmpeg (lavc) in particular is a moving target and if you get
compilation failures, you should try disabling it.
--without-lavc--without-readline--without-gtk--without-gtkglext
Bugle does not use threads itself, but applications that it
debugs might, and bugle needs to use appropriate locking and
thread-local storage libraries. The correct option should be
auto-detected, but you can force it with
--enable-threads=model.
Valid models are posix and
win32.
Finally, bugle intercepts events from X11. While there are no
known cases of this causing problems, it is difficult to make
the interception completely transparent, and so the
--disable-xevent option is
available to disable it at compile time.
Compilation is as simple as running make.
Before installing, you should remove any previous installation of
bugle to avoid leaving old versions of files around. If you do not
have your original installation tree to run make
uninstall, you should at least remove the files in
and
/usr/local/lib/bugle.
To install the new version, run /usr/local/lib/libbugle*make
install as root.
Next, you need to install some files for the user that will run
bugle. Create a directory $HOME/.bugle, and copy
doc/examples/filters and
doc/examples/statistics into it.
Installing from source on Windows is supported, but it is significantly trickier than on UNIX-like systems, and currently only recommended for experts. The intended target is MinGW; you can try using Cygwin as well, but it is not tested.
Here is the list of steps I used to install on Windows, including support for the debugger. The versions numbers were the latest available at the time, but newer versions should work too.
Install MinGW 5.1.4, including GCC and G++, but not make.
Install MSYS 1.0.10.
Install msysDTK 1.0.1.
Downloaded
mingw-libgnurx-2.5.1-bin.tar.gzandmingw-libgnurx-2.5.1-dev.tar.gzfrom the MinGW page, and unpacked both into/mingw(i.e., the directory in which MinGW is installed).Download the GTK+ bundle (2.12.11) from gtk.org, and unpack it into
/mingw.Get the gtkglext installer from http://www.bonifazi.eu/appunti/, and install it into
/mingw.Download GLEW 1.5 and unpack it into a temporary location, then copy the
lib,binandincludedirectories into/mingw.Grab the latest
glext.handwglext.hheaders, and put them in/mingw/include/GL.
After installation, you will have a
opengl32.dll file installed. When debugging a
program, you need to place this on the path ahead of the real one.
This can be achieved by copying it to the same directory as the
program you intend to debug.

