squeak linux woes

Ted Wright batlist at adelphia.net
Sat Jul 19 11:55:39 UTC 2003


Jim.Gettys at hp.com wrote:
>...
>If the source RPM had been made available, doing this might have been
>as easy as doing a "rpmbuild --rebuild", but I never saw one lying around.
>Generally, it is a good idea to post the source RPM as well as the binary;
>that lets people rebuild for other architectures Linux runs on easily,
>and/or optimize for Athlon/686 if they care about speed.

I've built Squeak RPMS for Red Hat 9 (that also seem to work fine on 
Red Hat 8.0), but I don't have a public place to make them available. 
Here's the procedure that worked for me:

1. download the needed files:
     wget http://www-sor.inria.fr/~piumarta/squeak/unix/release/Squeak-sources-3-1.noarch.rpm
     wget http://www-sor.inria.fr/~piumarta/squeak/unix/release/Squeak-3.4-5170.noarch.rpm
     wget http://www-sor.inria.fr/~piumarta/squeak/unix/release/Squeak-3.4-1.src.tar.gz

2. copy the Squeak VM source file to where rpmbuild will find it:
     cp Squeak-3.4-1.src.tar.gz /usr/src/redhat/SOURCES

3. create a Squeak-vm-rh9.spec file for building the rpm:
     cat > Squeak-vm-rh9.spec << EOF
Name: Squeak-vm
Summary: The Squeak virual machine
Version: 3.4
Release: 1
Vendor: Squeak.org
URL: http://www.squeak.org
Source: Squeak-3.4-1.src.tar.gz
Copyright: Squeak Software License
Group: Development/Languages
BuildRoot: %{_tmppath}/%{name}
AutoReqProv: no
BuildRequires: XFree86-devel compat-gcc
Requires: XFree86-libs glibc
Provides: %{name} = %{version}

%description
Squeak is a full-featured implementation of the Smalltalk programming
language and environment based on (and largely compatible with) the original
Smalltalk-80 system.

This package contains just the Squeak virtual machine.  You will have
to install it before you install the package Squeak.

%prep
%setup -n Squeak-%{version}-%{release}
%build
CC=gcc296 platforms/unix/config/configure --prefix=%{_prefix}
CC=gcc296 make
%install
make install ROOT=%{_tmppath}/%{name}
%clean
%files
%{_prefix}
EOF

4. build the RPM using the spec file: 
     rpmbuild -ba Squeak-vm-rh9.spec

5. install the new Squeak-vm RPM:
     rpm -Uvh /usr/src/redhat/RPMS/i386/Squeak-vm-3.4-1.i386.rpm

6. install the Squeak image and Squeak-sources RPMs:
     rpm -Uvh Squeak-3.4gamma1-5168.noarch.rpm
     rpm -Uvh Squeak-sources-3-1.noarch.rpm

7. start Squeak:
     inisqueak

8. copy all the RPM files (including .src.rpm) to some public place so that
   others won't have to do all these steps. The two new files are:
     /usr/src/redhat/RPMS/i386/Squeak-vm-3.4-1.i386.rpm
     /usr/src/redhat/SRPMS/Squeak-vm-3.4-1.src.rpm

If you have Squeak-vm-3.4-1.src.rpm, you can rebuild it on your computer,
and with luck, you will end up with a new binary RPM that uses the version 
of glibc and other libraries you have installed. This is done like this:
     rpmbuild --rebuild Squeak-vm-3.4-1.src.rpm

I have not had much luck making a VM that runs reliably with the version 3
C compiler that is the default on Red Hat 8.0 and 9, which is why I'm using
gcc 2.96 (from the compat-gcc package) here.

Ted





More information about the Squeak-dev mailing list