Page 1 of 1
update release newLISP 9.4.1
Posted: Sun Jul 06, 2008 9:45 pm
by Lutz
* some missing gaps filled in reference passing
* fixed some memory leaks in matrix functions and 'count'
* HTML and PDF manual formatting updates
for users of the recent version 9.4.0 it is recommended to update to version 9.4.1
files:
http://www.newlisp.org/downloads/
or here:
http://www.newlisp.org/index.cgi?page=Downloads
Posted: Mon Jul 07, 2008 11:29 am
by pjot
Compiles without any errors on Tru64 Unix. Only one test in 'qa-dot' fails:
olga> ./qa-dot
Testing built-in functions ...
Testing contexts as objects and scoping rules ...
total time: 6464
>>>>> TESTING: newlisp FINISHED WITH ERRORS:
>>>> share failed ERR: not enough memory in function share
called from user defined function QA:unix-test-share
called from user defined function QA:qa
Testing contexts as objects and scoping rules ...
total time: 8671
>>>>> TESTING: newlisp FINISHED WITH ERRORS:
>>>> share failed ERR: not enough memory in function share
called from user defined function QA:unix-test-share
called from user defined function QA:qa
This system has 1Gb internal RAM memory.
BTW also on my 64bit Linux system (Linux 2.6.22.8 #1 SMP Tue Sep 25 20:41:25 BST 2007 x86_64 x86_64 x86_64 GNU/Linux) newLisp compiles well, but there are some errors:
peter@AsteroidRider:~/installation/newlisp-9.4.1$ ./qa-dot
Testing built-in functions ...
Testing contexts as objects and scoping rules ...
total time: 3094
>>>>> TESTING: /usr/bin/newlisp FINISHED WITH ERRORS:
>>>> cons failed nil
>>>> date failed nil
>>>> date-value failed nil
>>>> pipe failed nil
Are these problems in the testsuite, or should I dig into it...?
Cheers
Peter
Posted: Mon Jul 07, 2008 12:18 pm
by pjot
OK I couldn't wait. These are the results for (cons):
Tru64Unix
newLISP v.9.4.1 64-bit on Tru64Unix IPv4, execute 'newlisp -h' for more info.
> (= (cons 'c '(a b) -1) '(a b c))
true
> (cons 'c '(a b) -1)
(a b c)
Linux 64 bit
newLISP v.9.4.1 on Linux IPv4, execute 'newlisp -h' for more info.
> (= (cons 'c '(a b) -1) '(a b c))
nil
> (cons 'c '(a b) -1)
(c a b)
Hmmm... on 64bit Linux I started compilation with 'make', not specifying some 64bit Makefile. The strange thing is that my applications appear to work OK with this newLisp version.
When I compile with 'makefile_linux64' the (cons) works but then the newLisp binary itself is a 32bit application. Then I cannot import 64bit libraries anymore.
On Tru64Unix however it is all working correctly
and I can also import 64bit libraries... any idea what I can do to make all work on 64bit Linux?
Thx, P.
Posted: Mon Jul 07, 2008 12:39 pm
by Lutz
Hmmm... on 64bit Linux I started compilation with 'make', not specifying some 64bit Makefile. The strange thing is that my applications appear to work OK with this newLisp version.
for a 64bit app on 64 bit Linux use:
make -f makefile_linux64LP64
for a 32bit app on 64 bit Linux use:
make -f makefile_linux64ILP32
never do just make on a 64bit Linux, you will end up with all kind of weird behavior
ps: how did you come up with the -1 in 'cons'? 'cons' does not have a third parameter. It should ignore the third parameter. Perhaps you mean 'push'.
Posted: Mon Jul 07, 2008 12:58 pm
by pjot
how did you come up with the -1 in 'cons'? 'cons' does not have a third parameter. It should ignore the third parameter. Perhaps you mean 'push'.
No, I have copied that line from your own 'qa-dot' testfile, line 540.
The 'make -f makefile_linux64LP64' now works, except for this:
peter@AsteroidRider:~/installation/newlisp-9.4.1$ ./qa-dot
Testing built-in functions ...
Testing contexts as objects and scoping rules ...
total time: 3126
>>>>> TESTING: /usr/bin/newlisp FINISHED WITH ERRORS:
>>>> pipe failed nil
Again, how well up to date is the 'qa-dot'? For this may not be a real error. Same with the (share) on Tru64Unix.
Peter
Posted: Mon Jul 07, 2008 1:11 pm
by Lutz
No, I have copied that line from your own 'qa-dot' testfile, line 540.
yes, I just found this in the CHANGES notes for version 8.8.10. This was put in as an experiment for consing on the end of a list and tested, but never documented, and I will take it out.
'pipe' may have failed for timing reasons, the timing is tuned for my testing on the usual OSs. You could increase the '(sleep 500)' to a higher value in the function 'test-pipe'. The parent starts a new child process using 'process' and then waits for 500 ms before writing to the pipe, then waits another 500 ms before reading it back.
For an extended test do:
make test
and it will run more tests.