axiom-developer
[Top][All Lists]
Advanced

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

RE: [Axiom-developer] differences wh-sandbox andbuild-improvements


From: Bill Page
Subject: RE: [Axiom-developer] differences wh-sandbox andbuild-improvements
Date: Mon, 16 Apr 2007 13:19:01 -0400

On April 16, 2007 12:22 PM wrote:
> 
> Quoting Bill Page <address@hidden>:
> 
> > On April 16, 2007 3:32 AM Gaby wrote:
> >
> >>
> >> I have a functional development environment under windows
> >> -- cygwin -- but I cannot use it because GCL does not work
> >> under cygwin
> >
> > What do you mean that GCL does not work under cygwin? It works
> > for me. You just can't compile it under cygwin.
> 
> That means the same thing for me: If I cannot compile it under
> cygwin, it does not work for me as far as Axiom development is
> concerned.
>

Why not? It is not necessary to build gcl as part of the Axiom
build - just install the windows binary for gcl, like other users
Windows do.
 
> >
> >> and I have been told on this list that windows people don't
> >> care about GCL under cygwin.
> >
> > I think that in general windows people don't care much for
> > cygwin. period. What it does is foreign to them plus it is a
> > poor replacement for linux, if linux is what you really want.
> >
> 
> But, I do not mean linux.  My impression is that you're
> completely missing the picture by micro-focusing on linux vs.
> non-linux environment and drawing misplaced conclusions
> characterizations.

Yes, perhaps. Sorry.

> 
> What I want is to have a reasonable development under windows
> -- whether it is mingw or cygwin, I don't care much.  The only
> thing I care about is that the environment does not disrupt
> me much from doing actual work.
>

MSYS/minGW works for me.
 
> >> I guess the fact that windows people on this list don't
> >> help that much to make concrete forward progress is OK.
> >
> > I think that is typical.
> 
> OK; I believe the logical conclusion for me is probably that
> I drop any work on Axiom on windows.

Your choice.

> 
> Granted you can reproduce the problems, but the solution you
> suggested did not work for me. I moved ActivePerl's path away
> from /bin and /mingw/bin.

??? That doesn't sound right. Did you take a look at

$ echo $PATH
.:/usr/local/bin:/mingw/bin:/bin:/c/Perl/site/bin:/c/Perl/bin:
/c/watcom-1.3/binnt:/c/watcom-1.3/binw:/c/Perl/bin/:
/c/program files/imagemagick-6.2.6-q16:/c/Program Files/tla:
/c/program files/aldor/bin:/c/Program Files/Java/jdk1.5.0_04/bin:
/c/watcom-1.3/binnt:/c/watcom-.3/binw:/c/texmf/miktex/bin:
/c/WINXP/system32:/c/WINXP:/c/WINXP/System32/Wbem:
/c/Program Files/axiom/mnt/windows/bin:
/c/Program Files/Common Files/GTK/2.0/bin:
/c/Program Files/gs/gs8.51/bin:/c/Program Files/GnuWin32/bin:
/c/Program Files/QuickTime/QTSystem/:/d/smlnj/bin:
/c/Program Files/Moscow ML/bin:/c/Program Files/darcsdir-w32:
/c/Mercurial:/c/Program Files/Subversion/bin:
/c/Program Files/Aldor/bin:/c/Program Files/Aldor/bin:
.:/mingw/bin

MSYS looks in a lot of places besides /bin and /mingw/bin.
If ActivePerl is in your windows PATH, it will be accessible
to MSYS.

But if you have /bin/perl installed it will be found by MSYS
first before ActivePerl.

> Now, I tried to install autoconf-2.60 -- I explained
> why I cannot require autoconf-2.61; more on this below.

Ok.

> Except the build goes into infinite loop, so that I never
> get a functional build.
>

If your perl returns:

> > $ perl --version
> >
> > This is perl, v5.6.1 built for msys

then that seems very strange. It works for me. And if I rename
/bin/perl  to something else (and thereby use ActivePerl from
windows), it fails that way you said it does for you.

> ... 
> But I already have MSYS pre-packaged components from mingw.org!
>

