[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Make still fails on WinXP for ANSI

From: Donald Winiecki
Subject: Re: [Gcl-devel] Make still fails on WinXP for ANSI
Date: Tue, 31 Aug 2010 09:48:29 -0600


Given Camm's suggestions below, we might proceed primarily with Vista.  However, when your semester gets to a stable state, please try the directions I have written up for building on XP and Vista.  I'm including them below.





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

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:



Download Tortoise CVS from:  http://www.tortoisecvs.org/

After downloading, install Tortoise CVS and included programs,
accepting default installation directories.


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


For `server', enter


For `Repository folder', enter


For `User name', enter


On the right side of the dialog box, for `Module', enter


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



** (see below if installing on WINDOWS VISTA) **


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





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)

** (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) **


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.


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). 



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

mv /bin/ftp /bin/ftp.old

Copy the following files to c:\mingw





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)


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:/_cvs/gcl" &>c:/_cvs/configure.log

If you want to build the ANSI variant, type:

  ./configure --prefix="c:/_cvs/gcl" --enable-ansi &>c:/_cvs/configure.log

  Change the prefix directory and directory to which the log is output as
  required for your desired final installation paths.

When configure is completed, enter the following command at the MinGW command
line (the MSYS shell):

   make &>c:/_cvs/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:


For the ANSI version, type the following:


To install, type the following at the MSYS command prompt:

  make install &>c:/_cvs/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.


Download "gcl.info.tgz" from ftp://ftp.gnu.org/pub/gnu/gcl/

Make the following directory path and unpack the downloaded file into



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.


Follow directions provided by Gordon Novak Jr. at:


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. 

Updates for setup on MS-Vista by Don Winiecki, 12:40PM 06 Jul 2008, using
information provided by Dan Raymond.

Updates on details of configure, make and install commands by Don Winiecki, 10:24AM 17 Aug 2010.


On Tue, Aug 31, 2010 at 9:41 AM, Camm Maguire <address@hidden> wrote:

Donald Winiecki <address@hidden> writes:

> Hi Camm and everyone,
> Apologies for the appearance of non-activity on my part.  My WinXP machine has been struggling for awhile and
> has given up the ghost -- so to say.  I knew this was going to happen eventually but didn't expect it
> presently.  (It's struggles may have been behind my inability to build a GCL-ansi variant on WinXP.)

If there was a serious possibility of some systemic, e.g. memory
failure on this machine, I suggest we take this as a working
hypothesis given that vista goes through OK.  (arguing against this
however that your failures appear to have been in the same place on
multiple occasions.)

I think it is therefore far more productive to try to verify the app
builds on vista.  In particular, it would be really great if you could
work with Gaby on the open axiom bit, as the traditional axiom still
has a lot of non-lisp bsd dependent C code in it which makes it
impossible for me to verify under wine.  I have been able to verify
the maxima, acl2, and hol88 builds under wine.

The only real question with the win32 port is whether we go with the
new relocation file sfaslcoff.c or default to the older generic file
with all its foibles.  If we had a reproducible error, the next step
would be to swap out the loader code.

> Since the only reason to try and get an WinXP machine up and running would be to help out with WinXP tests of
> GCL -- and I don't know who might be using WinXP still -- I'm not sure it's worth an entire machine to do
> this. 
> If you all think it is important to have an winXP-proven build I can pursue putting a virtual machine on my
> Vista box and install XP into it -- but event this wouldn't be a `real' WinXP installation.
> What do you all think?  Do we try to make sure it works on WinXP or do we stop at 2.6.7 for XP?

In the mean time, I will ask my colleagues at ut if they have a win
box that might be used.

Take care,

> _don
> On Tue, Aug 24, 2010 at 10:44 AM, Camm Maguire <address@hidden> wrote:
>     Greetings!
>     Donald Winiecki <address@hidden> writes:
>     > Camm,
>     >
>     > I verified the source of CVS files to gcl268pre but make still fails when building the ANSI variant. 
>     Here is
>     > a link to the make log.
>     >
>     > https://sites.google.com/a/boisestate.edu/gcl-win32/home/build-logs/xp-ansi-m.log?attredirects=0&d=1
>     >
>     OK, this report is more what I expected.  To proceed further, I need
>     to guide you through some remote debugging steps.
>     make clean
>     ./configure --enable-debug --enable-ansi
>     make
>     cd pcl
>     echo '(load "sys-package.lisp")' '(setq *features* (delete (quote :kcl) *features*))' '(load
>     "defsys.lisp")(push (quote :kcl) *features*)' '(setq pcl::*default-pathname-extensions* (cons "lisp"
>     "o"))' '(setq pcl::*pathname-extensions* (cons "lisp" "o"))' '(load "sys-proclaim.lisp")' '(setq
>     compiler::*default-h-file* t)' '(setq compiler::*default-c-file* t)' '(setq compiler::*default-data-file*
>     t)' '(setq compiler::*default-system-p* t)' '(setq compiler::*keep-gaz* t compiler::*tmp-dir* "")' '
>     (pcl::compile-pcl)' >foo
>     gdb ../unixport/saved_gcl.exe
>     (gdb) b call_init
>     (gdb) r
>     > (load "foo")
>     Then at the first break, please do
>     (gdb) display/x memory->cfd.cfd_start
>     and keep a list of which .o file is loaded at which start address.
>     Then
>     (gdb) c
>     to continue, and keep pressing 'c' until the error occurs.  gdb will
>     break and give you a fault address, please note this.  Then
>     (gdb) bt
>     to get a backtrace.
>     Please then leave this window open, send me the list of addresses, the
>     fault address, and the backtrace, and I can guide you further from
>     there.
>     Thanks again so much!
>     > _don
>     >
>     > _______________________________________________
>     > Gcl-devel mailing list
>     > address@hidden
>     > http://lists.gnu.org/mailman/listinfo/gcl-devel
>     --
>     Camm Maguire                                        address@hidden
>     ==========================================================================
>     "The earth is but one country, and mankind its citizens."  --  Baha'u'llah

Camm Maguire                                        address@hidden
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]