<div dir="ltr">On Wed, Sep 10, 2008 at 8:44 PM,  <span dir="ltr"><<a href="mailto:kmkaplan%2Becl@kim.kim-minh.com">kmkaplan+ecl@kim.kim-minh.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Some more investigation indicate that this is not a ASDF problem.  See<br>
below.[...]<br>
Since you can't reproduce it I did some deeper investigations and the<br>
breakage occured at asdf-ecl.lisp 1.5.  The thing I noticed is that it<br>
used (compile-file ... :system-p  t) and this looks like the culprit.</blockquote><div><br>Oh man, this one was hard to track down. The culprit is not compile-file, but the linker system. The person who wrote it, or the guy who wrote the specification if there was any, must have been hard on crack at the time.<br>
<br>What goes on is the following. I have a library with two functions, foo() and foo1(), so that foo() calls foo1(). And then there is another library, with a function called faa() which calls another function called foo1(). The names are the same, but the libraries have been linked separately. Well, it turns out that if I load library 1 first and then library 2 (using dlopen), then the second library will end up calling the first foo1() function.<br>
<br>As I said, someone must have gone crazy allowing the namespaces of other libraries to interfere with the one I am loading at the moment.<br><br>I have a partial solution which I am testing right now which uses hashed names for _all_ object files. That seems to solve the problem on a Linux/x86_64 (Ubuntu) on which I am trying things now. I will post an email when things have been committed.<br>
<br>Again, thanks a lot for the test case. It will get added to the regression tests if you do not mind.<br><br>Juanjo<br> </div></div>-- <br>Instituto de FĂ­sica Fundamental<br>CSIC, Serrano, 113, Madrid 28040 (Spain) <br>
<a href="http://juanjose.garciaripoll.googlepages.com">http://juanjose.garciaripoll.googlepages.com</a><br>
</div>