octave-maintainers
[Top][All Lists]
Advanced

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

Default PATH for executing external programs


From: John W. Eaton
Subject: Default PATH for executing external programs
Date: Thu, 06 Nov 2014 13:51:10 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.5.0

Currently, Octave sets the PATH for searching for executable programs
to be the user's PATH followed by Other directories under OCTAVE_HOME
that may also contain programs to execute.  By setting things this
way, we may end up executing the wrong version of mkoctfile (for
example).  Octave's mkoctfile function takes care of this by
explicitly executing the copy of the external mkoctfile program found
in Octave's $bindir, but that is not done when executing the external
mkoctfile program using "pkg install" because "pkg install" just
executes Make, and there is no way to know how the package Makefiles
will execute mkoctfile.

There was a bug report about this issue for Windows:

  https://savannah.gnu.org/bugs/?func=detailitem&item_id=43164

The solution was to prepend Octave's $bindir to the user's PATH before
starting Octave.  That works, but shouldn't Octave be doing this
itself?

Or perhaps it should not be doing this at all, because it doesn't
allow the user to easily override that choice.

Another option is to have Octave export MKOCTFILE (with a default
setting, but not overriding the value found in the environment, if
any) and require package Makefiles to use this variable if they want
to behave properly.

jwe



reply via email to

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