So you are running "perl, v5.6.1 built for msys" or not?
 
> > Just because other people get away with using ActivePerl
> > with minGW doesn't make it a "supported configuration" or good
> > idea.
> 
> Definitely, my reading of the mingw documentation from mingw
> website is that ActivePerl is a "supported configuration".
> But again, that point is moot by now.  Even old Perl from
> msys does not get me install Autoconf-2.60.
>
> ... 
> >
> > MSYS is not a linux distro by any imagination but I think the
> > same principle applies.
> 
> Which implies that I should not even try your suggestion of
> installing Autoconf-2.61 from a non-officially supported third
> party.  I don't think your statements are coherent.

By your rules you would only do this if you had no other choice.
What choice do you have? If you want to abandon Windows development
for build-improvements, fine, it's your choice. But would still
try to encourage you to continue.

> 
> Bill -- again, building Autoconf-2.60 does not work on the
> "virgin" msys/mingw fails as an infinite loop.
>

Very odd. I works fine for me:

--------
$ wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz

$ tar xzvf autoconf-2.60.tar.gz
$ perl --version

This is perl, v5.6.1 built for msys

Copyright 1987-2001, Larry Wall

Perl may be copied only under the terms of either the Artistic License or
the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'.  If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

$ cd autoconf-2.60

$ ./configure
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether /bin/sh -n is known to work... yes
checking for expr... /bin/expr
checking for gm4... no
checking for gnum4... no
checking for m4... /bin/m4
checking whether m4 supports frozen files... yes
checking for perl... /bin/perl
checking for emacs... no
checking for xemacs... no
checking for emacs... no
checking where .elc files should go... ${datadir}/emacs/site-lisp
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
configure: creating ./config.status
config.status: creating config/Makefile
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating man/Makefile
config.status: creating lib/emacs/Makefile
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating lib/Makefile
config.status: creating lib/Autom4te/Makefile
config.status: creating lib/autoscan/Makefile
config.status: creating lib/m4sugar/Makefile
config.status: creating lib/autoconf/Makefile
config.status: creating lib/autotest/Makefile
config.status: creating bin/Makefile
config.status: executing tests/atconfig commands

