scsh-users
[Top] [All Lists]

Re: scsh/Linux build problems.

To: scsh@martigny.ai.mit.edu
Subject: Re: scsh/Linux build problems.
From: hjstein@blinky.cpaf.com (Harvey J. Stein)
Date: 11 Mar 1996 13:29:48 GMT
Organization: NetVision LTD.
In article <199603090051.TAA17658@lambda.ai.mit.edu>
shivers@lambda.ai.mit.EDU (Olin Shivers) writes: 

   I'm distressed by your difficult build process. One of the problems is
   that Linux isn't *an* OS -- it's a loose collection of OS's. It's hard
   for us to get out configure/build process slicked up for Linux because
   there are a lot of different variants. Solaris, Irix, FreeBSD -- these
   are all pretty consistent.

I don't see how my problems were Linux specific.  The difficulties
lied in having little disk space and having little RAM (16meg).  The
solution was to try to compile a dynamically linked, stripped version
without debugging.  The problem was that getting the "-g" out of all
the calls to gcc, and getting the "-s" into the apropriate calls to
the linker was tricky - the "-g" was both on CFLAGS and on LDFLAGS,
and some links couldn't tolerate the "-s" flag.  An additional hurdle
was that the INSTALL file mentioned "make CFLAGS=-O2 LDFLAGS=-s", but
this doesn't work, because as I said, some of the links need the
symbols.

I'd expect that someone trying to build a stripped version without
debugging would run into the same problems on any platform.

   The scsh image is big for a reason: you are getting a lot. A compiler,
   a shell, a debugger, a bignum package, etc., etc. It's all there.

   This wouldn't be a problem if all this junk would just lurk on disk
   until you needed it, but it isn't. It's in the GC'd heap, so it gets
   copied back and forth on each GC.

This is really too bad.  It seems to make scsh unsuitable all those
little shell scripts and awk scripts that I have to write - the
overhead's just too high.  It means that scsh can only be used for
large, long running applications, which I don't think is the intent.
It also means that all this code cannot be shared between multiple
running copies.  So, is there any work being done on getting around
this - I saw something about getting the base system off the heap and
into code space.  Is this being done?  Any target date?  What about a
porting to a version of scheme that includes a compiler - is any work
being done on this?

   I'm not sure how to advise you on Linux. I don't use the system; I find
   FreeBSD to be a higher-quality, more consistent code base. What I *really*
   need is a Linux wizard that could get scsh's configure scripts beaten into
   submission for Linux. I thought we'd won for release 0.4.2, but various
   Linux flavors do still give us problems.

I'd be happy to help if I can, but like I said, I think it's really
just a matter of not having the same LDFLAGS in library links as in
executable links, and having LDFLAGS inherit "-g" only when CFLAGS has
it...

Thanks,

--
Dr. Harvey J. Stein             *You* are a worthless C coder.  You were   
Berger Financial Research       born a C coder, you will die a C coder,    
abel@netvision.net.il           and only your bugs will morn you.          
                                (paraphrased from the Disney movie "Aladdin")

<Prev in Thread] Current Thread [Next in Thread>