Petrichor
Petrichor

Reputation: 1065

Error when attempting to install Octave IO package

When attempting to install the Octave io package on Windows 7 I receive the following error:

>> pkg install io-2.4.12.tar.gz
          0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x190000, State 0x10000
C:\Octave\Octave-4.2.0\bin\perl.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
warning: doc_cache_create: unusable help text found in file 'getxmlattv'
For information about changes from previous versions of the io package, run 'news io'.
>>

I have a read a few other similar questions but have been unable to find an answer, and I do not understand the error message in all honesty. I understand cygwin in a Unix-like interface for windows, but that is about it. I have tried running as administrator, deleting all temp files, restarting etc. but cannot get the pkg to install successfully. Any ideas?

The referenced file 'getxmlattv' is just a function and not a text file as described and cannot be run as a standalone file:

    function [retval] = getxmlattv (xmlnode, att)

  retval = '';

  ## Get end of first tag
  iend = index (xmlnode, ">");
  ## Get start of value string. Concat '="' to ensure minimal ambiguity
  vals = index (xmlnode, [att '="']);
  if (vals == 0)
    ## Attribute not in current tag
    return
  elseif (vals)
    vals = vals + length (att) + 2;
    vale = regexp (xmlnode(vals:end), '"[ >/]');
    if (! isempty (vale))
      retval = xmlnode(vals:vals+vale-2);
    endif
  endif

endfunction

I don't see how this is of any use.

Upvotes: 0

Views: 1234

Answers (1)

matzeri
matzeri

Reputation: 8496

For the windows version of octave the packages are already available in the installer

https://wiki.octave.org/Octave_for_Microsoft_Windows

so you don't need to install io from source package. Just re-run the installer if you missed it.

Please note that the error message is misleading as you are not using the cygwin version of octave but msys/mingw one; that is based on a modified version of the cygwin1.dll where they forgot to update the messages:

$ strings msys-1.0.dll | grep cygwin
...
%P: *** Couldn't reserve space for cygwin's heap (%p <%p>) in child, %E
...

Upvotes: 2

Related Questions