This is the mail archive of the
insight@sourceware.org
mailing list for the Insight project.
Re: Using system tcl/tk version 8.5
- From: Gene Smith <gds at chartertn dot net>
- To: insight at sources dot redhat dot com
- Date: Tue, 06 Apr 2010 23:11:59 -0400
- Subject: Re: Using system tcl/tk version 8.5
- References: <hnuuo5$17e$1@dough.gmane.org> <4BA3233C.9090604@redhat.com> <ho1mnb$isa$1@dough.gmane.org> <4BB2DF85.10208@redhat.com>
Keith Seitz wrote, On 03/31/2010 01:37 AM:
On 03/19/2010 10:33 PM, Gene Smith wrote:
Well, it runs and I can almost debug. (I renamed them to 8.4 to get it
to link then changed the names back to 8.5 to run insight.)
This sounds like something very unexpected happened. The build must have
found the wrong versions of the libraries.
I just tried with the real system and openocd server. It runs but is
weird. Sometimes won't step. Keyboard doesn't work in dialogs. Radio
buttons are all highlighted and can't select things. Some strange icons
buttons (a movie camera?). Fonts don't look good.
This is *very* odd. I've never seen this. Could you try starting up with
"-nx" to suppress reading the preferences file. Does that get you any
further? [I don't think this patch is entirely correct, BTW, but
probably close.]
Can you tell me the entire build procedure you used?
With the curent CVS head I can only get a native 64-bit build to work
using insight's own tcl/tk stuff. I am building on a 64-bit f12 and it
works OK debugging a 64 bit c++ linux program. Even reg window seems OK.
I build like this from inside an build directory at same level as
insight_sources:
../insight_sources/configure -v --quiet --prefix=$PREFIX
make
make install
However, this is all I can get to work. If I try to build a 32 bit
insight on 64 bit f12, with insight's own tcl/tk, configured like this,
../insight_sources/configure -v --quiet --prefix=$PREFIX \
CFLAGS="-m32" LDFLAGS="-m32"
I get this error:
rm -f libitk3.3.so
gcc -pipe -shared -o libitk3.3.so itk_cmds.o itk_option.o
itk_archetype.o itk_util.o itkStubInit.o -lX11
-L/home/gene/addons/insight-cvs/insight_build/tcl/unix -ltclstub8.4
-L/home/gene/addons/insight-cvs/insight_build/tk/unix -ltkstub8.4
-L/home/gene/addons/insight-cvs/insight_build/itcl/itcl -litclstub3.3
/usr/bin/ld: skipping incompatible
/home/gene/addons/insight-cvs/insight_build/tcl/unix/libtclstub8.4.a
when searching for -ltclstub8.4
/usr/bin/ld: cannot find -ltclstub8.4
collect2: ld returned 1 exit status
make[3]: *** [libitk3.3.so] Error 1
make[3]: Leaving directory
`/home/gene/addons/insight-cvs/insight_build/itcl/itk'
Making all in iwidgets
make[3]: Entering directory
`/home/gene/addons/insight-cvs/insight_build/itcl/iwidgets'
Nothing to make for target 'all'. Run 'make test' to test the distribution
If I try a native 64bit build with system tcl/tk like this,
../insight_sources/configure -v --quiet --prefix=$PREFIX \
--with-tcl=/usr/lib64 --with-tk=/usr/lib64 --with-itcl=/usr/lib64 \
--with-itk=/usr/lib64
I see this error:
Configuring in ./itcl
config.status: WARNING: ../../../insight_sources/itcl/itcl/Makefile.in
seems to ignore the --datarootdir setting
config.status: WARNING: ../../../insight_sources/itcl/itk/Makefile.in
seems to ignore the --datarootdir setting
configure: error: Can't find Itcl source. Use --with-itcl to specify
the the toplevel incr Tcl directory on your system. (This directory
should contain itcl/library/itcl.tcl, itk/library/itk.tcl, and
config/mkinstalldirs.)
configure: error: ../../../insight_sources/itcl/iwidgets/configure
failed for iwidgets
make[1]: *** [configure-itcl] Error 1
make[1]: Leaving directory `/home/gene/addons/insight-cvs/insight_build'
make: *** [all] Error 2
I can build insight for x86_64/64-bit, but the register window will
crash insight. I will look into that. Otherwise, dialogs all behave
normally, I can step, browse the stack, inspect variables, and
everything else. Only problem I found was the register window.
Reg. window looks OK to me on 64-bit f12.
[For the record, I did this with: 'CFLAGS="-m64" ../src/configure
--enable-64-bit-bfd'. Don't know if that is 100% correct, but it works
better than what you've got! :-/]
I tried the --enable-64-bit-bfd but it didn't help.
I had to specify both. Specifically I had to say:
--with-tcl=/usr/lib64 --with-tk=/usr/lib64
(Without the --with-tk it "couldn't find private tk headers")
After doing this, still no improvement in how it runs. It doesn't crash
but it is basically unusable. Maybe because of 64 bits? I assume I would
need the 32 bit tk/tcl-devel packages to build for 32 bits.
I don't have a lot of experience with 64-bit vs 32-bit, but I would
guess that mixing 32-bit and 64-bit would be bad. Maybe even very bad.
What does "ldd" of your insight executable say? Does it mix 32-bit and
64-bit?
For the record, mine says:
$ ldd insight
linux-vdso.so.1 => (0x00007fff64dff000)
libtk8.5.so => /usr/lib64/libtk8.5.so (0x000000346c400000)
libtcl8.5.so => /usr/lib64/libtcl8.5.so (0x0000003854e00000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x000000346b800000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003553000000)
libm.so.6 => /lib64/libm.so.6 (0x0000003552c00000)
libncurses.so.5 => /lib64/libncurses.so.5 (0x0000003430600000)
libz.so.1 => /lib64/libz.so.1 (0x0000003553800000)
libpython2.5.so.1.0 => /usr/lib64/libpython2.5.so.1.0 (0x0000003569600000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x000000346c000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003552800000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x0000003565e00000)
libXft.so.2 => /usr/lib64/libXft.so.2 (0x0000003473a00000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x000000346d800000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x000000346c800000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00000036bb000000)
libxcb-xlib.so.0 => /usr/lib64/libxcb-xlib.so.0 (0x000000346b400000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x000000346bc00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003552400000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003553400000)
libutil.so.1 => /lib64/libutil.so.1 (0x000000355e600000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000003556000000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000003555c00000)
At first it kind of worked, but now I can't get it to step through my
arm cortex-m3 program at all. Been using the old Ins 6.8 (with kluges to
make it build). Just wanted to try the lastest again. 6.8 works well for
projects except doubles don't display right (floats OK).
Maybe we need to start simple? Can you build the native *only* version?
Perhaps there is a configury bug w.r.t. cross-toolchains?
At this point can only get a native only build of CVS head with
insight's own tk/tcl and it works. If I try to build 32-bit (on 64 bit
system) or try to use system supplied tcl/tk, build fails. This seems
independent of whether a native or cross build.
It's the cvs head version. I just got it the other day.
Wow, I am really sorry that you're having so many problems.
Thanks, but at least good old 6.8 still works :).
Keith