axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] HyperDoc


From: Waldek Hebisch
Subject: Re: [Axiom-developer] HyperDoc
Date: Mon, 9 Apr 2007 19:44:10 +0200 (CEST)

Gabriel Dos Reis wrote:
> Quoting Waldek Hebisch <address@hidden>:
> > Could you elaborate: you say that relative paths are needed on
> > Windows but you did not say why?
> 
> try to build Axiom out of source under MingW.
> 
> It gave me lots headache, only to discover later that the absolute
> path seen by configure is not the one other tools were expecting.
> A workaround was to use "pwd -W" -- only under mingw, because -W
> is a non-standard option, only to get into another whoop.
>

I did not try to build Axiom (I tried GCL first, and it seems that
GCL build fails unless you have the exact versions of software
used by Mike Thomas).  I know that Mysys (and Cygwin) is remapping
files (I hit the problem once).  MingW executables expect native
Windows paths, but the build tools are Mysys executables and remap
paths.  So if yonemix calls to  MingW and Mysys executables
(which happens if you run freshly build MingW binaries) one
have trouble.  My solution was to use paths with explicit drive
letter: AFAIK such paths are not remapped.

BTW: Without drive letter Windows path is still relative with
respect to current drive.

> One thing I used to do on the windows machine I was testing
> the build is to checkout the working directory on a USB key,
> boot under windows, try the build there, fix things, and reboot
> back under linux.  That does not work if paths are required to
> be absolute -- don't ask me why.
> 
> Finally, I solved the issue by making Axiom to accept relative path.
> 
> Please notice that what it means is that none of the Axiom component
> should assume that $AXIOM is an absolute path; they should only care
> that it is a valid path.  The software isn't more difficult or less robust to
> write that way.  At installation time, $AXIOM can be set to an absolute
> path, which makes all other paths absolute.  Note also that Axiom
> is designed to be "re-routed".
> 
> There is nothing gained in writing the components to assume that
> all paths are absolute.  We could as well assume that Earth is flat.
> 

Relative $AXIOM have to change when you change directory.  This
means that some variable settings have to be repeated.  Passing
of filenames to programs working in different directory become
harder.  Also relative paths are likely to hardwire relative positions
of directories, making change harder.

Recently I noticed that in Lisp relative paths behave in funny way
(it looks that Axiom is frequently calling truename to make
paths absolute and avoid problem).

So there are costs (IMHO substantial) to relative paths.

Later:
> Oh, yeah, one more thing: mingw uses windows native tools, in
> particular options  start with forward slash.  I don't remember the
> exact details, but at some point some of the absolute paths (using
> Unix-style notation) started being interpreted as options; it isn't funny.

Explicit drive letter should cure this problem.

-- 
                              Waldek Hebisch
address@hidden 




reply via email to

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