This is the mail archive of the insight@sourceware.org mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Using system tcl/tk version 8.5


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





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]