Friends,
I maintain these Debian repositories: http://wiki.squeak.org/squeak/3616 There are binary packages for i386 which work fine. I am trying to build similar binary packages for amd64 architecture. This is motivated by recent "Squeak Debian Amd64 package" threat on this list. I am having troubles to understand how to do that (I am getting old and stupid, I guess) and seeking some help. First, I need the source. It is available: http://www.squeakvm.org/index.html http://www.squeakvm.org/squeak64/ http://squeakvm.org/squeak64/dist3/ http://squeakvm.org/squeak64/dist3/Squeak-3.8a-2.src.tar.gz The mentioned Squeak VM version seemed to be slightly older than than latest one visible here: http://www.squeakvm.org/unix/ http://www.squeakvm.org/unix/release/Squeak-3.10-1.src.tar.gz I presume that newer is better. So I am trying Squeak-3.10-1.src.tar.gz wget http://www.squeakvm.org/unix/release/Squeak-3.10-1.src.tar.gz tar xvzf Squeak-3.10-1.src.tar.gz The top-level README tells how to install Squeak if I have a root account but *I do not have root acount*. So I must try something different. Here: http://www.squeakvm.org/squeak64/ are described other procedures that can be modified to install squeak to my home dir. mkdir bld cd bld ../platforms/unix/config/configure --with-src=src32 --prefix=/home/kosik (Is it expected to work?) Directories ~/bin and ~/lib exist, so the above command should have sense. Here is its output http://altair.sk/uploads/tmp/1.txt There is one warning: config.status: WARNING: ../platforms/unix/config/make.cfg.in seems to ignore the --datarootdir setting What does it mean? If I try to go on, I get this error http://altair.sk/uploads/tmp/2.txt /bin/sh /home/kosik/work/debian/etch/squeak/Squeak-3.10-1/bld/libtool --mode=link gcc -g -O2 -DLSB_FIRST=1 -export-dynamic -R/home/kosik/lib -o squeak vm/vm.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a FilePlugin/FilePlugin.a SocketPlugin/SocketPlugin.a disabledPlugins.o version.o -lutil -ldl -lm -lnsl vm/vm.a gcc -g -O2 -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o -Wl,--export-dynamic vm/vm.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a FilePlugin/FilePlugin.a SocketPlugin/SocketPlugin.a -lutil -ldl -lm -lnsl vm/vm.a -Wl,--rpath -Wl,/home/kosik/lib vm/vm.a(sqVirtualMachine.o): In function `sqGetInterpreterProxy': /home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:202: undefined reference to `obsoleteDontUseThisFetchWordofObject' /home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:333: undefined reference to `fetchLong32ofObject' /home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:334: undefined reference to `getThisSessionID' /home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:335: undefined reference to `ioFilenamefromStringofLengthresolveAliases' /home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:336: undefined reference to `vmEndianness' collect2: ld returned 1 exit status make: *** [squeak] Error 1 So, I did not succeeded here. For curiousity, I have tried to look at the 64-bit version images. So I have tried to build VM as follows: ../platforms/unix/config/configure --with-src=src64 --prefix=/home/kosik The configuration yields the same warning and building ends with the same error. So I am trying also the old way (plus the --prefix, no --with-src) ../platforms/unix/config/configure --prefix=/home/kosik make make install I do not notice any failure this far. Squeak binary is installed in my ~/bin directory. There is /home/kosik/lib/squeak/ directory with the following contents /home/kosik/lib/squeak/ /home/kosik/lib/squeak/3.10-1 /home/kosik/lib/squeak/3.10-1/B3DAcceleratorPlugin /home/kosik/lib/squeak/3.10-1/XDisplayControlPlugin /home/kosik/lib/squeak/3.10-1/vm-sound-null /home/kosik/lib/squeak/3.10-1/squeak /home/kosik/lib/squeak/3.10-1/vm-display-null /home/kosik/lib/squeak/3.10-1/PseudoTTYPlugin /home/kosik/lib/squeak/3.10-1/npsqueak.so /home/kosik/lib/squeak/3.10-1/VideoForLinuxPlugin /home/kosik/lib/squeak/3.10-1/Squeak3D /home/kosik/lib/squeak/3.10-1/vm-display-fbdev /home/kosik/lib/squeak/3.10-1/vm-display-X11 /home/kosik/lib/squeak/3.10-1/UnixOSProcessPlugin /home/kosik/lib/squeak/npsqueakregister /home/kosik/lib/squeak/npsqueakrun I am slightly puzzled what kind of image (32-bit or 64-bit) I need since I did not specified it --with-src. What is the default? If I try 64-bit image downloaded from here: http://squeakvm.org/squeak64/dist3/Squeak64-3.8g-6548.image.tar.gz squeak Squeak64-3.8g-6548.image I get this message: could not find display driver vm-display-X11; either: - check that /home/kosik/lib/squeak/3.10-1/vm-display-X11.so exists, or - use the '-plugins <path>' option to tell me where it is, or - remove DISPLAY from your environment. Aborted One puzzling thing is that `make install' generated /home/kosik/lib/squeak/3.10-1/vm-display-X11 but the binary requires /home/kosik/lib/squeak/3.10-1/vm-display-X11.so This is slightly confusing. This squeak -plugins /home/kosik/lib/squeak/3.10-1 Squeak64-3.8g-6548.image does not help either. I am logged in remotely, but I can start normal X applications (such as xclock) so this should not be the problem. However has experience with this and can help, I would be grateful. Thanks in advance. |
The squeak-vm in the official Debian repository (http://packages.debian.org/lenny/squeak-vm ) is compiled as a 64 bits app in amd64. I had to apply some patches that you can see in the debianized sources (directory debian/patches). Those patches fix some of the bugs in 64 bits, but not they all. The vm is usable (I'm working everyday in amd64) and works almost well, except for 64 bits bugs with the SoundPlugin .
Regards. José L. 2008/4/28 Matej Kosik <[hidden email]>: Friends, |
In reply to this post by Matej Kosik-2
On Mon, Apr 28, 2008 at 10:06:13AM +0200, Matej Kosik wrote:
> Friends, > > I maintain these Debian repositories: > http://wiki.squeak.org/squeak/3616 > > There are binary packages for i386 which work fine. > > I am trying to build similar binary packages for amd64 architecture. This is motivated by recent > "Squeak Debian Amd64 package" threat on this list. > I am having troubles to understand how to do that (I am getting old and stupid, I guess) and seeking > some help. There is some general background information in a FAQ here: http://www.squeakvm.org/squeak64/faq.html A list of the VM and plugin patches that I apply when building a 64 bit vm is here: http://lists.squeakfoundation.org/pipermail/vm-dev/2007-December/001703.html > I am slightly puzzled what kind of image (32-bit or 64-bit) I need since I did not specified it > --with-src. What is the default? > Don't worry about 64 bit images, that is a different issue entirely (see the FAQ for explanation). > If I try 64-bit image downloaded from here: > > http://squeakvm.org/squeak64/dist3/Squeak64-3.8g-6548.image.tar.gz > This image unfortunately will not work with current VMs without some extra hacking, but don't worry about it because what you want is a 64 bit VM that runs 32 bit images. Dave |
On 28.04.2008, at 12:14, David T. Lewis wrote:
> On Mon, Apr 28, 2008 at 10:06:13AM +0200, Matej Kosik wrote: >> Friends, >> >> I maintain these Debian repositories: >> http://wiki.squeak.org/squeak/3616 >> >> There are binary packages for i386 which work fine. >> >> I am trying to build similar binary packages for amd64 >> architecture. This is motivated by recent >> "Squeak Debian Amd64 package" threat on this list. >> I am having troubles to understand how to do that (I am getting old >> and stupid, I guess) and seeking >> some help. > > There is some general background information in a FAQ here: > http://www.squeakvm.org/squeak64/faq.html > > A list of the VM and plugin patches that I apply when building a 64 > bit vm is here: > http://lists.squeakfoundation.org/pipermail/vm-dev/2007-December/001703.html > >> I am slightly puzzled what kind of image (32-bit or 64-bit) I need >> since I did not specified it >> --with-src. What is the default? >> > > Don't worry about 64 bit images, that is a different issue entirely > (see the FAQ > for explanation). > >> If I try 64-bit image downloaded from here: >> >> http://squeakvm.org/squeak64/dist3/Squeak64-3.8g-6548.image.tar.gz >> > This image unfortunately will not work with current VMs without some > extra > hacking, but don't worry about it because what you want is a 64 bit > VM that > runs 32 bit images. IMHO the hint on top of http://www.squeakvm.org/squeak64/ is far too subtle. It needs to be made very clear that people who just want a 64 bit Squeak VM for their 64 bit system need to compile the *regular* Squeak VM sources. In contrast, the "squeak64" page is for people who want to experiment with "64 bit images" which are *incompatible* with all the other Squeak images currently in use. How about this: "NOTE: 64-bit support has been integrated into the regular Squeak VM sources. To compile a VM for your 64 bit machine, go to <...>. This page is about experimental support of 64 bit images. Please refer to the <FAQ> to find out about 64-bit images." - Bert - |
In reply to this post by José Luis Redrejo
Hi,
José Luis Redrejo napísal: > The squeak-vm in the official Debian repository > (http://packages.debian.org/lenny/squeak-vm ) is compiled as a 64 bits > app in amd64. I had to apply some patches that you can see in the > debianized sources (directory debian/patches). Those patches fix some of > the bugs in 64 bits, but not they all. The vm is usable (I'm working > everyday in amd64) and works almost well, except for 64 bits bugs with > the SoundPlugin . Is there some concrete plan when these patches will be merged into mainstream version so that anyone having amd64 will be able to build usable VM without additional patches? Does it make sense to wait for that to happen? (I would like to keep the number of additional patches I must maintain and re-merge to the standard source-code tree to minimum. I am not really Squeak VM hacker and I do not want to apply something blindly if I do not understand what it is and whether it is a correct thing.) -- Matej Kosik (http://altair.sk) |
2008/4/28 Matej Kosik <[hidden email]>: Hi, No idea
All the patches I apply to the package are documented. Also, they all are separated files from the source, and are applied using dpatch, so you can pick up and use only those that you like. Most of them are fixes from bugs.squeak.org, and the bug number is documented in the patch. For the rest, they are trivial patches (as adding the icon for the window manager, a patch created by somebody called Matej Kosik ;-), so I guess you don't need to apply them blindly. Anyway, you're right: at least for the bug fixes, the patches should be approved and applied upstream. But, take into account that most of them are related to the plugins, not to the vm core itself, and as they are fixed in bugs.squeak.org, and then applied to the latest squeak images, using vmmaker you should be able to regenerate the right sources without using any patch (theorically). I do know that Ian Piumarta does not use to read this mailing list due to his lack of time, so I'm cc'ing him to assure he's aware of this thread. Regards. José L. |
In reply to this post by Bert Freudenberg
On Mon, Apr 28, 2008 at 01:27:12PM +0200, Bert Freudenberg wrote:
> > IMHO the hint on top of > > http://www.squeakvm.org/squeak64/ > > is far too subtle. It needs to be made very clear that people who just > want a 64 bit Squeak VM for their 64 bit system need to compile the > *regular* Squeak VM sources. In contrast, the "squeak64" page is for > people who want to experiment with "64 bit images" which are > *incompatible* with all the other Squeak images currently in use. > > How about this: > > "NOTE: 64-bit support has been integrated into the regular Squeak VM > sources. To compile a VM for your 64 bit machine, go to <...>. This > page is about experimental support of 64 bit images. Please refer to > the <FAQ> to find out about 64-bit images." Well, kinda. The 64-bit support is not 100% integrated into the VM, and there is no "<...>" page (other than Mantis). Also, anybody who wants to work with 64-bit images should use exactly the same VM sources as the rest of us. The only actual difference is one line in a header file, which is set by clicking on the "64 bit VM?" checkbox on the VMMakerTool. The initial 64-bit development was done by Dan and Ian back in 2004, and was generously handed over to the community at that time. Expectations should be adjusted accordingly. I certainly do agree with your point, this is all very confusing to a VM builder who might prefer to just type "./configure; make" and be done with it. Dave |
Free forum by Nabble | Edit this page |