squeak linux woes

Ted Wright batlist at adelphia.net
Fri Jul 25 20:26:36 UTC 2003


Bert Freudenberg <bert at isg.cs.uni-magdeburg.de> wrote:
>...
>Although I'd be very much surprised if the build location has really anything to do with the lockup. Are you absolutely positively sure the install is not picking up stray files from an older build somewhere? ;-)
>
>If not, the only guess I have is that your box is still somewhat different then the Suse box I built these on. Could you tell me exactly your gcc and glibc version? And what is the contents of the generated BUILD/Squeak-3.4-1/bld/config.h?

I did some more tests and it definitely looks like it is a problem with the
version of gcc 3.2 that Red Hat ships with Red Hat 8.0 and Red Hat 9.

There is a new beta version of Red Hat called 9.0.93 that use gcc 3.3 as
its default compiler. The same vm, patches, and spec file will build and run 
fine on Red Hat 7.3 and 90.93, but build fine and then lock up in 8.0 and 9. 

The only workaround I know of is to use the old gcc 2.96 on Red Hat 8.0 and 9.
I've tested the following spec file with your patches and Ian's VM source and 
it worked well with Red Hat 7.3, 8.0, 9, and 9.0.93 (by detecting Red Hat gcc 3.2
and working around it). Maybe it will work on other PRM based systems too:

$ cat Squeak-vm.spec
%define brokenGcc %(gcc --version | fgrep 3.2 | fgrep -c "Red Hat")

Name:    Squeak-vm
Summary: The Squeak virtual machine
Version: 3.4
Release: 1redhat
Vendor:  Squeak Foundation
Source: http://www-sor.inria.fr/~piumarta/squeak/unix/release/Squeak-3.4-1.src.tar.gz
Patch0:  double-gcc3.patch
Patch1:  mpeg-asm.patch
URL:  http://squeak.org
Packager: Bert Freudenberg <bert at isg.cs.uni-magdeburg.de>
Copyright: Squeak License
Group: Development/Languages
AutoReqProv: no

BuildRequires: XFree86-devel
Requires: XFree86-libs glibc
Provides: %{name} = %{version}
BuildRoot: %{_tmppath}/%{name}
%define debug_package %{nil}

%if %{brokenGcc}
BuildRequires: compat-gcc
%define compiler CC=gcc296
%else
%define compiler $CC
%endif

%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-3.4-1
%patch0
%patch1

%build
mkdir bld
cd bld
%{compiler} ../platforms/unix/config/configure --prefix=/usr
%{compiler} make

%install
cd bld
make install ROOT=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%files
/usr/bin/squeak
/usr/lib/squeak
%doc
/usr/doc/squeak
/usr/man/man1/squeak.1.gz
/usr/man/man1/inisqueak.1.gz

%changelog
* Fri Jul 25 2003 Ted Wright <ted.wright at grc.nasa.gov>
- added mpeg asm patch for gcc 3.3 from Bert Freudenberg
- spec file tweaks for Red Hat Linux (release 1redhat)
- added detection and workarounds for broken Red Hat gcc 3.2
* Fri Jul 18 2003 Bert Freudenberg <bert at isg.cs.uni-magdeburg.de>
- first RPM by me (release 1bert)


Ted



More information about the Squeak-dev mailing list