|
View:
New views
19 Messages
—
Rating Filter:
Alert me
|
|
|
GCC 4.4 and strict aliasingRecently, GCC 4.4.0 went into Fedora Rawhide (which will become Fedora
11). Thereafter, the GCL build started failing. Investigation shows that this is because GCC 4.4.0 is much more aggressive than its predecessors about exploiting the ANSI C strict aliasing rules. GCL fails to follow those rules in several places, so GCC emitted code that caused runtime failures. I have fixed the build for now by passing -fno-strict-aliasing to GCC. However, that is not a good long-term solution, since it prevents GCC from emitting the most optimized code possible. Over the next couple of weeks, I will try to look at how to fix up the C code to obey the ANSI C rules. If anybody is interested in participating in that, let me know so we don't duplicate work. Regards, -- Jerry James http://loganjerry.googlepages.com/ _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingGreetings, and thanks so much for looking into this!
As always, a small code example is worth its weight in gold. I'm assuming we're referring to code emitted by the GCL lisp compiler? If not, the task is considerably simpler. In either case, we've adapted to gcc changes before and can do so again. 4.4 is not yet in Debian sid, apparently. BTW, I've made considerable progress on your very helpful patches and will have more to report soon. Take care, Jerry James <loganjerry@...> writes: > Recently, GCC 4.4.0 went into Fedora Rawhide (which will become Fedora > 11). Thereafter, the GCL build started failing. Investigation shows > that this is because GCC 4.4.0 is much more aggressive than its > predecessors about exploiting the ANSI C strict aliasing rules. GCL > fails to follow those rules in several places, so GCC emitted code > that caused runtime failures. > > I have fixed the build for now by passing -fno-strict-aliasing to GCC. > However, that is not a good long-term solution, since it prevents GCC > from emitting the most optimized code possible. Over the next couple > of weeks, I will try to look at how to fix up the C code to obey the > ANSI C rules. If anybody is interested in participating in that, let > me know so we don't duplicate work. > > Regards, > -- > Jerry James > http://loganjerry.googlepages.com/ > > > _______________________________________________ > Gcl-devel mailing list > Gcl-devel@... > http://lists.gnu.org/mailman/listinfo/gcl-devel > > > > -- Camm Maguire camm@... ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingCamm Maguire <camm@...> writes:
| Greetings, and thanks so much for looking into this! | | As always, a small code example is worth its weight in gold. I'm | assuming we're referring to code emitted by the GCL lisp compiler? If | not, the task is considerably simpler. In either case, we've adapted | to gcc changes before and can do so again. 4.4 is not yet in Debian | sid, apparently. I seem to remember that Tim Daly reported this warning (and at the time I could concur) some time ago. | BTW, I've made considerable progress on your very helpful patches and | will have more to report soon. is there a chance to apply some of those (that fixes binutils problems) to GCL-2.6.8pre? Thanks, -- Gaby _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingOn Sun, Feb 22, 2009 at 6:43 PM, Camm Maguire <camm@...> wrote:
> Greetings, and thanks so much for looking into this! > > As always, a small code example is worth its weight in gold. I'm > assuming we're referring to code emitted by the GCL lisp compiler? If > not, the task is considerably simpler. In either case, we've adapted > to gcc changes before and can do so again. 4.4 is not yet in Debian > sid, apparently. No, or at least the build didn't make it far enough to emit code from the Lisp compiler. See the build log here: http://linux.dell.com/files/fedora/FixBuildRequires/mock-results/x86_64/gcl-2.6.8-0.1.20080902cvs.2.fc11.src.rpm/result/build.log > BTW, I've made considerable progress on your very helpful patches and > will have more to report soon. Great.! I'm happy to answer any questions you may have. -- Jerry James http://loganjerry.googlepages.com/ _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingGreetings!
OK, a minimal bfd fix is in 2.6.8pre -- thanks Jerry! I'd really prefer to keep 2.6.8pre changes to very important bug fix minimal mods only, given the lack of resources we have to maintain two branches. I've followed Jerry's advise with a much more substantial configure.in cleanup for cvs head, which should go in shortly. It is still not complete. configure.in is too complicated, and the macro interdependencies are difficult. I was wondering whether this would be better done with a series of .m4 files to use with aclocal, but am not really familiar with the tool, and need to carefully judge the time required. At least acconfig.h can go (away) with the next commit. I'm not really sure if configure.ac is a more modern name, or whether this implies any syntax changes. Finally, the makefiles are very fragile and really should go through automake, but this has ever seemed a low priority. Other Jerry patches which appear to fall into the 'critical breakage' category are: unrandomize -- which gcc cannot #include inside a function? I've used this syntax forever. getcwd selinux ? elisp Please let me know if this assessment is faulty. I'll try to upload a 2.6.7-46 debian package shortly to see where we are on the new sid autobuilders. Take care, Gabriel Dos Reis <gdr@...> writes: > Camm Maguire <camm@...> writes: > > | Greetings, and thanks so much for looking into this! > | > | As always, a small code example is worth its weight in gold. I'm > | assuming we're referring to code emitted by the GCL lisp compiler? If > | not, the task is considerably simpler. In either case, we've adapted > | to gcc changes before and can do so again. 4.4 is not yet in Debian > | sid, apparently. > > I seem to remember that Tim Daly reported this warning (and at the > time I could concur) some time ago. > > | BTW, I've made considerable progress on your very helpful patches and > | will have more to report soon. > > is there a chance to apply some of those (that fixes binutils > problems) to GCL-2.6.8pre? > > Thanks, > > -- Gaby > > > > -- Camm Maguire camm@... ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
While we're minimizing shell spawns ...... would anyone like to volunteer to write a lisp #'directory function
sing unix dirent structures, with a mind toward portability on mingw, cygwin, macosx, and solaris? Preferably, the C primitives should be minimal, and most of the logic implemented in lisp. For cvs head I'd think unless really simple This is an old request from some maxima people. Take care, -- Camm Maguire camm@... ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingOn Mon, Feb 23, 2009 at 1:10 PM, Camm Maguire <camm@...> wrote: Greetings! The configure.in to configure.ac name change is only to signal that you are using a newer autoconf. It does not imply any changes to the contents of the file itself. I've had mixed results with automake. My experience has been that automake helps me whip out simple Makefiles very quickly, and confuses the heck out of me when I need to do something complex. YMMV. Other Jerry patches which appear to fall into the 'critical breakage' I hit this with Fedora 9, but only with -O2 or -O3. With -O0 or -O1, it worked fine. It appears to be caused by some recent glibc work. They've turned some former functions into inline functions or macros, so they can add some error-checking. In at least a few cases, the error-checking is only triggered by -O2 or higher, which is why -O1 works. When I complained about this, I was told that #include inside a function is not legal C, complete with a quote from the ANSI C spec. getcwd Most of the selinux patch is needed only for those building GCL on an SELinux-enabled host. However, those trying to run GCL on an SELinux-enabled machine will need to have the policy installed and the proper labeling in place on the image files. I have only ever used SELinux on Fedora, and don't currently have access to any other Linux distributions, so I'm not at all sure how to write a general guide to using GCL with SELinux. I can easily give the Fedora recipe. Is there anybody who can help me figure out how that recipe needs to be altered for other Linux distributions? elisp The bfd and unrandomize patches include changes to configure.in. I cannot produce a working configure script with the autoconf I have available to me, which is the reason for the infrastructure patch. You'll probably have to change those patches somewhat to work with an older autoconf. Regards, -- Jerry James http://loganjerry.googlepages.com/ _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
New membersGreetings, and welcome to the gcl development team!
Both of you now should have cvs write access. I would greatly appreciate it if we could briefly discuss any commits you'd like to make at the beginning, until we get a feel for how to best divide the workload and avoid duplication. Donald, your area would clearly seem to be the maintenance of the mingw port, unless you have other interests. This is a fairly contained area. I feel comfortable giving you wide latitude in this regard, primarily because I have no familiarity with these systems :-) Please let me know if you're interested in anything else as well. From your very helpful patches, Jerry, I get a feel for what you may be interested in, and it is very helpful indeed. As collisions between us are a bit more likely, discussion at the beginning would be most appreciated. Please be aware that our primary purpose is to support the existing large applications with great portability and performance. (maxima,acl2,axiom,fricas,hol88,nqthm1992) If you are interested in anything major, its a good idea to build a local tree and test at least some of these applications. Take care, and thanks again! -- Camm Maguire camm@... ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: New membersOn Mon, Feb 23, 2009 at 2:17 PM, Camm Maguire <camm@...> wrote: Greetings, and welcome to the gcl development team! Absolutely. I certainly don't want to step on your toes or waste time duplicating effort. Please be aware that our primary purpose is to support the existing I have a goal, by the way, to add PVS to that list. I'll certainly have to build and try out some of those applications, though, so I can tell whether I've broken anything. Thanks for giving me the chance to participate, Camm. -- Jerry James http://loganjerry.googlepages.com/ _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
RE: New members> Subject: [Gcl-devel] New members
> > Greetings, and welcome to the gcl development team! > > Donald, your area would clearly seem to be the maintenance of > the mingw port, unless you have other interests. This is a > fairly contained area. I feel comfortable giving you wide > latitude in this regard, primarily because I have no > familiarity with these systems :-) Please let me know if > you're interested in anything else as well. Donald, I also have an interest in gcl on mingw, as we use it to build maxima. I don't have a lot of time at present but I am happy to test stuff if you want a second opinion. David Billinghurst This email is confidential and may also be privileged. If you are not the intended recipient, please notify us immediately and delete this message from your system without first printing or copying it. Any personal data in this email (including any attachments) must be handled in accordance with the Rio Tinto Group Data Protection Policy and all applicable data protection laws. _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingOn Mon, Feb 23, 2009 at 2:10 PM, Camm Maguire <camm@...> wrote:
> Greetings! > > OK, a minimal bfd fix is in 2.6.8pre -- thanks Jerry! I'd really > prefer to keep 2.6.8pre changes to very important bug fix minimal mods > only, given the lack of resources we have to maintain two branches. I just update by 2.6.8pre. The build fails (ono opensuse 11.1) with undefined symbols: gcc -o raw_pre_gcl \ -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lm -lgmp -lreadline -lncurses -lc -lgclp ./libpre_gcl.a(binutils_bfd_compress.o): In function `bfd_uncompress_section_contents': /usr/src/packages/BUILD/binutils-2.19/build-dir/bfd/../../bfd/compress.c:96: undefined reference to `inflateInit_' /usr/src/packages/BUILD/binutils-2.19/build-dir/bfd/../../bfd/compress.c:103: undefined reference to `inflate' /usr/src/packages/BUILD/binutils-2.19/build-dir/bfd/../../bfd/compress.c:106: undefined reference to `inflateReset' /usr/src/packages/BUILD/binutils-2.19/build-dir/bfd/../../bfd/compress.c:108: undefined reference to `inflateEnd' collect2: ld returned 1 exit status make[1]: *** [raw_pre_gcl_map] Error 1 make[1]: Leaving directory `/home/gdr/src/gcl-2.6.8pre/unixport' _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingGreetings, and my apologies! Forgot to commit the configure script,
as opposed to configure.in. Please try again and let me know if you have problems. Take care, Gabriel Dos Reis <gdr@...> writes: > On Mon, Feb 23, 2009 at 2:10 PM, Camm Maguire <camm@...> wrote: >> Greetings! >> >> OK, a minimal bfd fix is in 2.6.8pre -- thanks Jerry! I'd really >> prefer to keep 2.6.8pre changes to very important bug fix minimal mods >> only, given the lack of resources we have to maintain two branches. > > I just update by 2.6.8pre. The build fails (ono opensuse 11.1) with > undefined symbols: > > gcc -o raw_pre_gcl \ > -L. -Wl,-Map raw_pre_gcl_map -lpre_gcl -lm -lgmp > -lreadline -lncurses -lc -lgclp > ./libpre_gcl.a(binutils_bfd_compress.o): In function > `bfd_uncompress_section_contents': > /usr/src/packages/BUILD/binutils-2.19/build-dir/bfd/../../bfd/compress.c:96: > undefined reference to `inflateInit_' > /usr/src/packages/BUILD/binutils-2.19/build-dir/bfd/../../bfd/compress.c:103: > undefined reference to `inflate' > /usr/src/packages/BUILD/binutils-2.19/build-dir/bfd/../../bfd/compress.c:106: > undefined reference to `inflateReset' > /usr/src/packages/BUILD/binutils-2.19/build-dir/bfd/../../bfd/compress.c:108: > undefined reference to `inflateEnd' > collect2: ld returned 1 exit status > make[1]: *** [raw_pre_gcl_map] Error 1 > make[1]: Leaving directory `/home/gdr/src/gcl-2.6.8pre/unixport' > > > > -- Camm Maguire camm@... ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: New membersHi Camm and everyone,
I will maintain a low profile most of the time since I am primarily following on with Win32 builds of the work. Whatever things I commit to the CVS will be in the service of that end. I'll admit to a rough-and-ready knowledge of everything going on at present, but quickly add that learning is one of my linked goals. With that * and since I am working primarily in Win32 environments for now -- I am not foreseeing my participation beyond the above. If this changes I'll announce it on the gcl-devel list. Best, _don winiecki >>> Camm Maguire <camm@...> 2/23/2009 2:17:41 PM >>> Greetings, and welcome to the gcl development team! Both of you now should have cvs write access. I would greatly appreciate it if we could briefly discuss any commits you'd like to make at the beginning, until we get a feel for how to best divide the workload and avoid duplication. Donald, your area would clearly seem to be the maintenance of the mingw port, unless you have other interests. This is a fairly contained area. I feel comfortable giving you wide latitude in this regard, primarily because I have no familiarity with these systems :-) Please let me know if you're interested in anything else as well. From your very helpful patches, Jerry, I get a feel for what you may be interested in, and it is very helpful indeed. As collisions between us are a bit more likely, discussion at the beginning would be most appreciated. Please be aware that our primary purpose is to support the existing large applications with great portability and performance. (maxima,acl2,axiom,fricas,hol88,nqthm1992) If you are interested in anything major, its a good idea to build a local tree and test at least some of these applications. Take care, and thanks again! -- Camm Maguire camm@... ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
RE: New membersThanks David! As I suspect we're all stretched I'll do my best to be
protective of your time. Having said that, I would like to ask a question now. I have prototyped directions for building CGL on both WinXP and Vista. Each works for me on my various machines, but I'm not sure if my setups are consistent with others. If you get a chance, please run through my prototype directions below and let me know if this works. If you're not able to get to this that's fine. Time will come eventually when someone else gives it a try and lets me know! Best, _don winiecki ------ ------ =============================================== BUILDING NATIVE WIN32 GNU COMMON LISP FROM CVS =============================================== The preferred build host system for the Mingw32 compiler is MSYS. I use gcc version 3.3.1 and binutils 2.14.90, but earlier versions of gcc back to 2.95 are OK provided that you remove the "-fno-zero-initialized-in-bss" flag in "h/mingw.defs" before running "configure". Note that gcc 3.3.3 and gcc 3.4.0 do NOT work; likewise binutils 2.13.90 and 2.15.90. The working binutils version can be found at: http://gd.tuwien.ac.at/gnu/mingw/binutils-2.14.90-20030612-1.tar.gz =============================================== INSTALL AND CONFIGURE TORTOISE CVS =============================================== Download Tortoise CVS from: http://www.tortoisecvs.org/ After downloading, install Tortoise CVS and included programs, accepting default installation directories. =============================================== DOWNLOAD CVS FOR GCL =============================================== Choose a directory to which you will download (check out) of the GCL CVS (I created c:\_cvs). Enter the directory created and right click. The context menu will show `CVS checkout' as a context menu itemu. Choose the 'CVS checkout' context menu item. You should be presented with a dialogue box titled 'TortoiseCVS-Checkout Module'. Under the 'Module' tab, enter the following: For Protocol, enter :pserver For `server', enter cvs.savannah.gnu.org For `Repository folder', enter /sources/gcl For `User name', enter anonymous On the right side of the dialog box, for `Module', enter gcl Under the 'Revision' tab: Select the 'Choose branch or tag' radio button Select the 'Update list...' button Open the 'Branch or tag name:' drop down list and select the version you want to build Under the 'Options' tab: Select the `Export - for making a software release' radio button Check the `Use UNIX line ending' box Choose the 'Enter your own folder name' radio button In the 'Custom folder name:' field, enter the name of the folder you desire to be created (for example, 'gcl-2.6.7' to match the version to be built) Now, click again on `Module' tab. Click on OK. You should see that tortoise CVS is checking out GCL from CVS repo. More information on CVS access is available here http://savannah.gnu.org/cvs/?group=gcl ================================================ INSTALLING BUILD TOOLS (MinGW, MSYS) ================================================ ------------------------------------------------ ** IF INSTALLING ON WINDOWS XP ** ** (see below if installing on WINDOWS VISTA) ** ------------------------------------------------ BUILD TOOLS Subject to the above warnings, it is usually a good idea to keep up to date with Mingw32 and MSYS. Updates for various parts of these packages are available on the web site. Go to http://www.mingw.org/download.shtml and download http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download http://prdownloads.sf.net/mingw/MSYS-1.0.9.exe?download http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download http://prdownloads.sf.net/mingw/gcc-core-3.3.1-20030804-1.tar.gz?download Install these files in the same order as above. Accept the default locations. GCC-CORE-3.3.1-20038041.tar.gz' should be extracted into c:/mingw and overwrites the older version of gcc. When you are done, you should be able to start MSYS and a get the '$' prompt (customized for your machine name and your username, if active) To check the installation, type 'gcc -v' at the prompt. If all was installed properly you should see: gcc version 3.3.1 (mingw special 20030804-1) ------------------------------------------------ ** IF INSTALLING ON WINDOWS VISTA ** ** (see above if installing on WINDOWS XP) ** ** (Thanks to Dan Raymond for this: ** ** http://readlist.com/lists/lists.sourceforge.net/mingw-msys/0/918.html) ** ------------------------------------------------ BUILD TOOLS Subject to the above warnings, it is usually a good idea to keep up to date with Mingw32 and MSYS. Updates for various parts of these packages are available on the web site. (Alternative location for these files is [as of 6 July 08]: http://www.mingw.org/download.shtml and download) Install these files in the same order as indicated below. Accept the default locations. http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download When the following program opens a terminal window and asks permission to perform postinstall processing, press `n' and `enter' to abort the postinstall processing (otherwise, an error may occur and Vista will generate over 100 windows). http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download Open an MSYS window and type the following command (this will allow you to use the MSYS version of ftp instead of the Windows version of ftp subsequently): mv /bin/ftp /bin/ftp.old Copy the following files to c:\mingw http://prdownloads.sf.net/mingw/binutils-2.14.90-20030612-1.tar.gz?download http://prdownloads.sf.net/mingw/gcc-core-3.3.1-20030804-1.tar.gz?download http://prdownloads.sf.net/mingw/mingw-runtime-3.14.tar.gz?download http://prdownloads.sf.net/mingw/w32api-3.11.tar.gz?download Open an MSYS window and execute the following commands (The first four command lines below untar the archives and delete them while the last line sets up the mount point for mingw (you need to do this manually since you aborted the post install for MSYS). cd /c/mingw gzip -d *.gz find -name '*.tar' -exec tar -xvf {} \; rm *.tar echo 'C:/mingw /mingw' > /etc/fstab When you are done, you should be able to start MSYS and a get the '$' prompt (customized for your machine name and your username, if active). To check the installation, type 'gcc -v' at the prompt. If all was installed properly you should see the following. (If not, something got missed along the way. At this point, uninstall msysDTK, MSYS and MinGW through Windows' control panel and delete the c:\MinGW and c:\msys directories, reboot and reinstall following the procedure above.) gcc version 3.3.1 (mingw special 20030804-1) =============================================== BUILDING GCL USING MSYS AS THE HOST =============================================== At the MSYS '$' prompt, change to your GCL source directory (for example): cd /c/_cvs/gcl You are now ready to configure GCL: If you want to build the CLTL1 variant, type: ./configure --prefix="c:/gcl" > configure.log 2>&1 If you want to build the ANSI variant, type: ./configure --prefix="c:/gcl" > --enable-ansi configure.log 2>&1 Change the prefix directory as required for your desired final installation path. When configure is completed, enter the following command at the MinGW command line (the MSYS shell): make >& make.log On my dual core 2.2GHz machine, the process takes about 10-12 minutes. The "saved_gcl.exe" (or "saved_ansi_gcl.exe") should turn up eventually in the unixport directory (inside the \lib\gcl-x.x.x directory of the final installation directory). You can try it out directly inside the MSYS shell by typing the following at the MSYS command prompt. For the CLtL1 version, type the following: ./unixport/saved_gcl.exe For the ANSI version, type the following: ./unixport/saved_ansi_gcl.exe To install, type the following at the MSYS command prompt: make install >& install.log - The batch file "gclm.bat" can be used to make a Windows desktop shortcut. (NOTE: I have not been able to make this batch file work [djw]) - BFD fasloading, Stratified Garbage Collection (SGC) readline and GCL-TK don't work under Windows. The configuration options above provide a "traditional" GCL executable which will build the current CVS version of Maxima. The BFD option will depend on someone with knowledge of BFD and PE-COFF linking fixing some problems with the BFD library - I am slowly absorbing the info needed, but we really need input from an expert. My inclination is to stick with custom relocation as BFD is less efficient. =============================================== INSTALLING GCL INFORMATION ACCESSIBLE FROM GCL INTERPRETER =============================================== Download "gcl.info.tgz" from ftp://ftp.gnu.org/pub/gnu/gcl/ Make the following directory path and unpack the downloaded file into C:\usr\local\gnu\info =============================================== RUNNING GCL =============================================== You can move the final installation folder (for example, "GCL-2.6.7-ANSI") anywhere on your hard drive (typically, c:\program files). Create a shortcut to the executable (either "saved_gcl.exe" or "saved_ansi_gcl.exe") and assign to it the icon located in the \bin directory. You can then move the shortcut to anywhere (the 'Start' menu or your 'Quick Launch' menu). Double click the icon to launch GCL. =============================================== CONFIGURE GCL TO RUN IN INFERIOR MODE UNDER EMACS =============================================== Follow directions provided by Gordon Novak Jr. at: http://www.cs.utexas.edu/users/novak/gclwin.html =============================================== Original setup and configuration directions by Mike Thomas, 15 Jun 2004. Updates and modifications by Don Winiecki, 1:06 PM 01 Jan 2008, using details provided by Mike Thomas, Camm Maguire, Gaby Dos Reis, and Gordon Novak Jr. (http://lists.gnu.org/archive/html/axiom-developer/2003-10/msg00227.html) Updates for setup on MS-Vista by Don Winiecki, 12:40PM 06 Jul 2008, using information provided by Dan Raymond. ------ ------ >>> "Billinghurst, David (RTATECH)" <David.Billinghurst@...> 2/23/2009 2:30:00 PM >>> > Subject: [Gcl-devel] New members > > Greetings, and welcome to the gcl development team! > > Donald, your area would clearly seem to be the maintenance of > the mingw port, unless you have other interests. This is a > fairly contained area. I feel comfortable giving you wide > latitude in this regard, primarily because I have no > familiarity with these systems :-) Please let me know if > you're interested in anything else as well. Donald, I also have an interest in gcl on mingw, as we use it to build maxima. I don't have a lot of time at present but I am happy to test stuff if you want a second opinion. David Billinghurst This email is confidential and may also be privileged. If you are not the intended recipient, please notify us immediately and delete this message from your system without first printing or copying it. Any personal data in this email (including any attachments) must be handled in accordance with the Rio Tinto Group Data Protection Policy and all applicable data protection laws. >>> "Billinghurst, David (RTATECH)" <David.Billinghurst@...> 2/23/2009 2:30:00 PM >>> > Subject: [Gcl-devel] New members > > Greetings, and welcome to the gcl development team! > > Donald, your area would clearly seem to be the maintenance of > the mingw port, unless you have other interests. This is a > fairly contained area. I feel comfortable giving you wide > latitude in this regard, primarily because I have no > familiarity with these systems :-) Please let me know if > you're interested in anything else as well. Donald, I also have an interest in gcl on mingw, as we use it to build maxima. I don't have a lot of time at present but I am happy to test stuff if you want a second opinion. David Billinghurst This email is confidential and may also be privileged. If you are not the intended recipient, please notify us immediately and delete this message from your system without first printing or copying it. Any personal data in this email (including any attachments) must be handled in accordance with the Rio Tinto Group Data Protection Policy and all applicable data protection laws. _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingOn Mon, Feb 23, 2009 at 9:11 PM, Camm Maguire <camm@...> wrote:
> Greetings, and my apologies! Forgot to commit the configure script, > as opposed to configure.in. Please try again and let me know if you > have problems. I updated and it built like a charm. I'm not in the process of try a GCL-based OpenAxiom build. There were many 'no real prototype' warnings though. I don't know whether that can be fixed in 2.6.8 timeframe. Regarding your question about configure.in vs. configure.ac; yes, configure.ac is the preferred naming now. -- Gaby _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: GCC 4.4 and strict aliasingOn Tue, Feb 24, 2009 at 11:54 AM, Gabriel Dos Reis
<gdr@...> wrote: > On Mon, Feb 23, 2009 at 9:11 PM, Camm Maguire <camm@...> wrote: >> Greetings, and my apologies! Forgot to commit the configure script, >> as opposed to configure.in. Please try again and let me know if you >> have problems. > > I updated and it built like a charm. I'm not in the process of ^^^ s/not/now/ > try a GCL-based OpenAxiom build. I've put a log of make all-interpsys for OpenAxiom-1.2.1 here http://parasol.tamu.edu/~gdr/OpenAxiom/build/gcl-2.6.8pre.log You can see lot of warning of the form note: XXX was declared here These are warnings about the C code generated by GCL. -- Gaby _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: While we're minimizing shell spawns ...Camm Maguire wrote:
> ... would anyone like to volunteer to write a lisp #'directory function > sing unix dirent structures, with a mind toward portability on mingw, > cygwin, macosx, and solaris? Preferably, the C primitives should be > minimal, and most of the logic implemented in lisp. For cvs head I'd > think unless really simple > > This is an old request from some maxima people. One possibility would be to steal the code from cmucl or clisp. Cmucl uses stat functions, I think, to walk the directory. While I'm asking, can we also get a ensure-directories-exist? This is useful with mk defsystem. For now, I just hacked a version that basically calls mkdir -p. :-) Also, gcl seems to have define-compiler-macro, but it's in the SYSTEM package, not COMMON-LISP. I tried (with maxima) to import the symbol into COMMON-LISP, but got symbol conflicts. I couldn't figure out how to get rid of the offending symbol. It's very nice to see some development on gcl once again! Ray _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Building gcl on windowsDon,
I have just built gcl on a clean Windows XP system. I agree that the gcc and binutils versions given are essential. My setup is similar to your description. The main differences are: - I have used MSYS-1.0.10.exe - I use cygwin cvs to get gcl - I build and install a recent gmp, rather than use the older version in the gcl tree. This save some time in the long run, as I don't have to re-build gmp when I build gcl. 1. Install MinGW and MSYS as you describe, although I used MSYS-1.0.10.exe MinGW-3.1.0-1.exe MSYS-1.0.10.exe msysDTK-1.0.1.exe mingw-runtime-3.14.tar.gz gcc-core-3.3.1-20030804-1.tar.gz binutils-2.14.90-20030612-1.tar.gz w32api-3.11.tar.gz 2. Download gcl CVS. I used CVS under cygwin, then copied the files. 3. Build and install gmp-4.2.4 under msys. Download gmp-4.2.4.tar.bz2 from http://www.gmplib.org/ tar xjf gmp-4.2.4.tar.bz2 cd gmp-4.2.4 ./configure --enable-static --disable-shared --disable-cxx --enable-fat make make check make install 4. Build and install gcl using recently built gmp cd gcl-2.6.8pre ./configure --enable-ansi --enable-dynsysgmp --enable-readine make make install 5. The installed gcl will build maxima (although additional setup is required for this). > -----Original Message----- > From: Donald Winiecki [mailto:DWINIECKI@...] > Sent: Tuesday, 24 February 2009 15:42 > To: Billinghurst, David (RTATECH) > Cc: GCL Development > Subject: RE: [Gcl-devel] New members > > Thanks David! As I suspect we're all stretched I'll do my > best to be protective of your time. > > Having said that, I would like to ask a question now. I have > prototyped directions for building CGL on both WinXP and > Vista. Each works for me on my various machines, but I'm not > sure if my setups are consistent with others. > > If you get a chance, please run through my prototype > directions below and let me know if this works. If you're > not able to get to this that's fine. Time will come > eventually when someone else gives it a try and lets me know! > > Best, > > _don winiecki > > ------ > ------ > > =============================================== > BUILDING NATIVE WIN32 GNU COMMON LISP FROM CVS > =============================================== > > The preferred build host system for the Mingw32 compiler is MSYS. > > I use gcc version 3.3.1 and binutils 2.14.90, but earlier > versions of gcc back to 2.95 are OK provided that you remove > the "-fno-zero-initialized-in-bss" flag in "h/mingw.defs" > before running "configure". > > Note that gcc 3.3.3 and gcc 3.4.0 do NOT work; likewise > binutils 2.13.90 and 2.15.90. > > The working binutils version can be found at: > > http://gd.tuwien.ac.at/gnu/mingw/binutils-2.14.90-20030612-1.tar.gz > > =============================================== > INSTALL AND CONFIGURE TORTOISE CVS > =============================================== > > Download Tortoise CVS from: http://www.tortoisecvs.org/ > > After downloading, install Tortoise CVS and included > programs, accepting default installation directories. > > =============================================== > DOWNLOAD CVS FOR GCL > =============================================== > > Choose a directory to which you will download (check out) of > the GCL CVS (I created c:\_cvs). > > Enter the directory created and right click. The context > menu will show `CVS checkout' as a context menu itemu. > > Choose the 'CVS checkout' context menu item. You should be > presented with a dialogue box titled 'TortoiseCVS-Checkout Module'. > > Under the 'Module' tab, enter the following: > > For Protocol, enter > > :pserver > > For `server', enter > > cvs.savannah.gnu.org > > For `Repository folder', enter > > /sources/gcl > > For `User name', enter > > anonymous > > On the right side of the dialog box, for `Module', enter > > gcl > > Under the 'Revision' tab: > > Select the 'Choose branch or tag' radio button > > Select the 'Update list...' button > > Open the 'Branch or tag name:' drop down list and select the > version you want to build > > Under the 'Options' tab: > > Select the `Export - for making a software release' radio button > > Check the `Use UNIX line ending' box > > Choose the 'Enter your own folder name' radio button > > In the 'Custom folder name:' field, enter the name of the > folder you desire to be created (for example, 'gcl-2.6.7' to > match the version to be > built) > > Now, click again on `Module' tab. Click on OK. You should > see that tortoise CVS is checking out GCL from CVS repo. > > > More information on CVS access is available here > > http://savannah.gnu.org/cvs/?group=gcl > > > ================================================ > INSTALLING BUILD TOOLS (MinGW, MSYS) > ================================================ > > ------------------------------------------------ > ** IF INSTALLING ON WINDOWS XP ** > ** (see below if installing on WINDOWS VISTA) ** > ------------------------------------------------ > > BUILD TOOLS > > Subject to the above warnings, it is usually a good idea to > keep up to date with Mingw32 and MSYS. Updates for various > parts of these packages are available on the web site. > > Go to http://www.mingw.org/download.shtml and download > > http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download > > http://prdownloads.sf.net/mingw/MSYS-1.0.9.exe?download > > http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download > > > http://prdownloads.sf.net/mingw/gcc-core-3.3.1-20030804-1.tar. > > > Install these files in the same order as above. Accept the > default locations. GCC-CORE-3.3.1-20038041.tar.gz' should be > extracted into c:/mingw and overwrites the older version of gcc. > > When you are done, you should be able to start MSYS and a get the '$' > prompt > (customized for your machine name and your username, if active) > > To check the installation, type 'gcc -v' at the prompt. If > all was installed properly you should see: > > gcc version 3.3.1 (mingw special 20030804-1) > > > ------------------------------------------------ > ** IF INSTALLING ON WINDOWS VISTA ** > ** (see above if installing on WINDOWS XP) ** > ** (Thanks to Dan Raymond for this: ** > ** > http://readlist.com/lists/lists.sourceforge.net/mingw-msys/0/918.html) > ** > ------------------------------------------------ > > BUILD TOOLS > > Subject to the above warnings, it is usually a good idea to > keep up to date with Mingw32 and MSYS. Updates for various > parts of these packages are available on the web site. > > (Alternative location for these files is [as of 6 July 08]: > http://www.mingw.org/download.shtml and download) > > Install these files in the same order as indicated below. > Accept the default locations. > > http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download > > When the following program opens a terminal window and asks > permission to perform postinstall processing, press `n' and > `enter' to abort the postinstall processing (otherwise, an > error may occur and Vista will generate over 100 windows). > > http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download > > http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download > > Open an MSYS window and type the following command (this will > allow you to use the MSYS version of ftp instead of the > Windows version of ftp > subsequently): > > mv /bin/ftp /bin/ftp.old > > Copy the following files to c:\mingw > > > http://prdownloads.sf.net/mingw/binutils-2.14.90-20030612-1.ta > r.gz?download > > > > http://prdownloads.sf.net/mingw/gcc-core-3.3.1-20030804-1.tar. > > > http://prdownloads.sf.net/mingw/mingw-runtime-3.14.tar.gz?download > > http://prdownloads.sf.net/mingw/w32api-3.11.tar.gz?download > > Open an MSYS window and execute the following commands (The first four > > command lines below untar the archives and delete them while > the last line sets up the mount point for mingw (you need to > do this manually since you aborted the post install for MSYS). > > cd /c/mingw > gzip -d *.gz > find -name '*.tar' -exec tar -xvf {} \; > rm *.tar > echo 'C:/mingw /mingw' > /etc/fstab > > > When you are done, you should be able to start MSYS and a get the '$' > prompt > (customized for your machine name and your username, if active). > > To check the installation, type 'gcc -v' at the prompt. If > all was installed properly you should see the following. (If > not, something got missed along the way. At this point, > uninstall msysDTK, MSYS and MinGW through Windows' > control panel and delete the c:\MinGW and c:\msys > directories, reboot and reinstall following the procedure above.) > > gcc version 3.3.1 (mingw special 20030804-1) > > =============================================== > BUILDING GCL USING MSYS AS THE HOST > =============================================== > > At the MSYS '$' prompt, change to your GCL source directory (for > example): > > cd /c/_cvs/gcl > > You are now ready to configure GCL: > > If you want to build the CLTL1 variant, type: > > ./configure --prefix="c:/gcl" > configure.log 2>&1 > > If you want to build the ANSI variant, type: > > ./configure --prefix="c:/gcl" > --enable-ansi configure.log 2>&1 > > Change the prefix directory as required for your desired > final installation > path. > > When configure is completed, enter the following command at > the MinGW command line (the MSYS shell): > > make >& make.log > > On my dual core 2.2GHz machine, the process takes about 10-12 > minutes. > The > "saved_gcl.exe" (or "saved_ansi_gcl.exe") should turn up eventually in > > the unixport directory (inside the \lib\gcl-x.x.x directory > of the final installation directory). > > You can try it out directly inside the MSYS shell by typing > the following at the MSYS command prompt. > > > For the CLtL1 version, type the following: > > ./unixport/saved_gcl.exe > > For the ANSI version, type the following: > > ./unixport/saved_ansi_gcl.exe > > To install, type the following at the MSYS command prompt: > > make install >& install.log > > - The batch file "gclm.bat" can be used to make a Windows desktop > shortcut. (NOTE: I have not been able to make this batch file work > [djw]) > > - BFD fasloading, Stratified Garbage Collection (SGC) > readline and GCL-TK > don't work under Windows. The configuration options above provide a > "traditional" GCL executable which will build the current > CVS version of > Maxima. The BFD option will depend on someone with > knowledge of BFD and > PE-COFF linking fixing some problems with the BFD library - > I am slowly > absorbing the info needed, but we really need input from an expert. > My > inclination is to stick with custom relocation as BFD is > less efficient. > > =============================================== > INSTALLING GCL INFORMATION ACCESSIBLE FROM GCL INTERPRETER > =============================================== > > Download "gcl.info.tgz" from ftp://ftp.gnu.org/pub/gnu/gcl/ > > Make the following directory path and unpack the downloaded file into > > C:\usr\local\gnu\info > > =============================================== > RUNNING GCL > =============================================== > > You can move the final installation folder (for example, > "GCL-2.6.7-ANSI") > anywhere on your hard drive (typically, c:\program files). > > Create a shortcut to the executable (either "saved_gcl.exe" or > "saved_ansi_gcl.exe") and assign to it the icon located in > the \bin directory. > > You can then move the shortcut to anywhere (the 'Start' menu > or your 'Quick Launch' menu). Double click the icon to launch GCL. > > =============================================== > CONFIGURE GCL TO RUN IN INFERIOR MODE UNDER EMACS > =============================================== > > Follow directions provided by Gordon Novak Jr. at: > > http://www.cs.utexas.edu/users/novak/gclwin.html > > > =============================================== > Original setup and configuration directions by Mike Thomas, > 15 Jun 2004. > > Updates and modifications by Don Winiecki, 1:06 PM 01 Jan > 2008, using details provided by Mike Thomas, Camm Maguire, > Gaby Dos Reis, and Gordon Novak Jr. > (http://lists.gnu.org/archive/html/axiom-developer/2003-10/msg > > Updates for setup on MS-Vista by Don Winiecki, 12:40PM 06 Jul > 2008, using information provided by Dan Raymond. > > ------ > ------ > > >>> "Billinghurst, David (RTATECH)" <David.Billinghurst@...> > 2/23/2009 2:30:00 PM >>> > > Subject: [Gcl-devel] New members > > > > Greetings, and welcome to the gcl development team! > > > > Donald, your area would clearly seem to be the maintenance of the > > mingw port, unless you have other interests. This is a fairly > > contained area. I feel comfortable giving you wide > latitude in this > > regard, primarily because I have no familiarity with these > systems :-) > > Please let me know if you're interested in anything else as well. > > Donald, > > I also have an interest in gcl on mingw, as we use it to > build maxima. I don't have a lot of time at present but I am > happy to test stuff if you want a second opinion. > > David Billinghurst > > This email is confidential and may also be privileged. If > you are not the intended recipient, please notify us > immediately and delete this message from your system without > first printing or copying it. Any personal data in this email > (including any attachments) must be handled in accordance > with the Rio Tinto Group Data Protection Policy and all > applicable data protection laws. > > >>> "Billinghurst, David (RTATECH)" <David.Billinghurst@...> > 2/23/2009 2:30:00 PM >>> > > Subject: [Gcl-devel] New members > > > > Greetings, and welcome to the gcl development team! > > > > Donald, your area would clearly seem to be the maintenance of the > > mingw port, unless you have other interests. This is a fairly > > contained area. I feel comfortable giving you wide > latitude in this > > regard, primarily because I have no familiarity with these > systems :-) > > Please let me know if you're interested in anything else as well. > > Donald, > > I also have an interest in gcl on mingw, as we use it to > build maxima. I don't have a lot of time at present but I am > happy to test stuff if you want a second opinion. > > David Billinghurst > > This email is confidential and may also be privileged. If > you are not the intended recipient, please notify us > immediately and delete this message from your system without > first printing or copying it. Any personal data in this email > (including any attachments) must be handled in accordance > with the Rio Tinto Group Data Protection Policy and all > applicable data protection laws. > > _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
|
|
Re: Building gcl on windowsThanks Dave! I'll update the build instructions to accommodate the different angles you've taken. My list is getting kind of long so it may take a bit to get things up to the program level.
Best, _don On Sat, Mar 28, 2009 at 11:55 PM, David (RTATECH) Billinghurst <David.Billinghurst@...> wrote: Don, _______________________________________________ Gcl-devel mailing list Gcl-devel@... http://lists.gnu.org/mailman/listinfo/gcl-devel |
| Free embeddable forum powered by Nabble | Forum Help |