This is the mail archive of the
insight@sourceware.org
mailing list for the Insight project.
Insight 64bit windows version
- From: Roland Schwingel <roland at onevision dot com>
- To: insight at sourceware dot org
- Date: Wed, 07 Mar 2012 17:01:22 +0100
- Subject: Insight 64bit windows version
Hi...
Has anyone already tried that too? Any experiences?
Since a few days I am trying to build an insight (based on gdb 7,4) for
windows 64bit using mingw-w64 compilers.
I got already quite far, but not far enough.
I got a big problem in the beginning with the intree tcl/tk/itcl/itk 8.4
based versions. They are IMHO way to old to work on 64bit windows. I
looked at tcl 8.5 which is already way better in regard of win64bit but
still not as good as win64 friendly as tcl/tk 8.6beta.
So I updated my system to the current tcl/tk 8.6 source from the tcl/tk
repos. When running tk's 64bit wish on windows 7 64 I can run the tk
supplied tests just fine. I upgraded itcl/itk also to the most recent
versions (4.0beta) to match the tcl/tk versions. I am using iwidgets 4.0.2.
I also had to give some love to libgui in regard of windows 64bit. It
hasn't got any attention for around a decade so it just refused to build
for win64.
So I can link insight now. For regressions reasons I am also compiling
insight for windows 32 bit and linux 32 bit from the very same source
with the very same compilers and the very same settings. On all
platforms I do get the very same result. Insight bails out with some tcl
errors on startup. I am just starting out to learn tcl to get insight
going but maybe someone can give me a hint whats going wrong here. My
tcl knowledge is still VERY MUCH limited.
Error message appearing in a window:
invalid command name "::.srcwin0.srcwin"
invalid command name "::.srcwin0.srcwin"
while executing
"::.srcwin0.srcwin sizeWinByChild toolbar"
("after" script)
When setting GDBTK_DEBUG to 1 my insight writtes an insight.log. I have
cutted out the relevant pieces:
I GDBWin my {}
I TopLevelWin my .srcwin0.srcwin
I SrcWin my {}
I SrcBar my {No plugins configured, go remove the PlugIn menu...}
I GDBMenuBar .srcwin0.srcwin.container.pane0.childsite.con.menubar
{Enable list is: Color normal}
I SrcBar my normal
I SrcBar my {2 - Browsing=0}
I GDBMenuBar .srcwin0.srcwin.container.pane0.childsite.con.menubar
{Enable list is: Control disabled Trace disabled Other normal Attach
normal Detach disabled }
I GDBToolBar .srcwin0.srcwin.container.pane0.childsite.con.toolbar
{Enable list is: Control disabled Trace disabled Other normal Attach
normal Detach disabled }
E SrcWin my _build_win\ returned:\ can't\ use\ empty\ string\ as\
operand\ of\ \"!\"\n\ \ \ \ while\ executing\n\"if\ \{!\$Tracing\}\
\{\n\ \ \ \ \ \ #\ In\ source-only\ mode,\ disable\ these\ buttons.\ \
Otherwise,\ enable\n\ \ \ \ \ \ #\ them.\n\ \ \ \ \ \ if\
\{\$displaymode\ ==\ \"SOURCE\"\}\ \{\n\tset\ state...\"\n\ \ \ \
(object\ \"::.srcwin0.srcwin.container.pane0.childsite.con\"\ method\
\"::SrcBar::_set_stepi\"\ body\ line\ 4)\n\ \ \ \ invoked\ from\
within\n\"_set_stepi\"\n\ \ \ \ (error\ in\ configuration\ of\ public\
variable\ \"::SrcBar::displaymode\")\n\ \ \ \ (while\ configuring\
option\ \"-displaymode\"\ for\ widget\
\"::.srcwin0.srcwin.container.pane0.childsite.con\")\n\ \ \ \ invoked\
from\ within\n\"::itcl::builtin::Archetype\ itk_initialize\
\{*\}\$args\"\n\ \ \ \ (object\
\"::.srcwin0.srcwin.container.pane0.childsite.con\"\ method\
\"::itk::Archetype::itk_initialize\"\ body\ line\ 2)\n\ \ \ \ invoked\
from\ within\n\"itk_initialize\ -updatecommand\ \{::.srcwin0.srcwin\
toggle_updates\}\ -updatevalue\ 1\"\n\ \ \ \ (\"eval\"\ body\ line\
1)\n\ \ \ \ invoked\ from\ within\n\"eval\ itk_initialize\ \$args\"\n\ \
\ \ while\ constructing\ object\
\"::.srcwin0.srcwin.container.pane0.childsite.con\"\ in\
::SrcBar::constructor\ (body\ line\ 34)\n\ \ \ \ invoked\ from\
within\n\"SrcBar\ \$_toolbar\ \$this\ \ -updatecommand\ \[list\ \$this\
toggle_updates\]\ \ -updatevalue\ \$do_updates\"\n\ \ \ \ (object\
\"::.srcwin0.srcwin\"\ method\ \"::SrcWin::_build_win\"\ body\ line\
6)\n\ \ \ \ invoked\ from\ within\n\"_build_win\"
I SrcWin my {}
E ManagedWin _create {object creation of SrcWin failed: ::.srcwin0.srcwin}
E ManagedWin _create {::.srcwin0.srcwin
invoked from within
"SrcWin .srcwin0.srcwin"
("eval" body line 1)
invoked from within
"eval SrcWin .srcwin0.srcwin"
("uplevel" body line 1)
invoked from within
"uplevel \#0 eval $class $newwin $args"}
I Session notice_file_change {noticed file change event for
D:/OneVision/users/roland/builds/Frameworks/boot/3/_build/mingwin-x86-64/debug/obj/ovcore_unittest/ovcore_unittest.exe}
E global gdbtk_idle {no_inferior_hook error: {hook=::.srcwin0.srcwin
no_inferior args="" invalid command name "::.srcwin0.srcwin"
}}
When I am unwrapping the one big error in the middle It looks like this:
_build_win returned: can't use empty string as operand of "!"
while executing
"if {!$Tracing}
{
# In source-only mode, disable these buttons. Otherwise, enable
# them.
if {$displaymode == "SOURCE"} {
tset state..."
(object "::.srcwin0.srcwin.container.pane0.childsite.con"
method "::SrcBar::_set_stepi" body line 4)
invoked from within
"_set_stepi"
(error in configuration of public variable "::SrcBar::displaymode")
(while configuring option "-displaymode" for widget
"::.srcwin0.srcwin.container.pane0.childsite.con")
invoked from within
"::itcl::builtin::Archetype itk_initialize {*}$args"
(object "::.srcwin0.srcwin.container.pane0.childsite.con"
method "::itk::Archetype::itk_initialize" body line 2)
invoked from within
"itk_initialize -updatecommand {::.srcwin0.srcwin
toggle_updates} -updatevalue 1"
("eval" body line 1)
invoked from within
"eval itk_initialize $args"
while constructing object
"::.srcwin0.srcwin.container.pane0.childsite.con" in
::SrcBar::constructor (body line 34)
invoked from within
"SrcBar $_toolbar $this -updatecommand [list $this
toggle_updates] -updatevalue $do_updates"
(object "::.srcwin0.srcwin" method "::SrcWin::_build_win" body
line 6)
invoked from within
"_build_win"
The error at the end is the same as presented in the alert panel and
maybe results from the first error.
The plain commandline gdb generated with my setup appears to work
without problems on all platforms, so I believe the problems comes from
somewhere iwidgets/itcl/itk/gdbtk tcl code not from C code. It also not
a win64 only problem as I have it on win32 and linux, too. I think there
must be something (hopefully small) which needs to be changed in the tcl
parts of insight/iwidgets.
Any help is very much appreciated,
Roland