$ make
Making all in bin
make[1]: Entering directory `/home/Administrator/autoconf-2.60/bin'
rm -f autom4te autom4te.tmp
sed -e 's|@address@hidden|/bin/sh|g' -e 's|@address@hidden|/bin/perl|g' -e
's|@address@hidden|/usr/local/bin|g' -e
's|@address@hidden|/usr/local/share/autoconf|g' -e 
's|@address@hidden|/usr/local|g'
-e 's|@address@hidden|'`echo autoconf | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autoheader | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autom4te | sed 's,x,x,'`'|g' -e
's|@address@hidden|/bin/m4|g' -e 's|@address@hidden|gawk|g' -e 
's|@address@hidden|2.60|g' -e
's|@address@hidden|GNU Autoconf|g' -e 's|@address@hidden|Generated from
autom4te.in; do not edit by hand.|g' `test -f ./autom4te.in || echo
./`autom4te.in >autom4te.tmp
chmod +x autom4te.tmp
chmod a-w autom4te.tmp
mv autom4te.tmp autom4te
cd ../lib && make  autom4te.cfg
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib'
rm -f autom4te.cfg autom4te.tmp
sed -e 's|@address@hidden|/bin/sh|g' -e 's|@address@hidden|/bin/perl|g' -e
's|@address@hidden|/usr/local/bin|g' -e
's|@address@hidden|/usr/local/share/autoconf|g' -e 
's|@address@hidden|/usr/local|g'
-e 's|@address@hidden|'`echo autoconf | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autoheader | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autom4te | sed 's,x,x,'`'|g' -e
's|@address@hidden|/bin/m4|g' -e 's|@address@hidden|gawk|g' -e 
's|@address@hidden|2.60|g' -e
's|@address@hidden|GNU Autoconf|g' ./autom4te.in >autom4te.tmp
chmod a-w autom4te.tmp
mv autom4te.tmp autom4te.cfg
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib'
cd ../lib/m4sugar && make  version.m4
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib/m4sugar'
{                                       \
  echo '# This file is part of -*- Autoconf -*-.'; \
  echo '# Version of Autoconf.'; \
  echo '# Copyright (C) 1999, 2000, 2001, 2002'; \
  echo '# Free Software Foundation, Inc.'; \
  echo ;\
  echo 'm4_define([m4_PACKAGE_NAME],      [GNU Autoconf])'; \
  echo 'm4_define([m4_PACKAGE_TARNAME],   [autoconf])'; \
  echo 'm4_define([m4_PACKAGE_VERSION],   [2.60])'; \
  echo 'm4_define([m4_PACKAGE_STRING],    [GNU Autoconf 2.60])'; \
  echo 'm4_define([m4_PACKAGE_BUGREPORT], address@hidden)'; \
} >version.m4
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib/m4sugar'
autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg'
../bin/autom4te -B '..'/lib -B '..'/lib         --language M4sh --cache ''
--melt ./autoconf.as -o autoconf.in
rm -f autoconf autoconf.tmp
sed -e 's|@address@hidden|/bin/sh|g' -e 's|@address@hidden|/bin/perl|g' -e
's|@address@hidden|/usr/local/bin|g' -e
's|@address@hidden|/usr/local/share/autoconf|g' -e 
's|@address@hidden|/usr/local|g'
-e 's|@address@hidden|'`echo autoconf | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autoheader | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autom4te | sed 's,x,x,'`'|g' -e
's|@address@hidden|/bin/m4|g' -e 's|@address@hidden|gawk|g' -e 
's|@address@hidden|2.60|g' -e
's|@address@hidden|GNU Autoconf|g' -e 's|@address@hidden|Generated from
autoconf.in; do not edit by hand.|g' `test -f ./auto
conf.in || echo ./`autoconf.in >autoconf.tmp
chmod +x autoconf.tmp
chmod a-w autoconf.tmp
mv autoconf.tmp autoconf
rm -f autoheader autoheader.tmp
sed -e 's|@address@hidden|/bin/sh|g' -e 's|@address@hidden|/bin/perl|g' -e
's|@address@hidden|/usr/local/bin|g' -e
's|@address@hidden|/usr/local/share/autoconf|g' -e 
's|@address@hidden|/usr/local|g'
-e 's|@address@hidden|'`echo autoconf | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autoheader | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autom4te | sed 's,x,x,'`'|g' -e
's|@address@hidden|/bin/m4|g' -e 's|@address@hidden|gawk|g' -e 
's|@address@hidden|2.60|g' -e
's|@address@hidden|GNU Autoconf|g' -e 's|@address@hidden|Generated from
autoheader.in; do not edit by hand.|g' `test -f ./autoheader.in || echo
./`autoheader.in >autoheader.tmp
chmod +x autoheader.tmp
chmod a-w autoheader.tmp
mv autoheader.tmp autoheader
rm -f autoreconf autoreconf.tmp
sed -e 's|@address@hidden|/bin/sh|g' -e 's|@address@hidden|/bin/perl|g' -e
's|@address@hidden|/usr/local/bin|g' -e
's|@address@hidden|/usr/local/share/autoconf|g' -e 
's|@address@hidden|/usr/local|g'
-e 's|@address@hidden|'`echo autoconf | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autoheader | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autom4te | sed 's,x,x,'`'|g' -e
's|@address@hidden|/bin/m4|g' -e 's|@address@hidden|gawk|g' -e 
's|@address@hidden|2.60|g' -e
's|@address@hidden|GNU Autoconf|g' -e 's|@address@hidden|Generated from
autoreconf.in; do not edit by hand.|g' `test -f ./autoreconf.in || echo
./`autoreconf.in >autoreconf.tmp
chmod +x autoreconf.tmp
chmod a-w autoreconf.tmp
mv autoreconf.tmp autoreconf
rm -f ifnames ifnames.tmp
sed -e 's|@address@hidden|/bin/sh|g' -e 's|@address@hidden|/bin/perl|g' -e
's|@address@hidden|/usr/local/bin|g' -e
's|@address@hidden|/usr/local/share/autoconf|g' -e 
's|@address@hidden|/usr/local|g'
-e 's|@address@hidden|'`echo autoconf | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autoheader | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autom4te | sed 's,x,x,'`'|g' -e
's|@address@hidden|/bin/m4|g' -e 's|@address@hidden|gawk|g' -e 
's|@address@hidden|2.60|g' -e
's|@address@hidden|GNU Autoconf|g' -e 's|@address@hidden|Generated from
ifnames.in; do not edit by hand.|g' `test -f ./ifnames.in || echo
./`ifnames.in >ifnames.tmp
chmod +x ifnames.tmp
chmod a-w ifnames.tmp
mv ifnames.tmp ifnames
rm -f autoscan autoscan.tmp
sed -e 's|@address@hidden|/bin/sh|g' -e 's|@address@hidden|/bin/perl|g' -e
's|@address@hidden|/usr/local/bin|g' -e
's|@address@hidden|/usr/local/share/autoconf|g' -e 
's|@address@hidden|/usr/local|g'
-e 's|@address@hidden|'`echo autoconf | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autoheader | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autom4te | sed 's,x,x,'`'|g' -e
's|@address@hidden|/bin/m4|g' -e 's|@address@hidden|gawk|g' -e 
's|@address@hidden|2.60|g' -e
's|@address@hidden|GNU Autoconf|g' -e 's|@address@hidden|Generated from
autoscan.in; do not edit by hand.|g' `test -f ./autoscan.in || echo
./`autoscan.in >autoscan.tmp
chmod +x autoscan.tmp
chmod a-w autoscan.tmp
mv autoscan.tmp autoscan
rm -f autoupdate autoupdate.tmp
sed -e 's|@address@hidden|/bin/sh|g' -e 's|@address@hidden|/bin/perl|g' -e
's|@address@hidden|/usr/local/bin|g' -e
's|@address@hidden|/usr/local/share/autoconf|g' -e 
's|@address@hidden|/usr/local|g'
-e 's|@address@hidden|'`echo autoconf | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autoheader | sed 's,x,x,'`'|g' -e
's|@address@hidden|'`echo autom4te | sed 's,x,x,'`'|g' -e
's|@address@hidden|/bin/m4|g' -e 's|@address@hidden|gawk|g' -e 
's|@address@hidden|2.60|g' -e
's|@address@hidden|GNU Autoconf|g' -e 's|@address@hidden|Generated from
autoupdate.in; do not edit by hand.|g' `test -f ./autoupdate.in || echo
./`autoupdate.in >autoupdate.tmp
chmod +x autoupdate.tmp
chmod a-w autoupdate.tmp
mv autoupdate.tmp autoupdate
make[1]: Leaving directory `/home/Administrator/autoconf-2.60/bin'
Making all in .
make[1]: Entering directory `/home/Administrator/autoconf-2.60'
make[1]: Nothing to be done for `all-am'.
make[1]: Leaving directory `/home/Administrator/autoconf-2.60'
Making all in lib
make[1]: Entering directory `/home/Administrator/autoconf-2.60/lib'
Making all in Autom4te
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib/Autom4te'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib/Autom4te'
Making all in m4sugar
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib/m4sugar'
autom4te_perllibdir='../..'/lib AUTOM4TE_CFG='../../lib/autom4te.cfg'
../../bin/autom4te -B '../..'/lib -B '../..'/lib
\
        --language=m4sugar                      \
        --freeze                        \
        --output=m4sugar.m4f
