On 22 Feb 2011, at 12:44, nalaginrut wrote: >>>> The problem is SCM_BOOL_T convert to #nil, and (not #nil)==>#t ! So I >>>> can't get a logical result. >>> >>> I believe this indicates that you compiled this extension against >>> headers from 1.8 or earlier. Not sure how you managed that :) >> >> I noticed that that is possible - in fact, to make sure to get it right, I >> removed all Guile headers in /usr/local/include/ and reinstalled guile-2.0. >> >> The Guile 1.8 header libguile.h is in /usr/local/include/, but the one from >> 2.0 is in /usr/local/include/guile/2.0/. Both directories are included when >> compiling. So if the include order is wrong, or the from 2.0 is somehow >> excluded, you may get the wrong one, and it may in fact compile. >> >> Perhaps 2.0 should have some check that it gets the right header. > > Well~I modified the include path and it's done. > Thanks all!
If you use `guile-config compile` (and `guile-config link`) in your Makefile it will come out right.