Октава - Недопустимый заголовок ELF - Ubuntu 18.04

TLDR;

Я хочу выполнить код октавы в терминале без любого GUI, но стою перед ошибкой заголовка ELF.

Полный вопрос;

Я пытаюсь запустить основной скрипт октавы как видно здесь, который сохраняется как файл, названный testing.oct

x = 5
% This is just some silly comment to make minimum length. 

Но, когда я перфорирую octave testing.oct в мою командную строку, которая уже находится в том каталоге с тем файлом, я получаю следующую ошибку

error: /home/user/programs/junk/testing.oct: failed to load: /home/user/programs/junk/testing.oct: invalid ELF header

Выполнение cat testing.oct проверяет, что я загружаю файл, я намереваюсь.

Я запускаю Ubuntu 18.04, к которой я просто обновил от 16,04. Согласно octave --version Я использую 4.2.2. Я у меня есть ранее (в 16,04) используемая октава этим способом с выводом "командного окна", появляющимся в моем терминале и функциях графика/числа, подбрасывающих как маленькие окна, которые ожидают терпеливо, чтобы Вы закрыли их так, чтобы выполнение могло продолжиться.

Я уже попытался следовать совету, содержавшему здесь для восстановления моей установки октавы в случае, если это было проблемой, но это не исправляло мою проблему.

Загрузка октавы GUI и помещение сценария в Командное окно бросают ту же ошибку.

Любая информация, которая может помочь мне использовать октаву из командной строки таким образом, значительно ценилась бы.

Редактирование 1: В ответ на запрос комментария apt-cache policy octave :

octave:
  Installed: 4.2.2-1ubuntu1
  Candidate: 4.2.2-1ubuntu1
  Version table:
 *** 4.2.2-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status

Редактирование 2: В ответ на запрос комментария dpkg -l | grep octave :

ii  liboctave4:amd64  4.2.2-1ubuntu1  amd64  shared libraries of the GNU Octave language
ii  octave            4.2.2-1ubuntu1  amd64  GNU Octave language for numerical computations
ii  octave-common     4.2.2-1ubuntu1  all    architecture-independent files for octave
ii  octave-doc        4.2.2-1ubuntu1  all    documentation of the GNU Octave language
1
задан 24 September 2018 в 00:15

1 ответ

Я думаю, что проблемой здесь является просто расширение файла .oct, что Вы использовали. .oct расширение имеет особое значение для октавы, и это, как предполагается, не используется для файлов сценария октавы. Просто переименуйте файл от testing.oct до testing.m и попробуйте еще раз, затем он должен работать:

$ octave testing.oct 
error: /home/elias/slask/testing.oct: failed to load: /home/elias/slask/testing.oct: file too short
$ mv testing.oct testing.m
$ octave testing.m 
x =  5
1
ответ дан 7 December 2019 в 15:14

Другие вопросы по тегам:

Похожие вопросы: