[squeak-dev] 64bit or 32bit VM

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] 64bit or 32bit VM

Brad Fuller-4
I was building the latest svn VM, out of the box, on a Linux 64bit
machine, and while it made, it doesn't work when calling plugins (it
segfaults). Could this because I built it, by default, on 64bit? If
so, is there a way to set the compile to 32bit? I didn't see a setting
for 32bit wide in.configure. Perhaps it's a --build=BUILD option?

While I'm on the subject, I thought maybe I'd try the 64bit VM. What's
the difference between the source at:
http://squeakvm.org/squeak64/dist3/
and the svn at:
http://www.squeakvm.org/cgi-bin/viewcvs.cgi

The tar files at squeak64 list them as v3.8
(Squeak32-3.8a-2.ia64-linux-gnu.tar.gz  ) but the svn lists revision
1929.(on older revision note says "3.9-4"

thanks!
brad

--
Brad Fuller

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 64bit or 32bit VM

David T. Lewis
On Fri, Nov 07, 2008 at 05:53:54PM -0800, Brad Fuller wrote:
> I was building the latest svn VM, out of the box, on a Linux 64bit
> machine, and while it made, it doesn't work when calling plugins (it
> segfaults). Could this because I built it, by default, on 64bit? If
> so, is there a way to set the compile to 32bit? I didn't see a setting
> for 32bit wide in.configure. Perhaps it's a --build=BUILD option?

You will need to use a recent VMMaker with all of the 32/64 bit clean
patches applied. You can get this from the squeaksource.com project.
Some of the VMMaker versions on SqueakMap/Universes are probably not
up to date in this respect.

Some plugins have not been update for 64 bit machines, so you will
not be able to build all of them.

As for building 32 bit apps on a 64 bit Linux, I'm sure that's in the
Linux and/or GCC FAQs somewhere, but I always just build a 64 bit VM
for my own use and it works fine.

> While I'm on the subject, I thought maybe I'd try the 64bit VM. What's
> the difference between the source at:
> http://squeakvm.org/squeak64/dist3/
> and the svn at:
> http://www.squeakvm.org/cgi-bin/viewcvs.cgi

The sources are http://squeakvm.org/squeak64/dist3/ are the original
development work that Dan and Ian did to produce 64 bit Squeak VMs and
images. They are out of date with respect to current SVN sources and
current Squeak 32 bit images. Assuming that you are just trying to make
a 64 bit VM to run normal Squeak images, you can disregard the dist3
sources.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 64bit or 32bit VM

Brad Fuller-4
Thanks for the articulated reply.
Anybody know which plugins will not work in 64bit?
A follow on question would be what have you and others learned about
moving 32bit plugins to 64bit?  Back in the cobwebs I seem to remember
you and Dan writing about your journey, but that's as far as my
recollection goes. I'll search the archives for more, but if something
comes to mind, I'd appreciate any help.

thanks!

brad

On Sat, Nov 8, 2008 at 5:59 AM, David T. Lewis <[hidden email]> wrote:

> On Fri, Nov 07, 2008 at 05:53:54PM -0800, Brad Fuller wrote:
>> I was building the latest svn VM, out of the box, on a Linux 64bit
>> machine, and while it made, it doesn't work when calling plugins (it
>> segfaults). Could this because I built it, by default, on 64bit? If
>> so, is there a way to set the compile to 32bit? I didn't see a setting
>> for 32bit wide in.configure. Perhaps it's a --build=BUILD option?
>
> You will need to use a recent VMMaker with all of the 32/64 bit clean
> patches applied. You can get this from the squeaksource.com project.
> Some of the VMMaker versions on SqueakMap/Universes are probably not
> up to date in this respect.
>
> Some plugins have not been update for 64 bit machines, so you will
> not be able to build all of them.
>
> As for building 32 bit apps on a 64 bit Linux, I'm sure that's in the
> Linux and/or GCC FAQs somewhere, but I always just build a 64 bit VM
> for my own use and it works fine.
>
>> While I'm on the subject, I thought maybe I'd try the 64bit VM. What's
>> the difference between the source at:
>> http://squeakvm.org/squeak64/dist3/
>> and the svn at:
>> http://www.squeakvm.org/cgi-bin/viewcvs.cgi
>
> The sources are http://squeakvm.org/squeak64/dist3/ are the original
> development work that Dan and Ian did to produce 64 bit Squeak VMs and
> images. They are out of date with respect to current SVN sources and
> current Squeak 32 bit images. Assuming that you are just trying to make
> a 64 bit VM to run normal Squeak images, you can disregard the dist3
> sources.
>
> Dave
>
>
>



--
Brad Fuller

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 64bit or 32bit VM

David T. Lewis
On Sat, Nov 08, 2008 at 12:10:10PM -0800, Brad Fuller wrote:
> Thanks for the articulated reply.
> Anybody know which plugins will not work in 64bit?
> A follow on question would be what have you and others learned about
> moving 32bit plugins to 64bit?  Back in the cobwebs I seem to remember
> you and Dan writing about your journey, but that's as far as my
> recollection goes. I'll search the archives for more, but if something
> comes to mind, I'd appreciate any help.

Some general information is collected at http://www.squeakvm.org/squeak64/faq.html.

The original summary by Dan and Ian at http://www.squeakvm.org/squeak64 gives
a good overview of the issues. The only real complication with plugins is
that many of them use external support code (maintained in SVN) and external
libaries that have to be coordinated with the Slang code (maintained in VMMaker).

I use SlangBrowser (wiki.squeak.org/squeak/5916) when working on this stuff
so I can inspect the C code along with the Smalltalk source, but aside from
that it's just a matter of edit, compile, fix compiler warnings, run in
debugger, and repeat until it works. Once a plugin is working on a 64 bit
platform for normal images, it is usually a small step to ensure that it
also works on 64 bit images.

Building the VMs and plugins on a 64 bit platform for a 32 bit image, and
setting the base address of object memory to something other than 0, turns
out to be a great way to flush out all manner of hidden problems. Once you
get a plugin working in that enviroment, it's pretty clean and the rest is
easy.

I don't think we have a good accounting of what plugins are working on
what platforms for which combinations of 32/64 bit platforms and images.
If there is a specific plugin that you are interested in, I'll tell
you if I know anything about it. There is a "Squeak 64 bit" category on
Mantis for tracking issues related to 64 bit VM and images, so take a
look at that also.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 64bit or 32bit VM

NorbertHartl
In reply to this post by Brad Fuller-4
On Sat, 2008-11-08 at 12:10 -0800, Brad Fuller wrote:
> Thanks for the articulated reply.
> Anybody know which plugins will not work in 64bit?

I discovered today segfaults with jpegreaderwriter and
then I switched back to 32 bit vm.

Norbert


> A follow on question would be what have you and others learned about
> moving 32bit plugins to 64bit?  Back in the cobwebs I seem to remember
> you and Dan writing about your journey, but that's as far as my
> recollection goes. I'll search the archives for more, but if something
> comes to mind, I'd appreciate any help.
>
> thanks!
>
> brad
>
> On Sat, Nov 8, 2008 at 5:59 AM, David T. Lewis <[hidden email]> wrote:
> > On Fri, Nov 07, 2008 at 05:53:54PM -0800, Brad Fuller wrote:
> >> I was building the latest svn VM, out of the box, on a Linux 64bit
> >> machine, and while it made, it doesn't work when calling plugins (it
> >> segfaults). Could this because I built it, by default, on 64bit? If
> >> so, is there a way to set the compile to 32bit? I didn't see a setting
> >> for 32bit wide in.configure. Perhaps it's a --build=BUILD option?
> >
> > You will need to use a recent VMMaker with all of the 32/64 bit clean
> > patches applied. You can get this from the squeaksource.com project.
> > Some of the VMMaker versions on SqueakMap/Universes are probably not
> > up to date in this respect.
> >
> > Some plugins have not been update for 64 bit machines, so you will
> > not be able to build all of them.
> >
> > As for building 32 bit apps on a 64 bit Linux, I'm sure that's in the
> > Linux and/or GCC FAQs somewhere, but I always just build a 64 bit VM
> > for my own use and it works fine.
> >
> >> While I'm on the subject, I thought maybe I'd try the 64bit VM. What's
> >> the difference between the source at:
> >> http://squeakvm.org/squeak64/dist3/
> >> and the svn at:
> >> http://www.squeakvm.org/cgi-bin/viewcvs.cgi
> >
> > The sources are http://squeakvm.org/squeak64/dist3/ are the original
> > development work that Dan and Ian did to produce 64 bit Squeak VMs and
> > images. They are out of date with respect to current SVN sources and
> > current Squeak 32 bit images. Assuming that you are just trying to make
> > a 64 bit VM to run normal Squeak images, you can disregard the dist3
> > sources.
> >
> > Dave
> >
> >
> >
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 64bit or 32bit VM

David T. Lewis
On Sat, Nov 08, 2008 at 10:46:22PM +0100, Norbert Hartl wrote:
> On Sat, 2008-11-08 at 12:10 -0800, Brad Fuller wrote:
> > Thanks for the articulated reply.
> > Anybody know which plugins will not work in 64bit?
>
> I discovered today segfaults with jpegreaderwriter and
> then I switched back to 32 bit vm.

Well, that's one way to identify a plugin that has not yet been updated ;-)

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 64bit or 32bit VM

Brad Fuller-4
In reply to this post by David T. Lewis
On Sat, Nov 8, 2008 at 5:59 AM, David T. Lewis <[hidden email]> wrote:

> On Fri, Nov 07, 2008 at 05:53:54PM -0800, Brad Fuller wrote:
>> I was building the latest svn VM, out of the box, on a Linux 64bit
>> machine, and while it made, it doesn't work when calling plugins (it
>> segfaults). Could this because I built it, by default, on 64bit? If
>> so, is there a way to set the compile to 32bit? I didn't see a setting
>> for 32bit wide in.configure. Perhaps it's a --build=BUILD option?
>
> You will need to use a recent VMMaker with all of the 32/64 bit clean
> patches applied. You can get this from the squeaksource.com project.
> Some of the VMMaker versions on SqueakMap/Universes are probably not
> up to date in this respect.

Ok. I dnl'd VMMaker-dtl.106.mcz from SqeakSource. Using Monticello to
load it, I get a warning that FFIPlugin and KlattResonatorIndices
needs to load first to use specific these plugins.

I look on SqueakSource for FFIPlugin but don't find it. I look in
Unverses, but I can't find out how to find a package in Universes.
Seems nicely categorized, but i haven't a clue how to search for a
package.
But I do find FFI v3.9 on SqueakMap. I install that. Hopefully, it's
the right version... but, there is no indication to what version I
need when I tried to install VMMaker.

I can't find KlattResonatorIndices anywhere. Where can I find that?
Maybe I could go on since I'm not interested in the KlattSynthesizer,
but, I'd hate to do that.

Thanks for the help..

brad

BTW, it's HARD to find packages to install in Squeak ( I know, I'm not
bearer of new news). Packages are in one or many places and with
different versions in different places. It's hard to tell where to go
Why don't we settle on one place for every package and use one method
(can have many tools, but one method) to download packages and their
dependencies? I guess, that's a general question to everyone. Seems
like a no-brainer.


--
Brad Fuller

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 64bit or 32bit VM

David T. Lewis
On Tue, Nov 11, 2008 at 04:22:16PM -0800, Brad Fuller wrote:

