- Q: How do I build a 32-bit version of bugle on an AMD64 system?
- Q: Why is a recent (>4.0) version of GCC required?
- Q: Why I am getting an error like Invalid option -fdump-translation-unit?
- Q: I get an error trying to move gl.c.tu, saying that the file does not exist.
- Q: When I compile with GCC 4.2, compilation seems to hang on src/lib.c.
- Q: I am getting the error could not find GL/glext.h.
- Q: I am using the NVIDIA header files, and I am getting errors about conflicting definitions.
- Q: I am using Gentoo, and during compilation of bugle I get errors similar to this: /usr/lib/opengl/nvidia/lib/libGLcore.so.1: undefined reference to `_nv000016gl'.
- Q: I am using Fedora 10, and when I run glxgears under bugle it exits with the message Error: couldn't get an RGB, Double-buffered visual.
- Q: I am using ATI drivers and when I run configure, it does not find glBegin in -lGL.
How do I build a 32-bit version of bugle on an AMD64 system?
The exact details will depend on your OS. Here is what I do on Gentoo:
Why is a recent (>4.0) version of GCC required?
Bugle is driven by a number
of tables that list all the information about the
various types and functions in OpenGL. To capture this
information, it is necessary to parse the OpenGL
header files. It would be very difficult to write a
parser to do this robustly, but GCC already knows how
to do this. Unfortunately, the ability to extract a
parse tree from GCC (the
To avoid namespace pollution, bugle passes
Why I am getting an error like
You need to use a version of GCC that supports this flag. See the previous question for details.
I get an error trying to move
You are probably using GCC
4.0, which has broken support for
When I compile with GCC 4.2, compilation seems to hang
There is a performance bug in GCC 4.2.2, possibly
but possibly not. Either downgrade to 4.1, upgrade to
a version where the bug is fixed, or compile without
I am getting the error
You need to have this file, as it defines extensions
to OpenGL that an application might use. You can
obtain the latest copy from http://www.opengl.org/registry. If you
don't want to put it in your system include
directories, you can create a
I am using the NVIDIA header files, and I am getting errors about conflicting definitions.
Try upgrading to the latest NVIDIA drivers. The 60 series seem to fix many of the problems in older header files.
Alternatively, use the headers from Mesa. You can
place them into a
I am using Gentoo, and during compilation of bugle I
get errors similar to this:
This seems to be a problem with Gentoo's system for switching between OpenGL drivers, that causes part of the build process to use the X11 software drivers. A workaround is to switch to the X11 drivers for compilation and installation of bugle:
I am using Fedora 10, and when I run
glxgears under bugle it
exits with the message
This seems to be caused by having two different
I am using ATI drivers and when I run configure, it
does not find
I have had this reported by one Debian user, but
didn't get further details on hardware or driver
version. It appears that this version depended on but
did not link to libpthread. While it is possible to
hack this in
- Q: I just upgraded bugle and now it crashes. What's wrong?
- Q: What is the performance penalty?
- Q: I wrote LD_PRELOAD=libbugle.so program and it failed, what's up?
- Q: How do I get a stack trace when my program crashes inside the OpenGL driver?
- Q: Do I need to always set BUGLE_CHAIN?
- Q: Can I avoid using LD_PRELOAD?
- Q: How do you get SDL-based apps to use BuGLe?
- Q: How do you get Quake3 or Doom3 to use BuGLe?
- Q: How do you get QT-based apps to use BuGLe?
- Q: I am using GL_EXT_framebuffer_object to render to texture, but the results do not appear in the texture viewer of gldb-gui.
- Q: How can I use bugle to debug WebGL applications?
I just upgraded bugle and now it crashes. What's wrong?
You may have ended up with a mix of old and new
versions that don't work together. Try removing all
files related to the previous version
of bugle (in particular,
What is the performance penalty?
That depends on what you're doing with the library. If you only use filter-sets that intercept a few functions (like showstats), then all other functions suffer only a small penalty. Using filter-sets that check for error after every function (including showerror and the debugger) adds a much bigger penalty.
To give you an example, here are some rough numbers for
Quake3 1.34_rc3 (64-bit build from source) on
Tracing is particularly slow because it does file I/O, as well as a lot of text formatting. The overhead will also depend on the CPU/GPU balance. GPU-bound programs will be less affected by overheads.
You either need to specify a full path to
How do I get a stack trace when my program crashes inside the OpenGL driver?
Use the bugle-unwindstack(7) filter-set. See the manual page for more information.
Use the bugle-log(7) filter-set, and turn
Do I need to always set
No, the first chain in the configuration file is the default.
Can I avoid using
Yes, you can specify
How do you get SDL-based apps to use BuGLe?
On GNU systems, they should work as is. On some systems, it may be necessary to run them as
How do you get Quake3 or Doom3 to use BuGLe?
On GNU systems, they should work as is. On some systems, run it as
Note that Quake3 and Doom3 are 32-bit binaries, so if you have an AMD64 system you will need to compile a 32-bit bugle.
How do you get QT-based apps to use BuGLe?
On GNU systems, they should work as is. There is
currently no known workaround for systems that don't
I am using GL_EXT_framebuffer_object to render to texture, but the results do not appear in the texture viewer of gldb-gui.
This is a known bug in NVIDIA's 76.76 driver. It is fixed in the 80 series drivers. The results should appear in the framebuffer viewer.
How can I use bugle to debug WebGL applications?
This is a little tricky because of the way modern
browsers use multiple processes, so your mileage might
vary. It probably also depends on details of the WebGL
implementation and also on whether the browser uses
OpenGL for its rendering engine. I have been able to
successfully attach the debugger to a WebGL
application in Chromium under Ubuntu using a the section called “TCP/IP connection” and passing
On my system, chromium-browser is
actually a shell script that launches the executable.
Rather than setting