Is BST dead?
Heater.
Posts: 21,230
Edit: The conclusion of this thread is that bst-0.19.4-pre13 does not run on my Debian Wheezy amd64 machine. Versions prior to that are OK!
I use BST. I like BST. BST is what allowed me to use the Propeller (The Prop Tool only works on Windows). BST has features I make use of, #defines, optimizations etc.
BradC did a wonderful job with BST and a great service to the Propeller community.
However. I now have a 64 it installation of Debian here and BST won't run.
Now in theory I can run 32 bit code on this machine. Just need to install all the required 32 bit libraries. Something like:
$ dpkg --add-architecture i386
Then figure out all the libs it needs, then find the package they are contained in, then install them, perhaps like:
$ apt-get install libX11:i386
and so on. And then figure out why it probably still does not run, as is the way with these things.
You know what? I really don't want to do that.
And so, like all closed source software, BST has finally died for me.
Just now I have no Spin support! BST won't run and the new opensource Spin does not have the extra features my projects use. It's kind of buggered up my weekends hacking.
It is a sad day here.
I use BST. I like BST. BST is what allowed me to use the Propeller (The Prop Tool only works on Windows). BST has features I make use of, #defines, optimizations etc.
BradC did a wonderful job with BST and a great service to the Propeller community.
However. I now have a 64 it installation of Debian here and BST won't run.
Now in theory I can run 32 bit code on this machine. Just need to install all the required 32 bit libraries. Something like:
$ dpkg --add-architecture i386
Then figure out all the libs it needs, then find the package they are contained in, then install them, perhaps like:
$ apt-get install libX11:i386
and so on. And then figure out why it probably still does not run, as is the way with these things.
You know what? I really don't want to do that.
And so, like all closed source software, BST has finally died for me.
Just now I have no Spin support! BST won't run and the new opensource Spin does not have the extra features my projects use. It's kind of buggered up my weekends hacking.
It is a sad day here.
Comments
I am in the processof trying to contact Brad. If I get a reply I will ask him for you.
Yeah, I'm pretty sure Ubuntu comes loaded up with all 32 bit compatibility libs. Ubuntu however always gives me a lot of trouble in other ways. It is after all based off the "testing" (i.e. not ready for release) versions of Debian with Ubuntus own bugs added on top.
BST does not run here, too many 32 bit graphical libs required. BUT the good news is that the command line compiler BSTC does work. And that is what SimpleIDE uses. Only problem is I can't get my SimpleIDE working correctly yet but that's another story.
Cluso,
Oh yes, I forgot about HomeSpun. Now you mention it I will have to give it a try on this new box.
Do say "Hello" to Brad from us all.
Edit: SimpleIDE works just fine with BSTC. I was just suffering from disiconia, I can't read icons. If the friggin buttons were labeled "Build" and "Settings" etc I might have more chance hitting the right ones:)
Anyway all works, my weekend is saved.
homespun works just fine here on 64 bit Debian Wheezy.
Edit: Forgot to say. HomeSpun is written in C# and hence runs under the mono .NET run time.
As a result it runs on most Linux boxes even my ARM based boards including the Raspberry Pi.
On Debian you simply do:
$ apt-get install ia32-libs
$ apt-get install ia32-libs-gtk
(as bst is a gtk application I believe)
These two should resolve everything needed for 32-bit executables. I have lots, including bst which I have been using from day one (of my Propeller activities) on my Debian 64-bit system.
To elaborate, Linux, AIX and IRIX in their 64-bit variants are all 32/64-bit systems and can handle both equally well. The 32-bit support is integrated, so libraries from an actual 32-bit system aren't usually welcome. On Debian you'll find the 32-bit libs in /lib32/ and /usr/lib32/, just as on IRIX (on IRIX there's also /lib64/ and /usr/lib64/ because it actually supports 3 variants, an additional old 32-bit variant living in /lib and /usr/lib/)
-Tor
Excellent, thank you. That has opened my eyes a little about how 32bit support works in Debian. According to these pages you are right:
http://packages.debian.org/fi/wheezy/ia32-libs
http://packages.debian.org/fi/wheezy/ia32-libs-gtk
Only trouble is it does not work! BST puts up a blank splash screen and then hangs.
Here is what I did: Now we see that bst has all it's expected libs in place:
Still, it does not work. No error messages to the console. Nothing but an empty splash box.
I might dispute one detail though. Whilst doing all this I see that apt-get installs a whole bunch of 32 bit libs like ia32-libs-gtk-i386_1%3a0.1_i386.deb which do seem to be the normal 32bit Debian packages. One do can a similar job manually by doing: For the libs you want, after doing the add architecture thing of course.
have you checked your systemlogs from your log deamon?
Sometimes ive noticed that there is mostly error messages relating directly to the GTK engine that shows up in the console. Meanwhile the program itself often sends error messages directly to the log deamon..
It's worse than that. BST is dead Jim.
It almost feels like it wouldnt be trouble with 32 vs 64 since it shows its splash? Could it be somekind of permission errors?
I was just checking I have permissions to my serial ports. All seems OK. I have run out of ideas.
I don't know why you see the above. I see only this: and so on. All libs live in /usr/lib32/
I seem to remember something about access to /dev/ttyUSB0 or something, but it's been so long since I first installed bst that I don't remember at the moment. Can you start it as root?
As said above, I really don't think adding an architecture is a good idea. It just messes up things. It's a method to make it possible to install alien packages without having to do --force-install all the time.
-Tor
No can do:
Looks like if it is buggered it is going to stay buggered:(
Anyway, do bare in mind that this is Wheezy. When I read the package description for ia32-libs and ia32-libs-gtk it says:
That last line is not there for the Squeeze descriptions. That inclines me to think I did the right thing.
My serial port permissions check out OK.
libgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xf7171000)
Which just happens to look mostly like yours except the directory is different.
The only 'i386' I have installed is libc6-i386 (and libc6-dev-i386), but these are amd64-architecture packages, not i386:
Edit: /usr/lib/i386/ should really be empty on 64-bit Debian Wheezy, use dpkg -S /usr/i386/name-of-each-file to figure out the package and remove it/them.
-Tor
Bring back BST I say but in saying that I know that Brad was more than cheesed off by the raw deal he was offered. I really don't know the politics but it's a real pity that a quality package like BST has been left to expire on the shelf. Is there any chance at all that this project can be revived?
BTW, I've just simply run BST from the terminal when I've had problems so I can see any compatibility warnings and errors immediately/
It did occur to be to uninstall all that 32 bit stuff and start again. But how? The full output of ldd is:
And that is only a fraction of what got installed with:
How would I go about finding all the packages that operation installed and removing them?
But multiarch is not the same as the 32/64-bit ability of Linux I was talking about.. it's something entirely different really. It's for the sole purpose of being able to install alien packages. But you don't need that to run 32-bit applications on 64-bit Linux. Either the amd64 package for your system will actually have a 32-bit executable (there are some of those), or it's a stand-alone executable which is not packaged for Debian (e.g. 'bst'). In both of these cases multiarch is not needed and not wanted.
Untested, but.. (Your system is quite fresh, right? So you can afford braking it..
-Tor
Are we reading the same documents? The multi-arch document says:
Bold emphasis above by me. Looks like exactly what I want.
The list produced by your first command above gives package names with no reference to architecture, so I could end up purging all the normal 64 bit library packages !!!! I think I need the ":i386" in the somewhere.
That's what the multi-arch document says, but what I say is still true: Multi-archi is for when you really need to install i386 packages (.deb packages with i386 in the architecture part of the name) on an amd64 machine. This is really the exception. I have tons of software on the machine and I have never needed actual i386 packages to run 32-bit software. That is what the ia32 libs packages are for.
It's true (as you have figured out) that the command would not be able to differentiate between amd64 and i386 packages, sorry about that - my system is empty in /usr/lib/i386* so I couldn't test it properly.
Maybe it's simply easier to do and (after some massaging) dpkg --purge the output of that.
(and then dpkg --remove-architecture i386 to prevent i386 packages to be installed again)
-Tor
I follow you as far as when you say "That is what the ia32 libs packages are for". But then, when I look at the Wheezy description of the ia32-libs package it specifically says: Which it does not for Squeeze. Same for ia32-libs-gtk in Wheezy.
In the mean time I tried an experiment. I down loaded a 32 bit Qt program that I have built on Squeeze. It uses Qt libs but not anything graphical.
Anyway the output from ldd for this program tells a similar story:
Lo and behold this program runs just fine!!!
My conclusion is that my 32 bit lib support was installed correctly.
Still, as BST does not work I'm still open to being wrong:)
I down loaded the executable to this 64 bit machine and it has the familiar ldd dependencies like we have seen above.
It runs fine.
I think my 32 bit libs are installed correctly. The problem with BST is deeper. Or at least something else.
Something is up with my 32 bit GTK libs I bet.
I have been trying to run the last pre-release snapshot of BST, bst-0.19.4-pre14, it does not work.
BUT the last release version bst-0.19.3 works fine !!!
Now all I have to do is work backwards and find out at which version it stops working.
Edit: I did not have to go back far. bst-0.19.4-pre12 works fine. Things break for pre13.
It is such a shame considering how well bst ran across all platforms, and gave us listings and conditional compilation. Thanks again Brad - there are so many things we could not have developed without your work.
Do you know which version of Pascal and is Brad willing to let other people take over work on his program?
cheers,
rich
Eric
I thought it was obvious. Many of us out here need the features of BSTC. The optimizations, the dead code removal, the #ifdef, the list files etc etc
Many of us have been relying on that stuff for years now.
The open source spin compiler has to move on from just doing what the Spin Tool does.