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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.