autom4te_perllibdir='../..'/lib AUTOM4TE_CFG='../../lib/autom4te.cfg'
../../bin/autom4te -B '../..'/lib -B '../..'/lib
\
        --language=m4sh                 \
        --freeze                        \
        --output=m4sh.m4f
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib/m4sugar'
Making all in autoconf
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib/autoconf'
autom4te_perllibdir='../..'/lib AUTOM4TE_CFG='../../lib/autom4te.cfg'
../../bin/autom4te -B '../..'/lib -B '../..'/lib
\
        --language=autoconf                     \
        --freeze                        \
        --output=autoconf.m4f
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib/autoconf'
Making all in autotest
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib/autotest'
autom4te_perllibdir='../..'/lib AUTOM4TE_CFG='../../lib/autom4te.cfg'
../../bin/autom4te -B '../..'/lib -B '../..'/lib
\
        --language=autotest                     \
        --freeze                        \
        --output=autotest.m4f
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib/autotest'
Making all in autoscan
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib/autoscan'
echo '# Automatically Generated: do not edit this file' >autoscan.list
sed '/^[#]/!q' ./autoscan.pre                  >>autoscan.list
( \
  sed -n '/^[^#]/p' ./autoscan.pre; \
  autom4te_perllibdir='../..'/lib AUTOM4TE_CFG='../../lib/autom4te.cfg'
../../bin/autom4te -B '../..'/lib -B '../..'/lib         --cache '' -M -l
autoconf -t'AN_OUTPUT:$1: $2          $3' \
) | LC_ALL=C sort                                      >>autoscan.list
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib/autoscan'
Making all in emacs
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib/emacs'
WARNING: Warnings can be ignored. :-)
if test "no" != no; then \
  set x; \
  list='autoconf-mode.el autotest-mode.el'; for p in $list; do \
    if test -f "$p"; then d=; else d="./"; fi; \
    set x "$@" "$d$p"; shift; \
  done; \
  shift; \
  EMACS="no" /bin/sh ../../config/elisp-comp "$@" || exit 1; \
