Comment 18 for bug 261056

Revision history for this message
themusicgod1 (themusicgod1) wrote :

> I have also tried to build maxima using gcl but then the configure script complains about the missing ansi support in the gcl version which resided in the ubuntu repository...

Turns out, and this is probably true going back to even karmic, that gcl *did* come with ansi-cl support... the readme says as much, but you need environment variable GCL_ANSI to be defined (AND EXPORTED) in order for ansi-cl to be available.

themusicgod1@eva1:~$ export GCL_ANSI=""
themusicgod1@eva1:~$ gcl -batch -eval '#+ansi-cl (format t "MAXIMA_GCL_ANSI_TEST_SUCCESS~%") #-ansi-cl (format t "MAXIMA_GCL_ANSI_TEST_FAILURE~%")' -eval '(si::bye)'
MAXIMA_GCL_ANSI_TEST_FAILURE
themusicgod1@eva1:~$ export GCL_ANSI="true"
themusicgod1@eva1:~$ gcl -batch -eval '#+ansi-cl (format t "MAXIMA_GCL_ANSI_TEST_SUCCESS~%") #-ansi-cl (format t "MAXIMA_GCL_ANSI_TEST_FAILURE~%")' -eval '(si::bye)'
MAXIMA_GCL_ANSI_TEST_SUCCESS

maxima does build (at least for me) with GCL_ANSI defined and set to true in the above manner, even when I compile maxima with gcl and then remove gcl from my system

Anyway. The aforementioned debian bug suggests this is a kernel security setting issue:

"Greetings! Your kernel is not allowing pages to be marked executable,
or maybe writable:

  if(mprotect(pagetochar(pbeg),n*PAGESIZE,
       (writable & SGC_WRITABLE ? PROT_READ_WRITE_EXEC : PROT_READ_EXEC)))
    FEerror("Couldn't protect",0);"

Camm Maguire asked for more details why...8 years ago. Without details on why it's kind of hard to progress on this. Marking incomplete.