Ошибка при попытке установить пакет Octave IO - PullRequest
0 голосов
/ 03 декабря 2018

При попытке установить пакет Octave io в Windows 7 я получаю следующую ошибку:

>> 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'.
>>

Я прочитал несколько других похожих вопросов, но не смог найти ответ, и я делаю это.не понимаю сообщение об ошибке во всей честности.Я понимаю Cygwin в Unix-подобном интерфейсе для Windows, но это все.Я попытался запустить от имени администратора, удалив все временные файлы, перезапустить и т. Д., Но не могу заставить pkg успешно установить.Есть идеи?

Ссылочный файл 'getxmlattv' - это просто функция, а не текстовый файл, как описано, и его нельзя запускать как отдельный файл:

    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

Я не понимаю, как этолюбое использование.

1 Ответ

0 голосов
/ 03 декабря 2018

Для версии октавы для windows пакеты уже доступны в установщике

https://wiki.octave.org/Octave_for_Microsoft_Windows

, поэтому вам не нужно устанавливать io из исходного пакета.Просто перезапустите установщик, если вы пропустили его.

Обратите внимание, что сообщение об ошибке вводит в заблуждение, поскольку вы используете не версию cygwin octave, а версию msys / mingw;это основано на модифицированной версии cygwin1.dll, где они забыли обновить сообщения:

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