Dear ciao-users,
we have realised that some versions of gcc (in particular, gcc 2.96, which is shipped with at least Red Hat 7.1), seem to produce incorrect code for Ciao Prolog. This can be tested simply by issuing the query
?- X = 1.0.
at the toplevel. If the answer comes wrong, then you have been hit.
While a satisfactory workaraund or complete bug correction appears, we advise all users who have noticed problems in programs using floating point arithmetic or clp(r) to recompile and reinstall Ciao Prolog as follows:
1) Go to the sources. 2) Issue the command "make engclean" 3) Edit SETTINGS: search for the OPTIM_LEVEL flag and set it to 'normal' 4) Issue the command "make eng" 5) Issue the command "make justinstalleng"
Of course, cleaning up completely, editing SETTINGS, and reinstalling is a solution, but the steps above constitute a minimal and much faster set of steps. Note that the Ciao Prolog applications executed with the generated engine will run slower due to lack of optimizations.
Please do not hesitate to contact ciao-bug(a)clip.dia.fi.upm.es for bug reporting, ciao-users(a)clip.dia.fi.upm.es for general comments, questions, etc.
Best regards,
MCL