update release newLISP 9.4.1

Started by Lutz, July 06, 2008, 02:45:09 PM

Previous topic - Next topic

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/">http://www.newlisp.org/downloads/



or here: http://www.newlisp.org/index.cgi?page=Downloads">http://www.newlisp.org/index.cgi?page=Downloads

pjot

#1
Compiles without any errors on Tru64 Unix. Only one test in 'qa-dot' fails:


Quote
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:


Quote
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

pjot

#2
OK I couldn't wait. These are the results for (cons):



Tru64Unix
Quote
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
Quote
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.

Lutz

#3
QuoteHmmm... 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'.

pjot

#4
Quote
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:
Quote
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

Lutz

#5
QuoteNo, 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.