The squeak-vm in the official Debian repository (<a href="http://packages.debian.org/lenny/squeak-vm">http://packages.debian.org/lenny/squeak-vm</a> ) 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 .<br>
<br>Regards.<br>José L.<br><br><br><br><div class="gmail_quote">2008/4/28 Matej Kosik <<a href="mailto:kosik@fiit.stuba.sk">kosik@fiit.stuba.sk</a>>:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Friends,<br>
<br>
I maintain these Debian repositories:<br>
<a href="http://wiki.squeak.org/squeak/3616" target="_blank">http://wiki.squeak.org/squeak/3616</a><br>
<br>
There are binary packages for i386 which work fine.<br>
<br>
I am trying to build similar binary packages for amd64 architecture. This is motivated by recent<br>
"Squeak Debian Amd64 package" threat on this list.<br>
I am having troubles to understand how to do that (I am getting old and stupid, I guess) and seeking<br>
some help.<br>
<br>
First, I need the source. It is available:<br>
<a href="http://www.squeakvm.org/index.html" target="_blank">http://www.squeakvm.org/index.html</a><br>
<a href="http://www.squeakvm.org/squeak64/" target="_blank">http://www.squeakvm.org/squeak64/</a><br>
<a href="http://squeakvm.org/squeak64/dist3/" target="_blank">http://squeakvm.org/squeak64/dist3/</a><br>
<a href="http://squeakvm.org/squeak64/dist3/Squeak-3.8a-2.src.tar.gz" target="_blank">http://squeakvm.org/squeak64/dist3/Squeak-3.8a-2.src.tar.gz</a><br>
<br>
The mentioned Squeak VM version seemed to be slightly older than than latest one visible here:<br>
<br>
<a href="http://www.squeakvm.org/unix/" target="_blank">http://www.squeakvm.org/unix/</a><br>
<a href="http://www.squeakvm.org/unix/release/Squeak-3.10-1.src.tar.gz" target="_blank">http://www.squeakvm.org/unix/release/Squeak-3.10-1.src.tar.gz</a><br>
<br>
I presume that newer is better. So I am trying Squeak-3.10-1.src.tar.gz<br>
<br>
wget <a href="http://www.squeakvm.org/unix/release/Squeak-3.10-1.src.tar.gz" target="_blank">http://www.squeakvm.org/unix/release/Squeak-3.10-1.src.tar.gz</a><br>
tar xvzf Squeak-3.10-1.src.tar.gz<br>
<br>
The top-level README tells how to install Squeak if I have a root account but *I do not have root<br>
acount*. So I must try something different. Here:<br>
<br>
<a href="http://www.squeakvm.org/squeak64/" target="_blank">http://www.squeakvm.org/squeak64/</a><br>
<br>
are described other procedures that can be modified to install squeak to my home dir.<br>
<br>
mkdir bld<br>
cd bld<br>
../platforms/unix/config/configure --with-src=src32 --prefix=/home/kosik<br>
<br>
(Is it expected to work?)<br>
<br>
Directories ~/bin and ~/lib exist, so the above command should have sense. Here is its output<br>
<br>
<a href="http://altair.sk/uploads/tmp/1.txt" target="_blank">http://altair.sk/uploads/tmp/1.txt</a><br>
<br>
There is one warning:<br>
<br>
config.status: WARNING: ../platforms/unix/config/<a href="http://make.cfg.in" target="_blank">make.cfg.in</a> seems to ignore the --datarootdir<br>
setting<br>
<br>
What does it mean?<br>
<br>
If I try to go on, I get this error<br>
<br>
<a href="http://altair.sk/uploads/tmp/2.txt" target="_blank">http://altair.sk/uploads/tmp/2.txt</a><br>
<br>
/bin/sh /home/kosik/work/debian/etch/squeak/Squeak-3.10-1/bld/libtool --mode=link gcc -g -O2<br>
-DLSB_FIRST=1 -export-dynamic -R/home/kosik/lib -o squeak vm/vm.a B2DPlugin/B2DPlugin.a<br>
BitBltPlugin/BitBltPlugin.a FilePlugin/FilePlugin.a SocketPlugin/SocketPlugin.a disabledPlugins.o<br>
version.o -lutil -ldl -lm -lnsl vm/vm.a<br>
gcc -g -O2 -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o -Wl,--export-dynamic vm/vm.a<br>
B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a FilePlugin/FilePlugin.a<br>
SocketPlugin/SocketPlugin.a -lutil -ldl -lm -lnsl vm/vm.a -Wl,--rpath -Wl,/home/kosik/lib<br>
vm/vm.a(sqVirtualMachine.o): In function `sqGetInterpreterProxy':<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:202:<br>
undefined reference to `obsoleteDontUseThisFetchWordofObject'<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:333:<br>
undefined reference to `fetchLong32ofObject'<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:334:<br>
undefined reference to `getThisSessionID'<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:335:<br>
undefined reference to `ioFilenamefromStringofLengthresolveAliases'<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:336:<br>
undefined reference to `vmEndianness'<br>
collect2: ld returned 1 exit status<br>
make: *** [squeak] Error 1<br>
<br>
So, I did not succeeded here.<br>
<br>
For curiousity, I have tried to look at the 64-bit version images. So I have tried to build VM as<br>
follows:<br>
<br>
../platforms/unix/config/configure --with-src=src64 --prefix=/home/kosik<br>
<br>
The configuration yields the same warning and building ends with the same error. So I am trying also<br>
the old way (plus the --prefix, no --with-src)<br>
<br>
../platforms/unix/config/configure --prefix=/home/kosik<br>
make<br>
make install<br>
<br>
I do not notice any failure this far. Squeak binary is installed in my ~/bin directory.<br>
There is /home/kosik/lib/squeak/ directory with the following contents<br>
<br>
/home/kosik/lib/squeak/<br>
/home/kosik/lib/squeak/3.10-1<br>
/home/kosik/lib/squeak/3.10-1/B3DAcceleratorPlugin<br>
/home/kosik/lib/squeak/3.10-1/XDisplayControlPlugin<br>
/home/kosik/lib/squeak/3.10-1/vm-sound-null<br>
/home/kosik/lib/squeak/3.10-1/squeak<br>
/home/kosik/lib/squeak/3.10-1/vm-display-null<br>
/home/kosik/lib/squeak/3.10-1/PseudoTTYPlugin<br>
/home/kosik/lib/squeak/3.10-1/npsqueak.so<br>
/home/kosik/lib/squeak/3.10-1/VideoForLinuxPlugin<br>
/home/kosik/lib/squeak/3.10-1/Squeak3D<br>
/home/kosik/lib/squeak/3.10-1/vm-display-fbdev<br>
/home/kosik/lib/squeak/3.10-1/vm-display-X11<br>
/home/kosik/lib/squeak/3.10-1/UnixOSProcessPlugin<br>
/home/kosik/lib/squeak/npsqueakregister<br>
/home/kosik/lib/squeak/npsqueakrun<br>
<br>
I am slightly puzzled what kind of image (32-bit or 64-bit) I need since I did not specified it<br>
--with-src. What is the default?<br>
<br>
If I try 64-bit image downloaded from here:<br>
<br>
<a href="http://squeakvm.org/squeak64/dist3/Squeak64-3.8g-6548.image.tar.gz" target="_blank">http://squeakvm.org/squeak64/dist3/Squeak64-3.8g-6548.image.tar.gz</a><br>
<br>
squeak Squeak64-3.8g-6548.image<br>
<br>
I get this message:<br>
<br>
could not find display driver vm-display-X11; either:<br>
- check that /home/kosik/lib/squeak/3.10-1/vm-display-X11.so exists, or<br>
- use the '-plugins <path>' option to tell me where it is, or<br>
- remove DISPLAY from your environment.<br>
Aborted<br>
<br>
One puzzling thing is that `make install' generated<br>
<br>
/home/kosik/lib/squeak/3.10-1/vm-display-X11<br>
<br>
but the binary requires<br>
<br>
/home/kosik/lib/squeak/3.10-1/vm-display-X11.so<br>
<br>
This is slightly confusing. This<br>
<br>
squeak -plugins /home/kosik/lib/squeak/3.10-1 Squeak64-3.8g-6548.image<br>
<br>
does not help either. I am logged in remotely, but I can start normal X applications (such as<br>
xclock) so this should not be the problem.<br>
<br>
However has experience with this and can help, I would be grateful.<br>
<br>
Thanks in advance.<br>
<br>
</blockquote></div><br>