Hi Robert!
Thank you very much for your analysis of the problem.
Extra directory for header files is determined in gcc
via compiler::*cc* variable. Actually this is just full
gcc command with all parameters which is used by lisp
compiler. The fix for it is in init-cl.lisp file.
This fix was erroneous in the trunk (it was OK in 5.12 branch).
I think that I fixed that problem in trunk and in the 5.13 branch.
So, it should be OK in next RC.
Regards,
Vadim
> On 8/6/07, Vadim V. Zhytnikov <vvzhy at mail.ru> wrote:
>
>> I'm really puzzled. The only change I introduced in 5.12.0a compared
>> to 5.12.0 is extra path to cc1.exe directory in maxima.bat.
>> And this change apparently fixed compilation problem.
>> And so it remains in 5.12.99rc1. Take a look at maxima.bat file.
>
> Vadim, I looked at the 5.12.99rc1 + Windows Vista problem again.
> To recap: Maxima works OK except that some tests fail, namely
> the ones in which the Maxima function compile is called.
>
> It appears the immediate problem is that GCL calls GCC without
> the appropriate -I command lines options to tell GCC the location
> of the C header files. :lisp (trace si::system) shows this.
> In 5.12.0a + Vista, GCC is called with three -I options,
> one for Maxima-5.12.0a/include, one for Maxima-5.12.0a/lib/mingw32
> or something like that, and one for /gcl/something/unixport/../h.
> This last -I option is constructed from SI::*SYSTEM-DIRECTORY*;
> the directory /gcl/... doesn't actually exist.
>
> In 5.12.99rc1, GCC is called only with the invalid -Ic:/gcl/... option.
> So GCC fails due to lack of header file. I can cause it to work
> by assigning a string containing the two valid header file locations
> to SI::*SYSTEM-DIRECTORY*. So that's good news.
> Assigning to SI::*SYSTEM-DIRECTORY* doesn't seem to break
> anything else; not surprising since it was invalid anyway.
>
> I looked at the source code for the GCL COMPILE function;
> the relevant bit is in cmpnew/gcl_cmpmain.lsp iirc.
> I don't see any variables except SI::*SYSTEM-DIRECTORY* being
> used to construct the GCC command line. Maybe that bit has
> changed recently? I didn't investigate that.
>
> Dunno where to go from here.
>
> best
>
> Robert
>
--
Vadim V. Zhytnikov
<vvzhy at mail.ru>
<vvzhy at netorn.ru>