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> )&nbsp; 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&#39;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 &lt;<a href="mailto:kosik@fiit.stuba.sk">kosik@fiit.stuba.sk</a>&gt;:<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>
&quot;Squeak Debian Amd64 package&quot; 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>
 &nbsp;<a href="http://www.squeakvm.org/index.html" target="_blank">http://www.squeakvm.org/index.html</a><br>
 &nbsp; &nbsp;<a href="http://www.squeakvm.org/squeak64/" target="_blank">http://www.squeakvm.org/squeak64/</a><br>
 &nbsp; &nbsp; &nbsp;<a href="http://squeakvm.org/squeak64/dist3/" target="_blank">http://squeakvm.org/squeak64/dist3/</a><br>
 &nbsp; &nbsp; &nbsp; &nbsp;<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>
 &nbsp;<a href="http://www.squeakvm.org/unix/" target="_blank">http://www.squeakvm.org/unix/</a><br>
 &nbsp;<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>
 &nbsp; 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>
 &nbsp; 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>
 &nbsp;<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>
 &nbsp;mkdir bld<br>
 &nbsp;cd bld<br>
 &nbsp;../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>
 &nbsp;<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>
 &nbsp;config.status: WARNING: &nbsp;../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>
 &nbsp;<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 &nbsp; &nbsp;-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 &nbsp; vm/vm.a<br>
gcc -g -O2 -DLSB_FIRST=1 -o squeak disabledPlugins.o version.o -Wl,--export-dynamic &nbsp;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&#39;:<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:202:<br>
undefined reference to `obsoleteDontUseThisFetchWordofObject&#39;<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:333:<br>
undefined reference to `fetchLong32ofObject&#39;<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:334:<br>
undefined reference to `getThisSessionID&#39;<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:335:<br>
undefined reference to `ioFilenamefromStringofLengthresolveAliases&#39;<br>
/home/kosik/work/debian/etch/squeak/Squeak-3.10-1/platforms/Cross/vm/sqVirtualMachine.c:336:<br>
undefined reference to `vmEndianness&#39;<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>
 &nbsp;../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>
 &nbsp;../platforms/unix/config/configure --prefix=/home/kosik<br>
 &nbsp;make<br>
 &nbsp;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>
 &nbsp;/home/kosik/lib/squeak/<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/B3DAcceleratorPlugin<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/XDisplayControlPlugin<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/vm-sound-null<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/squeak<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/vm-display-null<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/PseudoTTYPlugin<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/npsqueak.so<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/VideoForLinuxPlugin<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/Squeak3D<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/vm-display-fbdev<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/vm-display-X11<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/UnixOSProcessPlugin<br>
 &nbsp;/home/kosik/lib/squeak/npsqueakregister<br>
 &nbsp;/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>
 &nbsp; squeak &nbsp;Squeak64-3.8g-6548.image<br>
<br>
I get this message:<br>
<br>
 &nbsp;could not find display driver vm-display-X11; either:<br>
 &nbsp; &nbsp;- check that /home/kosik/lib/squeak/3.10-1/vm-display-X11.so exists, or<br>
 &nbsp; &nbsp;- use the &#39;-plugins &lt;path&gt;&#39; option to tell me where it is, or<br>
 &nbsp; &nbsp;- remove DISPLAY from your environment.<br>
 &nbsp;Aborted<br>
<br>
One puzzling thing is that `make install&#39; generated<br>
<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/vm-display-X11<br>
<br>
but the binary requires<br>
<br>
 &nbsp;/home/kosik/lib/squeak/3.10-1/vm-display-X11.so<br>
<br>
This is slightly confusing. This<br>
<br>
 &nbsp; 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>