I can't seem to use gdb to debug my first glx application

when i try to use gdb to debug my first ever glx application, i get an error that looks like:

cannot find user-level thread for LWP 5649: capability not available.

incidently there are no bugs in the code, i just wanted to see if the debugger would work.

-g is the gcc compiler option of debug mode is it not?

i found plenty of references to this sort of error on the internet, but nothing particularly useful.

if this is normal, is there another debugger which might be more complient?

sincerely,

michael

hmm that’s odd…

try compiling again with -g3 [add LOTS of debugging]. also, try passing -lpthreads.

let us know if that works [or not]

:regards:

“try compiling again with -g3 [add LOTS of debugging]. also, try passing -lpthreads.”

no luck e_e… i’m assuming you mean -lpthread and g3 had no effect on the error.

ti the edit box is acting crazy, i can’t seem to delete or back space oso i’m going to have to send this off…

anyhow, i’d apreciate any other idaeas anyone might have.

sincerely,

oops i forgot i had overridden the debug variable to -ggdb, but still no difference…

is there any difference between -ggdb and -g3?

is there any way to build a glx program without threads?

this is really my last step to a decent linux development environment. i’ve managed to set up anjuta for a decent ide, though i’m not using it for building… i have to manually use symbolic links to the top level directory in its ‘project module sub-directories’, but other than those minor inconveniences it beats msvc hands down. well so far at least, once i start bringing my work in, i’m sure the complete builds will be relatively intolerable… i will have to figure out the autotools, because i don’t think anjuta is up to the task in the build department, at least not for my purposes.

it would be nice though if konqueror allowed for linking files with the drop down box similar to the mouse/menu ‘copy/paste’ procedure.

sincerely,

michael

btw, what order should the libraries be linked?

in the order i recall them i used:

gl glu x11 lm pthread xext xf86vm

something like that… i think that is all of them.

could the order cause the error.

make is not procedural, but i don’t know that library tags are kept, so maybe the order might make a difference??? still i might think that it wouldn’t compile if so… i’m just trying to cover all of the bases.

i really need to figure this out.

sincerely,

michael

Hmm, I’d say it couldn’t hurt if you have a look at the make manual: gnu make You don’t need to read the whole manual.
Just get an overview about make.
And here is the link to the compiler documentation you’re probably using: gcc

naturally i’ve been regularly consulting the make and gcc man and info resources.

my question though, is i assume you’ve read the said material to an extent so much to satisfy your curiosities. so unless you are holding back some useful suggestions, i can’t imagine how my cover to cover assimilation of those materials would shed any light on my gdb dilemma.

naturally i first consult any and all available resources even vaguely related to the problem at hand.

sincerely,

michael

follow up: i did find a simple mouse method to make links of large groups of files. it is only that the source and destination ‘directories’ must be open. -michael

Originally posted by <michael>:
[b]naturally i’ve been regularly consulting the make and gcc man and info resources.

my question though, is i assume you’ve read the said material to an extent so much to satisfy your curiosities. so unless you are holding back some useful suggestions, i can’t imagine how my cover to cover assimilation of those materials would shed any light on my gdb dilemma.

naturally i first consult any and all available resources even vaguely related to the problem at hand.

sincerely,

michael[/b]
I didn’t want to offend you but I had the impression that these manuals could be useful to you.
The only ‘useful’ information I could find was the suggestion to upgrade gdb to the newest version.

no offence naturally…

i will try a newer gdb release… i believe i’m using 5.3, i think i’ve read of versions upward of 6.5.

i figure my version is the debian ‘testing’ version… is there no problem with mixing newer applications with older distributions?

sincerely,

michael

the unstable version, 6.1-3, seemed to do the trick.

thanks everyone, i hope there are no more troubles here.

sincerely,

michael

Just an FYI -

There are ways to code an OpenGL app without using glx directly. For example, I use SDL for windowing and input. This enables me to use the same source for Windows and Linux.

I use GDB extensively without any problems.

Another tip - never, ever try to debug a full-screen app that grabs the mouse. I can’t tell you how many times I have done that. The app freezes on the breakpoint, but there is no way to get back to GDB without the mouse. At that point, I usually ctrl-alt-f7 to a console prompt, manually kill the process, then return with f7. Then try again with the app properly windowed and mouse left ungrabbed.

Good luck!!!

If you add the line

Option "AllowDeactivateGrabs" "true" 

to your XF86Config file in the ServerFlags section, you can use Ctrl+Alt+Keypad-Divide to deactivate the mouse/keyboard grab without killing the app. I usually start my fullscreen app on one workspace and use a hotkey to switch to a different workspace that has my debugger window.

This has security implications if you’re using a locking screensaver though.

Michael,

Don’t have any advice on the gdb problem, but as for automatic build environment I think http://www.scons.org/ is a fairly good choice. Uses Python as its scripting language. It is far simpler to use than the autotools in my opinion, so you might want to give it a try.

// ville

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.