else : ; fi
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib/emacs'
make[2]: Entering directory `/home/Administrator/autoconf-2.60/lib'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/home/Administrator/autoconf-2.60/lib'
make[1]: Leaving directory `/home/Administrator/autoconf-2.60/lib'
Making all in config
make[1]: Entering directory `/home/Administrator/autoconf-2.60/config'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/Administrator/autoconf-2.60/config'
Making all in man
make[1]: Entering directory `/home/Administrator/autoconf-2.60/man'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/Administrator/autoconf-2.60/man'
Making all in doc
make[1]: Entering directory `/home/Administrator/autoconf-2.60/doc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/Administrator/autoconf-2.60/doc'
Making all in tests
make[1]: Entering directory `/home/Administrator/autoconf-2.60/tests'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/Administrator/autoconf-2.60/tests'

---------

> 
> I move from Autoconf-2.5x to Autoconf-2.60 because:
>   (1) it does fix a bug, that turns out to be serious in later
>       development for Axiom (partly because of some bugs in Axiom).
>   (2) all my development machines have Autoconf-2.60 installed
>       (prepackages with the linux distribution).
> 
> As I see this, I can the reasonable choice for me is to stop any
> work related to Axiom on windows; that save me valuable time, and
> probably spares me from unwarranted unhelpful characterizations
> and moralization.

Your choice. Maybe you can wait until someone produces an MSYS
developer package with 2.60 pre-installed. Again I apologize for
my "unwarranted unhelpful characterizations and moralization".
I have no excuse except to observe that it is common human failing.

> If people care about Axiom on windows, they will find resources
> to get it happen.

I doubt that very much. All that is likely to happen is that they
will dismiss Axiom as uninteresting. Consider for example Martin's
recent experience with promotion of his guess package for Axiom.
My current goal is to produce a version of Axiom for windows that
has this (and other bug fixes by Waldek) pre-installed. Right now
build-improvements is the best tool to accomplish this. Porting
upstream build-improvement changes to wh-sandbox seems very
difficult, so I am currently looking at pulling what's needed from
wh-sandbox back into build-improvements. The changes in the
wh-sandbox algebra build makes this just a little tricky in the
case of the guess package. I would also like to pull the changes
for the algebra build since it avoids embedding Lisp into the
algebra files, but I think I'll tackle that second (or wait for
someone else to do it).

> I'm done.

I'm sorry to hear that. :-(

Regards,
Bill Page.






reply via email to

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