[Ecls-list] unnecessary (?) glibc dependencies
Juan Jose Garcia-Ripoll
worm at arrakis.es
Tue Jul 1 04:51:08 UTC 2003
On Tuesday 01 July 2003 11:29, Edi Weitz wrote:
> Ooops! That does mean 0.9 doesn't work for Solaris? Good to know. But
> I take it that I should grab the nightly CVS tarball next week and try
> this one, right?
No, 0.9 did not work for Solaris; 0.9b will. I had to solve several problems:
missing functions (setenv), different integer type names (u_int8_t ->
uint8_t), and some other tweaks. However, this port revealed one memory leak
in "dpp", and I am glad to see that the source code of ECL slowly converges
to something really portable. You will have to wait, though, until I announce
the port, because I still have to make sure that I did not break anything in
the other supported platforms.
> > I don't know where this dependency comes from :-/ I suppose that
> > glibc 2.2.* and 2.1.* are binary incompatible and the system
> > therefore complains. Lacking a better solution, I would recommend
> > building a statically linked image:
> >
> > LDFLAGS="-static" ../src/configure --prefix=$HOME --disable-shared
> > --enable-local-gmp
>
> Does that mean I should already build ECL itself with these flags?
> I'll try that.
Yes. --disable-shared tells ECL that it should not produce dynamically linked
libraries for lisp code; the LDFLAG="-static" ensures that all other
libraries (i.e. non-lisp) are statically linked in the program.
> I don't mind if the image I work with is large as long as the binaries
> built with BUILD-PROGRAM aren't dozens of megabytes big.
They will not be: ECL itself is just about 800k; ECL plus the C library is
about 1200k in my SuSe 8.2 (i586); the compiler adds an overhead of about
300k.
jlr at mpq3p32:~/src/ecls-new/build> ./ecl
;;; Warning: PROCLAIM is being redefined.
;;; Warning: COMPILE-FILE-PATHNAME is being redefined.
;;; Warning: COMPILE-FILE is being redefined.
;;; Warning: COMPILE is being redefined.
;;; Warning: DISASSEMBLE is being redefined.
;;; Warning: WITH-COMPILATION-UNIT is being redefined.
;;; Loading "/home/jlr/.ecl"
ECL (Embeddable Common-Lisp) 0.9
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help. Top level.
> (c::build-program "myecl")
[...]
jlr at mpq3p32:~/src/ecls-new/build> size ecl
text data bss dec hex filename
1545378 37696 57452 1640526 19084e ecl
jlr at mpq3p32:~/src/ecls-new/build> size myecl
text data bss dec hex filename
1262812 36188 57292 1356292 14b204 myecl
jlr at mpq3p32:~/src/ecls-new/build> ldd myecl
not a dynamic executable
Regards,
Juanjo
More information about the ecl-devel
mailing list