Issues in installing 2.1
"Richard A. O'Keefe" <[email protected]>
| Newsgroups | gmane.comp.lang.eiffel.smalleiffel |
|---|---|
| Message-ID | <[email protected]> |
I have just downloaded SmartEiffel 2.1 from the primary web site,
and am trying to install it (in a test area).
The machine is a SunBlade 100 (UltraSPARC II) running Solaris 2.9.
gcc is 2.95.2, although I have 3.3.2 available as "new gcc".
The READ_ME says
Chose some place on the disk to unpack the se.tgz archive:
cd InstallationDirectory; gunzip se.tgz ; tar xvf se.tar
In fact the file arrived as SmartEiffel-2-1.tgz, not se.tgz
What I actually did was
cd /users/local/src
gzcat SmartEiffel-2-1.tgz | tar xvf -
Update your .cshrc (or equivalent) file with the following line:
setenv PATH your/installation/directory/SmartEiffel/bin:$PATH
I misread this. In retrospect, this is because I couldn't believe
that I would have to change my ~/.cshrc in order to *install* a program.
This is rather unusual. I simply started a new csh and made the change
in that. This didn't work, and after floundering around for a while,
simply scrapped the SmartEiffel directory and contents and started again.
This time I did exactly what I was told and added a line
setenv PATH /users/local/src/SmartEiffel/bin:$PATH
to my ~/.cshrc
Then, in a freshly created shell window, just type:
cd your/installation/directory; cd SmartEiffel; make interactive
"shell window"? Why does it have to be a new *window*? I just started
up a fresh csh (in the right directory) and ran 'make interactive'.
I answered all the questions by pressing the Enter key. The build phase
looked like
Summary of gathered options:
- C mode: boost
- C compiler: gcc
- C options: (compiler) -pipe -O2
(linker)
Here we go!
System call "gcc -pipe -O2 -c -x c compile_to_c1.c".
...
System call "gcc -pipe -O2 -c -x c compile_to_c35.c".
System call "gcc -o compile_to_c compile_to_c[1-9].o compile_to_c[1-2][0-9].o compile_to_c3[0-5].o -x none -lm ".
System call "/users/local/src/SmartEiffel/bin/compile_to_c -boost -no_gc -relax -o compile_to_c compile_to_c".
Received signal 11.
Eiffel program crash at run time.
No trace when using option "-boost"
Last system call failed (error reported).
System call "/users/local/src/SmartEiffel/bin/compile_to_c -boost -no_gc -relax -o compile_to_c compile_to_c" failed.
System call "/users/local/src/SmartEiffel/bin/clean compile_to_c".
sh: /users/local/src/SmartEiffel/bin/clean: not found
Last system call failed (error reported).
System call "/users/local/src/SmartEiffel/bin/clean compile_to_c" failed.
System call "/users/local/src/SmartEiffel/bin/clean compile".
sh: /users/local/src/SmartEiffel/bin/clean: not found
Last system call failed (error reported).
System call "/users/local/src/SmartEiffel/bin/clean compile" failed.
System call "/users/local/src/SmartEiffel/bin/clean clean".
sh: /users/local/src/SmartEiffel/bin/clean: not found
Last system call failed (error reported).
System call "/users/local/src/SmartEiffel/bin/clean clean" failed.
*** There have been errors during the install of SmartEiffel. Sorry :-(
This is exactly the same way that the build failed when I set $PATH in
a new csh instead of in ~/.cshrc. I notice that there are error messages
from 'sh' saying it couldn't find this or that. To be absolutely sure, I
had also set $PATH in my ~/.profile.
sh is 100% correct here. At this stage in the build process,
.../SmartEiffel/bin contains
compile_to_c compile_to_c1.c compile_to_c3.c READ_ME
compile_to_c.h compile_to_c2.c compile_to_c4.c
and there is indeed no 'clean' there at all.
But perhaps that's because of the crash. Perhaps it should be recompiled
without boost mode, or with a completely different C compiler.
Threading my way through install.c's menus, I found myself bothered by
the fact that "go up a level" had a different magic code every time.
It would be nice if "return to parent menu" was always [0].
When I tried to select the C compiler, I found myself *very* confused.
The C compiler on my system is called 'cc'. When I'm asked what C
compiler I want, I say 'cc'. Then I'm told this is ambiguous! But
'cc' is the full and complete name of the C compiler! There is a list
of C compiler names, amongst which I see 'cc-openvms' and 'cc-unix',
but that's no help to me, because I do not have any C compiler called
cc-unix!
Eventually, with some trepidation, I selected cc-unix.
Then it said
This compiler has no known C++ capabilities.
In order to compile C++ programs, please also pick a C++ compiler.
Type <Enter> if you don't know what this is all about.
Please enter the new value of the default C++ compiler:
none, vpcc, cl, <gcc>, icc, wcl386, bcc32
The traditional name for C++ compilers on Unix is CC. Why is this not
listed? Not that it matters; if I wanted to compile C++, I wouldn't
be installing Eiffel...
Having set my C compiler to be 'cc' with option '-O', I then started
[5] install again. It told me that the most was 'boost'; I set that
to all_check, but that has no discernable effect on the C compilations,
System call "cc -O -c compile_to_c3.c".
and the like.
However, this seemed to work. So SmartEiffel-2-1 installed OK with
C compiler = /opt/SUNWspro/bin/cc (Sun WorkShop 6 update 2 C 5.3 2001/05/15)
but failed with GCC 2.95.2.