On Wed, Mar 31, 2010 at 10:24 AM, Gabriel Dos Reis <gdr@integrable-solutions.net> wrote:
However, if I specify sys:libcmp.a it is interpreted as reference to a symbol
LIBCMP.A in the SI package.  If I specify "sys:libcmp.a", it is translated to
"sys:libcmp.o" which of course does not exist.

I am afraid you might be using a too old version of ECL for here it works perfectly:

$ cat foo.lsp
(print 1)(quit)
$ ecl
ECL (Embeddable Common-Lisp) 10.3.1
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.
> (compile-file "foo" :system-p t)
> (c::build-program "foo" :lisp-files '("foo.o" "sys:libcmp.a"))
$ ./foo


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)