public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* gdbtk ...completely broken?
@ 2022-07-26  8:07 Simon Sobisch
  2022-07-27 14:14 ` Keith Seitz
  0 siblings, 1 reply; 3+ messages in thread
From: Simon Sobisch @ 2022-07-26  8:07 UTC (permalink / raw)
  To: gdb

After checking gdb --help I've wondered about the following:

   -w                 Use the GUI interface.
   --nw               Do not use the GUI interface.

it took a while to find out that `-w` only applies if GDB is configured 
with the GUI option and much more that this relates to --enable-gdbtk.

It seems that the documentation may be improved here:
* for GDB "Mode options" [1] (to at least mention what that GUI is)
* for gdb's --help (ideally not showing -nw / -w if the alter is not 
available or an additional line that tells it is ignored)
* for gdb's configure.ac to tell that --enable-gdbtk is about its -w 
option doing something

I've then tried to re-built GDB 12.1 using `configure --enable-gdbtk`, 
result: everything is built, -w doesn't do anything. Checking 
configure.log shows that it did not pick up tcl because it did not found 
tclConfig.sh (which isn't in PATH but under /usr/lib64), so re-tried 
with an additional --with-tcl; same result, configure.log now shows that 
tkConfig.sh is not found (which isn't in PATH but under /usr/lib64), so 
additional specified --with-tk which got me through configure with a 
build that would use gdbtk.

So far - I consider this a bug in gdb's configure.ac: if --enable-gdbtk 
is explicit specified and one of
* the OS does not match (seen in configure.ac when checking) [not sure 
that this is necessary / useful as we have the follow-up checks]
* tclConfig.sh is not found
* tkConfig.sh is not found
then it would be most reasonable to abort configure, giving a clear 
error message what the issue is.


Going on with `make -j8 -k; make -k`...

make[2]: Entering directory '/tmp/gdb-12.1/build_tk/gdb'
make[2]: *** No rule to make target 'gdbtk-bp.c', needed by 'gdbtk-bp.o'.
make[2]: *** No rule to make target 'gdbtk-cmds.c', needed by 
'gdbtk-cmds.o'.
make[2]: *** No rule to make target 'gdbtk-hooks.c', needed by 
'gdbtk-hooks.o'.
make[2]: *** No rule to make target 'gdbtk-interp.c', needed by 
'gdbtk-interp.o'.
make[2]: *** No rule to make target 'gdbtk-register.c', needed by 
'gdbtk-register.o'.
make[2]: *** No rule to make target 'gdbtk-stack.c', needed by 
'gdbtk-stack.o'.
make[2]: *** No rule to make target 'gdbtk-varobj.c', needed by 
'gdbtk-varobj.o'.
make[2]: *** No rule to make target 'gdbtk-wrapper.c', needed by 
'gdbtk-wrapper.o'.
make[2]: *** No rule to make target 'gdbtk.c', needed by 'gdbtk.o'.
make[2]: *** No rule to make target '../libgui/src/libgui.a', needed by 
'gdb'.
   CXX    main.o
../../gdb/main.c:53:10: fatal error: gdbtk/generic/gdbtk.h: No such file 
or directory
  #include "gdbtk/generic/gdbtk.h"
           ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.


rechecked: those files are not part of the gdb distribution and I also 
did not found them when checking GDB git either.


Where are the necessary source files?
Should gdb's configure assume they exist or test for them (and again: 
error on --enable-gdbtk)?


I also did not found anything about this on the GDB bug database - so: 
Do I something totally wrong?

Simon


[1]: https://sourceware.org/gdb/onlinedocs/gdb/Mode-Options.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: gdbtk ...completely broken?
  2022-07-26  8:07 gdbtk ...completely broken? Simon Sobisch
@ 2022-07-27 14:14 ` Keith Seitz
  2022-07-27 15:09   ` Simon Sobisch
  0 siblings, 1 reply; 3+ messages in thread
From: Keith Seitz @ 2022-07-27 14:14 UTC (permalink / raw)
  To: Simon Sobisch, gdb

On 7/26/22 01:07, Simon Sobisch via Gdb wrote:
> After checking gdb --help I've wondered about the following:
> 
>    -w                 Use the GUI interface.
>    --nw               Do not use the GUI interface.
> 
> it took a while to find out that `-w` only applies if GDB is configured with the GUI option and much more that this relates to --enable-gdbtk.

"gdbtk" refers to Insight, which is now located in a different GIT repository.

> Where are the necessary source files?

Clone sourceware.org/git/insight.git and follow the README. It uses submodules
to pull in binutils-gdb.

> Should gdb's configure assume they exist or test for them (and again: error on --enable-gdbtk)?

That's probably something that needs better documentation and perhaps the error.
I'll put it on my TODO list.

Keith


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: gdbtk ...completely broken?
  2022-07-27 14:14 ` Keith Seitz
@ 2022-07-27 15:09   ` Simon Sobisch
  0 siblings, 0 replies; 3+ messages in thread
From: Simon Sobisch @ 2022-07-27 15:09 UTC (permalink / raw)
  To: Keith Seitz; +Cc: gdb


Am 27.07.2022 um 16:14 schrieb Keith Seitz:
> On 7/26/22 01:07, Simon Sobisch via Gdb wrote:
>> After checking gdb --help I've wondered about the following:
>>
>>    -w                 Use the GUI interface.
>>    --nw               Do not use the GUI interface.
>>
>> it took a while to find out that `-w` only applies if GDB is 
>> configured with the GUI option and much more that this relates to 
>> --enable-gdbtk.
> 
> "gdbtk" refers to Insight, which is now located in a different GIT 
> repository.

Ah - I'd say there was a near zero chance to even guess that.

Could you please try to add notes about this in gdb's configure.ac (a 
note on --enable-gdbtk about both the project Insight and about "only 
for using GDB as Insight submodule" - would help a lot) and possibly on 
GDBs mode options docs (something along "-w  start GDB in GUI mode 
(Insight)") and help output, too?
> 
>> Where are the necessary source files?
> 
> Clone sourceware.org/git/insight.git and follow the README. It uses 
> submodules
> to pull in binutils-gdb.

How to get the files without git (newest insight + GDB [12.1] I've 
already on the harddisk)? Is the build info [1] still up-to-date that I 
need to build it with a specific tcl/tk version?


https://sourceware.org/insight/downloads.php seems to be quite outdated, 
too (ftp links don't work here, instead of git web frontend it points to 
cvs)

>> Should gdb's configure assume they exist or test for them (and again: 
>> error on --enable-gdbtk)?
> 
> That's probably something that needs better documentation and perhaps 
> the error.

Thanks, just checking for the necessary source files (before even 
checking tcl/tk), then abort looks most reasonable to me.

I guess this is all rooted in the mentioned TODO 2

 > Get Insight integrated and accepted into the GDB mainline.

Question on that: Is it likely that this will happen someday?


> I'll put it on my TODO list.
> 
> Keith

Thanks again for taking the time to answer!
Simon

[1]: https://sourceware.org/insight/faq.php#q-2.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-07-27 15:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-26  8:07 gdbtk ...completely broken? Simon Sobisch
2022-07-27 14:14 ` Keith Seitz
2022-07-27 15:09   ` Simon Sobisch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).