|
From: Greg J. <gv...@gm...> - 2015-03-18 09:24:41
|
On Tue, Mar 17, 2015 at 12:40 AM, Eli Zaretskii <el...@gn...> wrote:
> > Date: Mon, 16 Mar 2015 22:52:57 -0700
> > From: Greg Jung <gv...@gm...>
> >
> > 1. I only recently tried "$ make -j 4" multiprocessor option with MSYS
> and
> > discovered that it hangs. Then the processes remain even after I killed
> the
> > terminal process from another msys shell.
>
> Find a newer build of MSYS Make than the one provided on the MinGW
> site. I use such a build with -jN with no problems for several years.
>
> > 2. environment variable that start with "+" get transformed in an way
> which is
> > werd (and inconvenient).
> > In gnudatalanguage (GDL) we use "+{path}" values in to initialize a
> recursive
> > directory search path. When run from a DOS shell there is of course no
> change
> > in the variable
> > and the following resuls:
> >
> > ~~~~
> > GDL> print,getenv("GDL_LIBRARY")
> > +D:/programs/gnudatalanguage/lib
> > GDL> print,!Path
> >
> D:/home/greg/coyote/public;D:/home/greg/coyote;D:/home/greg/testsuite/benchmark;D:/home/greg/testsui
> >
> te;D:/home/greg;D:/programs/gnudatalanguage/lib/astronv61/pro/debug;D:/programs/gnudatalanguage/lib/
> >
> astronv61/pro;D:/programs/gnudatalanguage/lib/dicom;D:/programs/gnudatalanguage/lib/envi;D:/programs
> >
> /gnudatalanguage/lib/new;D:/programs/gnudatalanguage/lib/testsuite/benchmark;D:/programs/gnudatalang
> > uage/lib/testsuite;D:/programs/gnudatalanguage/lib
> > ~~~~
> >
> > the intializing routine used expand_path("+{library location}) to bring
> in all
> > subdirectories.
> > MSYS modifies the environment variable with a "+" by inserting the
> native path
> > to /usr, as such:
> >
> > ~~~~
> > greg@Homerw7 /d/programs/gnudatalanguage
> > $ uname --a
> > MINGW32_NT-6.1 HOMERW7 1.0.18(0.48/3/2) 2012-11-21 22:34 i686 Msys
> >
> > greg@Homerw7 /d/programs/gnudatalanguage
> > $ gdl
> > % Function not found: PATH_SEP
> > print,getenv("GDL_LIBRARY")
> > +D;E:\mingw\msys\1.0\programs\gnudatalanguage\lib
> > print,!path
> > E:\mingw\msys\1.0\programs\gnudatalanguage\lib
> > ~~~~
> >
> > just reporting: there's no urgency from my perspective.
>
> I'm not sure I understand the situation, so here are a few questions
> to clarify that:
>
> . Why are you using D:/foo/bar instead of /d/foo/bar format? AFAIU,
> if you use the latter, this problem will be gone.
>
> . Are you running GDL from MSYS Bash, or the MSYS Bash from within
> GDL? If so, why? MinGW programs are not supposed to do that as a
> matter of habit, precisely due to the issues you mention.
>
. If you don't invoke GDL from Bash nor Bash from GDL, then I'm
> afraid I don't understand how come the MSYS path expansion comes
> into play here.
>
>
Is this the actual path expansion policy? This is not how its laid out;
path expansion refers to arguments and not to the whole environment.
Perhaps the version I'm using was in an experimental state. I run the
program from msys after I've built it to check it's health; the variable is
set up as D:/ because it is to be run normally from DOS shell. Or from the
bash that runs under cmd.exe based on the old NTbash. As I said, there's
no real need for me here; I'm just trying to learn more about the situation.
The program can spawn a CMD.exe shell and capture stdout, which could be
used in a platform-independent manner, so its actually useful to run from
a bash shell. The cygwin
version can only use xlib graphics.
|