Re: psu-lush 1.2

Ralf Juengling <[email protected]> Mon, 10 Dec 2007 10:10:13 -0800 (PST)
Newsgroups gmane.lisp.lush.devel
Message-ID <[email protected]>
Thanks Raymond,

I was caught up with stuff the last two weeks.

On Fri, 30 Nov 2007, Raymond Martin wrote:

> during compile this message:
>
> gcc  -std=c99 -DHAVE_CONFIG_H -DNO_DEBUG -Wall -O3 -march=i686 -mmmx -msse -I../include -pthread -I/usr/include/freetype2 -c index.c
> index.c:529: warning: C99 inline functions are not supported; using GNU89
> index.c:529: warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
..

I don't understand this warning. It says -std=c99 on the command line,
so gcc should expect c99 code. Is this an older version of the compiler?



> During start up of psu-lush and loading of modules
>
> [iterator-classes.lsh]
>
> *** module-load : dld/bfd error
> *** File in wrong format : "/mnt/hdb11/raymond/work/science/compsci/languages/l ...
>
> Can't see which file it is referring to, but it starts with iterator-classes.lsh
>
> Did you see these problems already? The second problem might only be on my computer
> because I am having problems with flaky hardware that locks up X when I compile anything
> intense.

Yes, I found that problem too late, unfortunately.
It may occur (only) when you do a system install and
'varlushdir' is defined.

iterator-classes is a module that is imported by
sys/stdenv.lsh and so all definitions in there are in
the image file (the .dump file). iterator-classes contains
build instructions (dhc-make) and so there is a dependency
on the corresponding object file in the image file.

Now the problem is this: On interpreter startup this object
file gets loaded from the lushdir directory. This object file
may look outdated (after copying by make install) and the next
time a line (libload "iterator-classes") is read,
iterator-classes is read again. The interpreter compiles
again, now in the varlushdir location. Since the old object
file is not in the varlushdir location, the interpreter does
not unload the old object file (as it should), resulting in
the above error.

I'm still thinking about the right way to fix this. The
problem would not occur if 'make install' instructions would
copy the time information along with the files. This is
desirable, I think, because it would enable making use of
a pre-compiled standard library. That way you don't only
save compilation time but also space in varlushdir (usually
in you home directory).

Ralf

-------------------------------------------------------------------------
SF.Net email is sponsored by: 
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php