newLISP development release v.10.1.9

Started by Lutz, January 12, 2010, 09:50:15 AM

Previous topic - Next topic

Lutz

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

itistoday

#1
Awesome, thanks for including the http://newlispfanclub.alh.net/forum/viewtopic.php?f=2&t=3443">updated SMTP module!
Get your Objective newLISP groove on.

newdep

#2
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'
-- (define? (Cornflakes))

Lutz

#3
Add -Wno-strict-aliasing to the CFLAGS line.

newdep

#4
...guess what ;-)





Aaaa you dont have to guess you know already ;-)
-- (define? (Cornflakes))

TedWalther

#5
newdep, can you try using "configure-alt" and tell me if you get the same error message?
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence.  Nine months later, they left with a baby named newLISP.  The women of the ivory towers wept and wailed.  \"Abomination!\" they cried.

TedWalther

#6
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?
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence.  Nine months later, they left with a baby named newLISP.  The women of the ivory towers wept and wailed.  \"Abomination!\" they cried.

newdep

#7
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
-- (define? (Cornflakes))

Lutz

#8
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.

TedWalther

#9
You got me Lutz.  Is there still time to get in a patch to configure-alt so it will handle --prefix and --exec-prefix?
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence.  Nine months later, they left with a baby named newLISP.  The women of the ivory towers wept and wailed.  \"Abomination!\" they cried.

Lutz

#10
There is still time. Just put a new configure-alt (not a patch) on m4 for me, or email it.

TedWalther

#11
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
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence.  Nine months later, they left with a baby named newLISP.  The women of the ivory towers wept and wailed.  \"Abomination!\" they cried.

TedWalther

#12
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.
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence.  Nine months later, they left with a baby named newLISP.  The women of the ivory towers wept and wailed.  \"Abomination!\" they cried.

Lutz

#13
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.

cormullion

#14
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.