Due to the incertitudes on BLT, I have chosen to use for a new
app, only the "basis" of BLT : graph, barchart and vector and pure Tcl
or others.
RBC appearance in Teacup confirmed that it was a good way, and one day
to use the Tcl Dev Kit to build a robust app.
But... following the link "Regular CVS Checkouts"/"ActiveState
(Nightly)" ,in the Tcllib Sourceforge page, lead me to a file :
blt-20091117.tar.gz !!
Inside, under the "demos" directory, there are some new demos of BLT
using commands
such as "image create picture" or "blt::tk::scrollbar"....that I was
not aware of.
There are very recent files.
I am a little lost here : is this the work of George Howlett or is
ActiveState working on it ?
(the filepath is ftp://tcl.activestate.com/pub/tcl/nightly-cvs/) ?
Are there really three directions where BLT is going :
- Georges Howlett
- RCB of Bob Techentin --> Teacup
- BLT under ActiveState CVS ?
RCB under teacup seems to be the most reliable choice for a commercial
application, but has anyone else the same concern ?
Thanks, Olivier.
I don't know of the ActiveTcl blt. However, from time to time I
checkout the BLT source code. On Wednesday I did it again compiled it
(against tcl.8.5.8) and checked the demos. From my understanding the
basic demos were working just fine.
Compiling wasn't going without a minor change. bltUtil.c is using
TclCheckBadOctal() which is a private function of tcl. Commenting it
out helped.
The reason why BLT cannot be used with Tcl8.5 is not that it isn't
working at all, or that development has stopped. It is just that
George doesn't release a new version. But this is just my guess.
Ruediger
Actually, if someone is able to get blt to compile, it would be fine
to use it with tcl 8.5 or 8.6 or whatever.
I've just not been able to get any version newer than May 2004 to
compile.
>
> Actually, if someone is able to get blt to compile, it would be fine
> to use it with tcl 8.5 or 8.6 or whatever.
Unfornately I can't, the last time I compiled something was with
Borland Turbo C++
under DOS .... !!
O.
What OS were you compiling under?
>
> Compiling wasn't going without a minor change. bltUtil.c is using
> TclCheckBadOctal() which is a private function of tcl. Commenting it
> out helped.
>
> The reason why BLT cannot be used with Tcl8.5 is not that it isn't
> working at all, or that development has stopped. It is just that
> George doesn't release a new version. But this is just my guess.
>
> Ruediger
I was wondering if anybody knew how to contact George? I used
an email address for him on the BLT site, but received no reply.
It could be that he doesn't use that email address anymore, too busy
to answer or he is the reclusive genius type.
Stuart
To clarify the different versions ...
George is still the only maintainer and developer on the core BLT. If
you look at the SF sources you will see it is a pre-release BLT 3 with
new features that he works on. There is no known roadmap for it.
The BLT you see in the nightly-cvs is just one of many packages that
ActiveState provides there to assist others that might not otherwise
know where/how to pull sources of popular packages. Those archives
are updated as actual checkins are made.
The RBC work by Techentin is an effort to provide a maintained, stubs
compatible version of BLT. It is a fork of the 2.4 version of BLT,
not the newer 3.0.
I would recommend going with RBC at this time because it is the only
one with active support.
Jeff
Today, encouraged by this report, I build tcl/tk 8.5.8 and then tried
to build blt against them. I was using Sun's C compiler. I ultimately
failed, after having to edit a number of headers and modules to fix
code that would not compile under Sun's compiler. Ultimately, there
were calls to functions called round and sqrtf that don't exist in
Sun's libraries that resulted in the stopping place for me. I
understand I could track down these functions on Linux and bring them
over to build on Solaris. But even after the half dozen file changes I
had to make, many of the files had large numbers of warnings and I
didn't have a warm fuzzy feeling about how things were progressing. If
something comes up and this becomes a priority for me, I'll probably
return to this attempt.
So, if you know C programming, and particularly if you are using a
relatively recent gcc and libgcc, you might have a bit of success
building BLT.
> So, if you know C programming, and particularly if you are using a
> relatively recent gcc and libgcc, you might have a bit of success
> building BLT.
I just tried compiling on openSUSE 11.2, which has Tcl 8.5.7. It got
through 40 files without any complaint at all. It got to
bltPictDraw.c, which uses freetype2. Then it complains about FtFont
not having members called height, ascent and descent. So I commented
out HAVE_FT2BUILD_H in config.h. I also had to comment out
TclCheckBadOctal(), as noted by Ruediger earlier in this thread. Then
everything compiled.
After installing, I tried to run the demos. But the blt directory does
not have a pkgIndex.tcl file. And, there are lots of new libraries,
like:
DataTableCsv30.so
DataTableTree30.so
DataTableVector30.so
DataTableXml30.so
PictureBmp30.so
PictureGif30.so
PictureJpg30.so
PicturePbm30.so
PicturePhoto30.so
PicturePng30.so
PicturePs30.so
PictureXbm30.so
PictureXpm30.so
TreeXml30.so
But there are no scripts here. Which there should be.
After I fiddled with the pkgIndex.tcl.in, I got further. I could run
some of the demos. The ones that failed complained about a missing
component. Like blt::tree, Or one of the libs listed above. It wanted
them in a library subdirectory.
So I think the install part is the problem.
Anyway, it got further than I expected. I suspect that George has done
lots. I do not know if he has truly removed references to Tcl/Tk
private internals.
Same compile issues as previously (Nov 26).
Only notebook1.tcl demo runs. All graphic ones die with an X error,
usually like:
{-accelerator {} {} {} {}} {-command {} {} {} { .g legend configure -
background $legend(-background) }} {-data {} {} {} {}} {-icon {} {} {}
{}} {-image {} {} {} {}} {-indent {} {} 0 0} {-menu {} {} {} {}} {-
offvalue {} {} 0 0} {-onvalue {} {} 1 1} {-state {} {} normal normal}
{-style {} {} default default} {-tags {} {} {} {}} {-text {} {} {}
black} {-tooltip {} {} {} {}} {-type {} {} command radiobutton} {-
underline {} {} -1 -1} {-value {} {} {} {}} {-variable {} {} {} legend
(-background)}
X Error of failed request: BadMatch (invalid parameter
attributes)
Major opcode of failed request: 149
(RENDER)
Minor opcode of failed request: 4
(RenderCreatePicture)
Serial number of failed request:
2863
Current serial number in output stream: 2872
So, not much to report. Except this occasional status of what is, in
all fairness, a snapshot that can contain whatever was happening that
day.
Hi,
It seems that Tcl-Nap project was successful. This extension works
with ActiveTcl 8.5.8.
(version 7.0 has no sources but 6.4 has, and both works under Windows,
I don't
have unfortunately Linux or any Unix yet)
Before version 5, BLT was separated, but is now, part of it under the
plot_nao command.
It is less flexible to embed it in an application, but the vector
concept has been
improved. Not all widgets of BLT have been used (same choice as RCB ),
but it is
a good workaround to manipulate, trace data, and ...portable.
O.