> On Sat, Nov 8, 2008 at 5:59 AM, David T. Lewis <[hidden email]> wrote:
> > On Fri, Nov 07, 2008 at 05:53:54PM -0800, Brad Fuller wrote:
> >> I was building the latest svn VM, out of the box, on a Linux 64bit
> >> machine, and while it made, it doesn't work when calling plugins (it
> >> segfaults). Could this because I built it, by default, on 64bit? If
> >> so, is there a way to set the compile to 32bit? I didn't see a setting
> >> for 32bit wide in.configure. Perhaps it's a --build=BUILD option?
> >
> > You will need to use a recent VMMaker with all of the 32/64 bit clean
> > patches applied. You can get this from the squeaksource.com project.
> > Some of the VMMaker versions on SqueakMap/Universes are probably not
> > up to date in this respect.
>
> Ok. I dnl'd VMMaker-dtl.106.mcz from SqeakSource. Using Monticello to
> load it, I get a warning that FFIPlugin and KlattResonatorIndices
> needs to load first to use specific these plugins.
>
> I look on SqueakSource for FFIPlugin but don't find it. I look in
> Unverses, but I can't find out how to find a package in Universes.
> Seems nicely categorized, but i haven't a clue how to search for a
> package.
> But I do find FFI v3.9 on SqueakMap. I install that. Hopefully, it's
> the right version... but, there is no indication to what version I
> need when I tried to install VMMaker.
>
> I can't find KlattResonatorIndices anywhere. Where can I find that?
> Maybe I could go on since I'm not interested in the KlattSynthesizer,
> but, I'd hate to do that.

I think that if you load (any version of) VMMaker from Universes, it
will take care of the dependencies. You can then update VMMaker from the
SqueakSource project that I mentioned, and the result should get you up
to date. IIRC, the "Klatt" dependencies refer to the "Speech" package
the you can find on SqueakMap also. Specific versions of FFI and Klatt
are not important with respect to VMMaker.

> BTW, it's HARD to find packages to install in Squeak ( I know, I'm not
> bearer of new news). Packages are in one or many places and with
> different versions in different places. It's hard to tell where to go
> Why don't we settle on one place for every package and use one method
> (can have many tools, but one method) to download packages and their
> dependencies? I guess, that's a general question to everyone. Seems
> like a no-brainer.

Yup, everybody agrees with you. SqueakMap does a nice job of keeping
track of everything, Universes is the equivalent of a distro, some
further integration of these would be nice, and it's a lot of work to
keep it up to date. Emphasis on "it's a lot of work."

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 64bit or 32bit VM

Brad Fuller-4
On Tue, Nov 11, 2008 at 5:12 PM, David T. Lewis <[hidden email]> wrote:
> I think that if you load (any version of) VMMaker from Universes, it
> will take care of the dependencies. You can then update VMMaker from the
> SqueakSource project that I mentioned, and the result should get you up
> to date. IIRC, the "Klatt" dependencies refer to the "Speech" package
> the you can find on SqueakMap also. Specific versions of FFI and Klatt
> are not important with respect to VMMaker.

Yep, loading it from Universes is the way to go. Thanks worked great.
It's too bad that Universes doesn't load the latest version of VMMaker, though.

>> BTW, it's HARD to find packages to install in Squeak ( I know, I'm not
>> bearer of new news). Packages are in one or many places and with
>> different versions in different places. It's hard to tell where to go
>> Why don't we settle on one place for every package and use one method
>> (can have many tools, but one method) to download packages and their
>> dependencies? I guess, that's a general question to everyone. Seems
>> like a no-brainer.
>
> Yup, everybody agrees with you. SqueakMap does a nice job of keeping
> track of everything, Universes is the equivalent of a distro, some
> further integration of these would be nice, and it's a lot of work to
> keep it up to date. Emphasis on "it's a lot of work."

I hear ya. I bet it's a LOT of work.

Thanks Dave! Very helpful!

--
Brad Fuller