newLISP Fan Club

Forum => newLISP newS => Topic started by: Lutz on January 12, 2010, 09:50:15 AM

Title: newLISP development release v.10.1.9
Post by: Lutz on January 12, 2010, 09:50:15 AM
• bug fixes for the new FOOP self function and for the 64-bit compile flavor



Files and changes notes: http://www.newlisp.org/downloads/development/
Title: Re: newLISP development release v.10.1.9
Post by: itistoday on January 12, 2010, 11:53:21 PM
Awesome, thanks for including the updated SMTP module (//http)!
Title: Re: newLISP development release v.10.1.9
Post by: newdep on January 20, 2010, 10:30:28 AM
Hi Lutz,



Running a make on Solaris 9 gave me this.. It does compile but not completely without warnings ;-)



Im compiling without readline and without ncurses.



SunOS csitest 5.9 Generic_118558-09 sun4u sparc SUNW,Sun-Fire-V240











root@csitest newlisp-10.1.9# make sunos
make -f makefile_sunos
make[1]: Entering directory `/var/norman/newlisp-10.1.9'
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS newlisp.c
newlisp.c: In function `p_apply':
newlisp.c:4242: warning: dereferencing type-punned pointer will break strict-aliasing rules
newlisp.c: In function `implicitNrestSlice':
newlisp.c:4925: warning: dereferencing type-punned pointer will break strict-aliasing rules
newlisp.c:4938: warning: dereferencing type-punned pointer will break strict-aliasing rules
newlisp.c: In function `p_mainArgs':
newlisp.c:6664: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-symbol.c
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-math.c
nl-math.c: In function `randomDist':
nl-math.c:1093: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-math.c: In function `p_series':
nl-math.c:1588: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-list.c
nl-list.c: In function `explodeList':
nl-list.c:126: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-list.c: In function `p_lookup':
nl-list.c:561: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-list.c: In function `implicitIndexList':
nl-list.c:1093: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-list.c:1100: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-list.c:1123: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-list.c: In function `implicitIndexArray':
nl-list.c:1984: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-list.c:1991: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-list.c:2005: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-liststr.c
nl-liststr.c: In function `p_chop':
nl-liststr.c:244: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `p_push':
nl-liststr.c:366: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:371: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:431: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `p_pop':
nl-liststr.c:503: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:508: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:529: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `popString':
nl-liststr.c:564: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:567: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `pushOnString':
nl-liststr.c:610: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `p_select':
nl-liststr.c:693: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:697: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:740: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:744: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `p_slice':
nl-liststr.c:776: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c:778: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `p_find':
nl-liststr.c:942: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `p_dup':
nl-liststr.c:1218: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-liststr.c: In function `p_rotate':
nl-liststr.c:1515: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-string.c
nl-string.c: In function `implicitIndexString':
nl-string.c:174: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-string.c: In function `p_char':
nl-string.c:272: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-string.c: In function `p_explode':
nl-string.c:363: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-string.c: In function `p_pack':
nl-string.c:1657: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-filesys.c
nl-filesys.c: In function `p_readBuffer':
nl-filesys.c:256: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c: In function `writeBuffer':
nl-filesys.c:498: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c: In function `p_share':
nl-filesys.c:1852: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c:1858: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c: In function `p_date':
nl-filesys.c:2168: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c:2173: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c: In function `p_now':
nl-filesys.c:2344: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c: In function `p_dateValue':
nl-filesys.c:2411: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c:2412: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c:2413: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c:2420: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c:2421: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-filesys.c:2422: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-sock.c
nl-sock.c: In function `p_netReceive':
nl-sock.c:764: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-sock.c: In function `p_netReceiveUDP':
nl-sock.c:917: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-sock.c: In function `p_netReceiveFrom':
nl-sock.c:949: warning: dereferencing type-punned pointer will break strict-aliasing rules
nl-sock.c: In function `p_netSend':
nl-sock.c:969: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-import.c
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-xml.c
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-web.c
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-matrix.c
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS nl-debug.c
gcc  -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -c -O2 -DSUNOS pcre.c
gcc  newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o nl-sock.o nl-import.o nl-xml.o nl-web.o nl-matrix.o nl-debug.o pcre.o -m32 -lm -ldl -lrt -lsocket -lnsl -o newlisp
make[1]: Leaving directory `/var/newlisp-10.1.9'
Title: Re: newLISP development release v.10.1.9
Post by: Lutz on January 20, 2010, 12:02:08 PM
Add -Wno-strict-aliasing to the CFLAGS line.
Title: Re: newLISP development release v.10.1.9
Post by: newdep on January 20, 2010, 12:24:30 PM
...guess what ;-)





Aaaa you dont have to guess you know already ;-)
Title: Re: newLISP development release v.10.1.9
Post by: TedWalther on January 20, 2010, 02:10:38 PM
newdep, can you try using "configure-alt" and tell me if you get the same error message?
Title: Re: newLISP development release v.10.1.9
Post by: TedWalther on January 20, 2010, 02:13:18 PM
Lutz, you mentioned in the wishlist thread that some of the requests made it in to the latest release.  Looking over the changelog I couldn't figure out which changes made it in.  Am I missing something?
Title: Re: newLISP development release v.10.1.9
Post by: newdep on January 20, 2010, 02:27:13 PM
here you are.. ;-)...



No strip but binary builds...









root@csitest newlisp-10.1.9# ./configure-alt

Detected Operating System SUNOS
Detected memory model ILP32, using memory model ILP32
UTF-8 is enabled
readline support is disabled

To enable readline support, use the --enable-readline option, and specify the
proper libraries to link by setting the RLFLAGS variable when running
configure.  Also if necessary, use the INCLUDES variable to specify where the
readline header files are."


Type "make" to build your newlisp binary.

If that doesn't work, type "make help"
root@csitest newlisp-10.1.9# make
make -f makefile_configure
make[1]: Entering directory `/var/newlisp-10.1.9'
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG newlisp.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-symbol.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-math.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-list.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-liststr.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-string.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-filesys.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-sock.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-import.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-xml.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-web.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-matrix.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-debug.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG pcre.c
gcc -m32 -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c  -DNEWCONFIG nl-utf8.c
gcc newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o     nl-sock.o nl-import.o nl-xml.o nl-web.o nl-matrix.o nl-debug.o pcre.o nl-utf8.o -m32 -lm -ldl -lrt -lsocket -lnsl  -o newlisp
strip newlisp
make[1]: strip: Command not found
make[1]: *** [default] Error 127
make[1]: Leaving directory `/var/newlisp-10.1.9'
make: *** [default] Error 2
Title: Re: newLISP development release v.10.1.9
Post by: Lutz on January 20, 2010, 03:24:03 PM
Ted:



I didn't say "latest release" but "next release" :-). Development 10.1.10 will probably be out in a few days. Stable release 10.2.0 is planned for February.



Norman:



In the pre-made makefiles I try not to put "no-strict-aliasing", trying to be as strict as possible. Some versions of the GCC compiler on some platforms seem to be able to distinguish between safe and dangerous type-punning, e.g. on OS X, I don't need it.



UNIX-strip just strips debugging symbols and makes the executable smaller.
Title: Re: newLISP development release v.10.1.9
Post by: TedWalther on January 21, 2010, 01:08:20 AM
You got me Lutz.  Is there still time to get in a patch to configure-alt so it will handle --prefix and --exec-prefix?
Title: Re: newLISP development release v.10.1.9
Post by: Lutz on January 21, 2010, 06:26:28 AM
There is still time. Just put a new configure-alt (not a patch) on m4 for me, or email it.
Title: Re: newLISP development release v.10.1.9
Post by: TedWalther on January 21, 2010, 11:42:51 PM
Lutz, to do this properly without altering the current build system, I've had to change several files: Makefile, configure, configure-alt, newlisp.h, and newlisp.c.  Also there is a new makefile created in the configuration stage, makefile_install.  And makefile_configure is renamed to makefile_build.  And the current installation logic is abstracted into the file makefile_original_install



Want all six of those files sent over as is?



Also, GNU standards want /usr/local to be the default, so I've made it the default in configure-alt.  I fixed the issue with NEWLISPDIR; it stays the same for the main build system, but in configure-alt magic happens so NEWLISPDIR is correctly reflecting the --prefix variable.



Ted
Title: Re: newLISP development release v.10.1.9
Post by: TedWalther on January 22, 2010, 01:25:09 AM
Ok, I emailed you a tarball.  It supports quite a few of the GNU options, ie, --prefix, --exec-prefix, and it works in the format --prefix=/foo and also "--prefix /foo".



Unless you override them, all defaults are set sensibly, but the default is changed to /usr/local.
Title: Re: newLISP development release v.10.1.9
Post by: Lutz on January 22, 2010, 05:51:25 AM
Thanks Ted, some of the changes will show up in the next dev/release version, others will not. I will take some time to think about this. Definitely the default prefix will stay as: /usr not:  /usr/local. But I see the that there should be an easier way to change the prefix.
Title: Re: newLISP development release v.10.1.9
Post by: cormullion on January 22, 2010, 10:33:06 AM
I seem to remember that putting non-system stuff directly in /usr/bin is frowned on by some. (Lutz - remember Jordan Hubbard's comments on that?) Perhaps it would be a good move.
Title: Re: newLISP development release v.10.1.9
Post by: TedWalther on January 22, 2010, 11:29:13 AM
Jordan Hubbard?  Former leader of FreeBSD?  Yes, all the BSD's have /usr/local as default, so do the GNU standards.  It is pretty much just a Debian/Ubuntu thing to stick it in /usr.  And with the new --prefix support, it is easy enough to set a --prefix option for those platforms.  But with --prefix support, it is also easy to set it to /usr/local if necessary.



Remember that guy a year back who had a compile farm with every version of unix known to man?  Once --prefix support is in, I'll ask him to test again.  That was the big thing he wanted.
Title: Re: newLISP development release v.10.1.9
Post by: cormullion on January 22, 2010, 02:35:50 PM
Yes, when he moved to apple to look after the BSD core I emailed him to tell him he should bundle newLISP along with all the other languages that are pre-installed... :) He kindly wrote back with his opinions after installing it. Well, it's probably just as well it's not pre-installed - it would probably be version 8.7 or something! :)