[Ecls-list] Conflicting init_ functions when building libraries

Goffioul Michael goffioul at imec.be
Wed Mar 15 07:42:02 UTC 2006


> Hi,
> 
> i just tracked down a problem when building libraries with 
> ecl to embed them in a c/c++ binary under linux. My lisp code 
> consists of two subsystems living in different directories, 
> one of them is foreign code (the cl-ppcre). Accidentaly, 
> there are two lisp files with the same name, so that when i 
> build either two separate libraries or one combined library, 
> one init_... function shadows the other.
> This results in obscure errors: missing symbols or simply 
> code that does behave differently than in the interpreted version.
> 
> Although renaming one of the files would be an option, i 
> don't think that would be feasible if someone gets code 
> off-the-shelf or when working with larger systems. Including 
> directory components into the initialization function name 
> would fix -my- problem, but i don't know if that is a good solution.
> 
> I looked into the code in cmp/cmpmain, but i doubt that 
> changing init-function-name will be enough.

Try to change the variable si::*init-function-prefix* before compiling
those modules. See the file build/compile.lsp for an example.

Michael.




More information about the ecl-devel mailing list