I'm completely ignorant of the internal compilation. Can I understand the 
problem this way: for a binary file, the compilation has been done already, 
so it should not be necessary for maxima to compile itself every time I 
call it. After I installed command line tools, the required compiler is 
there, so it successfully compiled itself though conceptually it is not 
necessary. This seems logical to me, but there seems to be another problem: 
I googled and has been told that for newer versions of Xcode (my version is 
6.1), command line tools has been installed already. But anyway it all 
turns out good after I reinstalled CLT. 

Now I could launch maxima successfully, except that I got this new warnings 
every time I started calculations: 
https://groups.google.com/forum/#!topic/sage-support/JxBv382J9tI. Are these 
warnings signs that maxima is still compiling itself every time I started? 
Since these problems seem to be unique only on my mac (and the weird 
non-existence of CLT in Xcode), can I assume that the problem actually lies 
in my OSX or Xcode? I actually tried uninstall Xcode completely and 
reinstall, but the warnings are still there. 

Thanks again for your efforts into this. And apologies for my ignorance.

On Friday, November 21, 2014 4:07:55 AM UTC+8, Nils Bruin wrote:
>
> On Thursday, November 20, 2014 4:36:52 AM UTC-8, Peter Bruin wrote:
>>
>> It could be caused by the following lines in the Maxima source code (in 
>> src/commac.lisp):
>>
>> (defparameter trailing-zeros-regex-f-0 (compile nil 
>> (maxima-nregex::regex-compile "^(.*\\.[0-9]*[1-9])00*$")))
>> (defparameter trailing-zeros-regex-f-1 (compile nil 
>> (maxima-nregex::regex-compile "^(.*\\.0)00*$")))
>> (defparameter trailing-zeros-regex-e-0 (compile nil 
>> (maxima-nregex::regex-compile "^(.*\\.[0-9]*[1-9])00*([^0-9][+-][0-9]*)$")))
>> (defparameter trailing-zeros-regex-e-1 (compile nil 
>> (maxima-nregex::regex-compile "^(.*\\.0)00*([^0-9][+-][0-9]*)$")))
>>
>> These are executed each time Maxima starts.  The call to compile 
>> apparently invokes the C compiler.
>>
> Indeed, a feature of ECL is that compile defers to the C compiler. It is 
> of course crazy this gets compiled every initialization of maxima. I don't 
> think this happened before either.  These definitions seem to have been 
> introduced between 5.33.0 and 5.34.1. They can easily be rewritten in such 
> a way that an init-time compile can be avoided, either by stripping out the 
> compile statement entirely (I don't think this is critical code) or by 
> forcing the compile statement to run at compile time. The short-term 
> solution is probably to patch maxima to not compile these things at all. 
> Longer term: https://sourceforge.net/p/maxima/bugs/2845/
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to