octave-maintainers
[Top][All Lists]
Advanced

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

Re: unable to find the mkoctfile command


From: Marco Atzeri
Subject: Re: unable to find the mkoctfile command
Date: Wed, 15 Jan 2014 18:45:04 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0


On 15/01/2014 18:02, Mike Miller wrote:
On Wed, Jan 15, 2014 at 17:21:53 +0100, Marco Atzeri wrote:

until 3.6.4, the search was right

---- usr/share/octave/3.6.4/m/miscellaneous/mkoctfile.m ----
function [output, status] = mkoctfile (varargin)

   bindir = octave_config_info ("bindir");

   shell_script = fullfile (bindir, sprintf ("mkoctfile-%s",
OCTAVE_VERSION));
-----------------------------------------------------------

on 3.8.0 is wrong, as ext was added

----usr/share/octave/3.8.0/m/miscellaneous/mkoctfile.m --
function [output, status] = mkoctfile (varargin)

   bindir = octave_config_info ("bindir");
   ext = octave_config_info ("EXEEXT");

   shell_script = fullfile (bindir, sprintf ("mkoctfile-%s%s",
OCTAVE_VERSION, ext));
---------------------------------------------------------

On wich platform the change was needed ?

This was needed not to execute the command but rather because I added
an existence check, see the lines right after the line you quoted:

   if (! exist (shell_script, "file"))
     __gripe_missing_component__ ("mkoctfile", "mkoctfile");
   endif

This is the reason the extension was added to the full file name.
Systems that do add .exe can execute fine without adding .exe, but the
existence check for the program was failing (e.g. mingw builds). See
https://savannah.gnu.org/bugs/?40180.

I contend that the existence check makes the user experience better,
so we need to keep that. The choice is between adding a workaround for
cygwin (odd man out because it does add .exe, but also uses shell
scripts), or simply stop using the shell script versions of mkoctfile
and octave-config.


I see the wrong assumption : "EXEEXT is only set on systems like Windows, and Windows uses the compiled versions."

Cygwin uses EXEEXT for compatibility with the rest of Windows,
but mkoctfile and octave-config are script....

Are mkoctfile and octave-config the only cases with such duality ?

Regards
Marco





reply via email to

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