[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [swarm-hackers] swarm 2.3.0 release
From: |
Paul Johnson |
Subject: |
Re: [swarm-hackers] swarm 2.3.0 release |
Date: |
Wed, 08 Apr 2009 00:35:00 -0500 |
User-agent: |
Thunderbird 2.0.0.21 (X11/20090318) |
Scott Christley wrote:
On Apr 7, 2009, at 6:28 PM, Paul Johnson wrote:
Is tcl8.5 known to not work? that might explain everything.
That's a promising lead. I used 8.4 on my debian system, I never
tried 8.5. First thing I would do is try configuring with 8.4 and see
how it goes. I will see if 8.5 is available on debian and I can take
a look from that end.
Scott
I'm horribly sorry to everybody that I sent the last message (with
config.log) to the list, rather than directly to Scott.
I've had success building Swarm-2.3.0 on Centos-5.3 (free version of
RedHat). Programs run, yeah!
But now I'm bothering the whole list because somebody might have Swarm
on Ubuntu 8.10.
I'm having a problem that some users described in the Summer, but I
could not reproduce it. Now I'm pretty sure I see what's going wrong.
On Ubuntu 8.10, there are 2 versions of tcl/tk installed-- tcl8.5,
tcl8.4, tk8.5, tk8.4--but only one blt that builds on top of both. As
you see in this configure statement, I've put in lots and lots of effort
to only use tcl/tk8.4:
./configure --build=i486-linux-gnu --prefix=/usr
--includedir=${prefix}/include --mandir=${prefix}/share/man
--infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var
--libexecdir=${prefix}/lib/swarm --disable-maintainer-mode
--disable-dependency-tracking --srcdir=. --enable-onelib --with-gnu-ld
--with-tcl=/usr/lib/tcl8.4 --with-tclinclude=/usr/include/tcl8.4
--with-tkinclude=/usr/include/tcl8.4 --with-tk=/usr/lib/tk8.4
--with-tclscriptdir=/usr/share/tcltk/tcl8.4
--with-tkscriptdir=/usr/share/tcltk/tk8.4
--with-jdkdir=/usr/lib/jvm/java-6-openjdk
But that still leads to death:
$ ./heatbugs
error: TkExtra (instance)
version conflict for package "Tcl": have 8.4, need 8.5.3
while executing
"package present Tcl 8.5.3"
Aborted
Note how my installed Swarm picks up both tcl 8.4 and 8.5 libraries:
$ ldd ./heatbugs
linux-gate.so.1 => (0xb7f91000)
libswarm.so.0 => /usr/lib/libswarm.so.0 (0xb7d43000)
libBLT.2.4.so.8.5 => /usr/lib/libBLT.2.4.so.8.5 (0xb7c50000)
libtk8.4.so.0 => /usr/lib/libtk8.4.so.0 (0xb7b69000)
libtcl8.4.so.0 => /usr/lib/libtcl8.4.so.0 (0xb7aaf000)
libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb7a9f000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7a79000)
libhdf5-1.6.6.so.0 => /usr/lib/libhdf5-1.6.6.so.0 (0xb7947000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7912000)
libz.so.1 => /usr/lib/libz.so.1 (0xb78fb000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb780c000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb77e6000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb77e2000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7684000)
libtk8.5.so.0 => /usr/lib/libtk8.5.so.0 (0xb7568000)
libtcl8.5.so.0 => /usr/lib/libtcl8.5.so.0 (0xb7468000)
libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb744f000)
/lib/ld-linux.so.2 (0xb7f77000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb744c000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7433000)
libXss.so.1 => /usr/lib/libXss.so.1 (0xb742e000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb741f000)
libXft.so.2 => /usr/lib/libXft.so.2 (0xb740b000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7395000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7368000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb735e000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb735a000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7355000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb732e000)
After a lot of messing about, I'm pretty sure the tcl/tk8.5 stuff is
drawn in by blt.
Note the installed blt-dev and blt provide libraries for both versions
of tcltk in the same directory. I'm going to get their blt source
package and see how/why they do this:
$ dpkg -L blt-dev
/.
/usr
/usr/lib
/usr/lib/libBLT.2.4.8.4.a
/usr/lib/libBLT.2.4.8.5.a
/usr/lib/libBLTlite.2.4.8.4.a
/usr/lib/libBLTlite.2.4.8.5.a
/usr/include
/usr/include/blt.h
/usr/include/bltBind.h
/usr/include/bltChain.h
/usr/include/bltHash.h
/usr/include/bltList.h
/usr/include/bltPool.h
/usr/include/bltTree.h
/usr/include/bltVector.h
/usr/share
/usr/share/man
/usr/share/man/man3
/usr/share/man/man3/Blt_TreeCreateNode.3.gz
/usr/share/man/man3/Blt_TreeDeleteNode.3.gz
/usr/share/man/man3/Blt_TreeExists.3.gz
/usr/share/man/man3/Blt_TreeGetNode.3.gz
/usr/share/man/man3/Blt_TreeGetToken.3.gz
/usr/share/man/man3/Blt_TreeName.3.gz
/usr/share/man/man3/Blt_TreeReleaseToken.3.gz
/usr/share/man/man3/Blt_Tree.3.gz
/usr/share/man/man3/Blt_TreeCreate.3.gz
/usr/share/man/man3/Blt_TreeNodeId.3.gz
/usr/share/doc
/usr/share/doc/blt-dev
/usr/share/doc/blt-dev/copyright
/usr/share/doc/blt-dev/changelog.Debian.gz
/usr/lib/libBLT.a
/usr/lib/libBLTlite.a
/usr/lib/libBLTlite.so
/usr/lib/libBLT.so
$ dpkg -L blt
/.
/usr
/usr/lib
/usr/lib/blt2.4
/usr/lib/blt2.4/dnd.tcl
/usr/lib/blt2.4/dragdrop.tcl
/usr/lib/blt2.4/graph.tcl
/usr/lib/blt2.4/hierbox.tcl
/usr/lib/blt2.4/pkgIndex.tcl
/usr/lib/blt2.4/tabnotebook.tcl
/usr/lib/blt2.4/tabset.tcl
/usr/lib/blt2.4/treeview.tcl
/usr/lib/blt2.4/bltCanvEps.pro
/usr/lib/blt2.4/bltGraph.pro
/usr/lib/blt2.4/treeview.xbm
/usr/lib/blt2.4/treeview_m.xbm
/usr/lib/blt2.4/dd_protocols
/usr/lib/blt2.4/dd_protocols/dd-color.tcl
/usr/lib/blt2.4/dd_protocols/dd-file.tcl
/usr/lib/blt2.4/dd_protocols/dd-number.tcl
/usr/lib/blt2.4/dd_protocols/dd-text.tcl
/usr/lib/blt2.4/dd_protocols/tclIndex
/usr/lib/blt2.4/tclIndex
/usr/lib/libBLT.2.4.so.8.4
/usr/lib/libBLT.2.4.so.8.5
/usr/lib/libBLTlite.2.4.so.8.4
/usr/lib/libBLTlite.2.4.so.8.5
I cannot remove tk8.5 and tcl8.5 because the whole R stats system
requires it.
I can try to clamp down on BLT in the swarm configure statement? How about:
--with-bltlibname=/usr/lib/ibBLT.2.4.so.8.4
I note that the BLT install has a created symbolic links,
/usr/lib/libBLT.so -> libBLT.2.4.so.8.5
I bet that is at the heart of the problem! because Swarms -lBLT is
pointed to the blt linked with tcltk 8.5.
What if I re-do the symbolic link?
ln -sf /usr/lib/libBLT.2.4.so.8.4 /usr/lib/libBLT.so
Does the static library play a role? I can do this to be sure
/usr/lib/libBLT.a -> libBLT.2.4.8.4.a
??
I get a clean build of Swarm and note that heatbugs is re-built and it
does not include any "wrong" tcltk versions.
$ ldd ./heatbugs
linux-gate.so.1 => (0xb7fff000)
libswarm.so.0 => /usr/lib/libswarm.so.0 (0xb7dbc000)
libBLT.2.4.so.8.4 => /usr/lib/libBLT.2.4.so.8.4 (0xb7cc9000)
libtk8.4.so.0 => /usr/lib/libtk8.4.so.0 (0xb7be2000)
libtcl8.4.so.0 => /usr/lib/libtcl8.4.so.0 (0xb7b28000)
libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb7b18000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7af2000)
libhdf5-1.6.6.so.0 => /usr/lib/libhdf5-1.6.6.so.0 (0xb79c0000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb798b000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7974000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7885000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb785f000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb785b000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb76fd000)
libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb76e3000)
/lib/ld-linux.so.2 (0xb7fe5000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb76e0000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb76c7000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb76c4000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb76bf000)
But still death:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb762f8c0 (LWP 6018)]
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0xb7ca7385 in ?? () from /usr/lib/libBLT.2.4.so.8.4
#2 0xb7ca75a0 in ?? () from /usr/lib/libBLT.2.4.so.8.4
#3 0xb7aba5ce in TclInvokeStringCommand () from /usr/lib/libtcl8.4.so.0
#4 0xb7b0f5a9 in ?? () from /usr/lib/libtcl8.4.so.0
#5 0xb7abb94e in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0
#6 0xb7ae7d71 in ?? () from /usr/lib/libtcl8.4.so.0
#7 0xb7ae5db8 in TclCompEvalObj () from /usr/lib/libtcl8.4.so.0
#8 0xb7abcc24 in Tcl_EvalObjEx () from /usr/lib/libtcl8.4.so.0
#9 0xb7ac403f in Tcl_ForeachObjCmd () from /usr/lib/libtcl8.4.so.0
#10 0xb7abb94e in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0
#11 0xb7abc812 in Tcl_EvalEx () from /usr/lib/libtcl8.4.so.0
#12 0xb7abca7c in Tcl_Eval () from /usr/lib/libtcl8.4.so.0
#13 0xb7e231c0 in -[TclInterp eval:] (self=0x9247650, _cmd=0xb7f03df0,
fmt=0xb7ea00c0 "foreach w [winfo children .] {busy hold $w} ;update")
at TclInterp.m:352
#14 0xb7e1dd25 in tkobjc_updateIdleTasks (hold=1) at common.m:274
#15 0xb7dd45ee in -[ProbeDisplay createEnd] (self=0x938b140,
_cmd=0xb7ec66c8)
at ProbeDisplay.m:106
#16 0xb7dd5428 in -[ProbeDisplayManager
_createProbeDisplayFor::setWindowGeometryRecordName:] (self=0x929de90,
_cmd=0xb7ec6708, anObject=0x9314ec0,
windowGeometryRecordName=0x938b0f0 "ProbeDisplay-heatbugModelSwarm")
at ProbeDisplayManager.m:160
#17 0xb7dd4eff in -[ProbeDisplayManager
createArchivedProbeDisplayFor:variableName:] (self=0x929de90,
_cmd=0xb7ec7990, anObject=0x9314ec0,
variableName=0x804bafd "heatbugModelSwarm") at ProbeDisplayManager.m:173
#18 0xb7dd71fc in createArchivedProbeDisplayNamed (obj=0x9314ec0,
name=0x804bafd "heatbugModelSwarm") at simtoolsgui.m:81
#19 0x0804ab7b in -[HeatbugObserverSwarm buildObjects] (self=0x92bdb48,
_cmd=0x804da08) at HeatbugObserverSwarm.m:91
#20 0x08049bad in main (argc=153670504, argv=0x0) at main.m:41
I've tried quite a few variants of this tonight and I'm going to sleep.
Sometimes the answer comes to me in my dreams. I stand in front of a
burning workstation on top of a hillside and the burning workstation
talks to me.
Right now I'm thinking of just removing Ubuntu's blt that tries to do
both versions of tcl/tk and building one just for tcl/tk8.4.
If you have a suggestion that does not involve 1) becoming a Windows
user or 2) "get a Mac!" I'll be glad to hear from you.
pj
--
Paul E. Johnson email: address@hidden
Professor, Political Science http://pj.freefaculty.org
1541 Lilac Lane, Rm 504
University of Kansas Office: (785) 864-9086
Lawrence, Kansas 66044-3177 FAX: (785) 864-5700
- Re: [swarm-hackers] swarm 2.3.0 release, Paul Johnson, 2009/04/07
- Re: [swarm-hackers] swarm 2.3.0 release, Scott Christley, 2009/04/07
- Message not available
- Re: [swarm-hackers] swarm 2.3.0 release, Paul Johnson, 2009/04/07
- Re: [swarm-hackers] swarm 2.3.0 release, Scott Christley, 2009/04/07
- Message not available
- Re: [swarm-hackers] swarm 2.3.0 release,
Paul Johnson <=
- Re: [swarm-hackers] swarm 2.3.0 release, glen e. p. ropella, 2009/04/08
- Message not available
- Re: [swarm-hackers] swarm 2.3.0 release, Paul Johnson, 2009/04/08
- Re: [swarm-hackers] swarm 2.3.0 release, glen e. p. ropella, 2009/04/08
- Message not available
- Re: [swarm-hackers] swarm 2.3.0 release, Paul Johnson, 2009/04/08
- Re: [swarm-hackers] swarm 2.3.0 release, Marcus G. Daniels, 2009/04/09
- Re: [swarm-hackers] swarm 2.3.0 release, Scott Christley, 2009/04/09
- Re: [swarm-hackers] swarm 2.3.0 release, Alex Lancaster, 2009/04/09
- Message not available
- Re: [swarm-hackers] swarm 2.3.0 release, Paul Johnson, 2009/04/09
- Re: [swarm-hackers] swarm 2.3.0 release, Steve Railsback, 2009/04/09
- Re: [swarm-hackers] swarm 2.3.0 release, Scott Christley, 2009/04/09