работающая октава с пакетом netcdf

Я пытаюсь запустить октаву для обработки файлов netcdf. Хотя в настоящее время я могу успешно запустить октаву, мне было очень трудно загрузить пакет netcdf для октавы.

Я использовал команду:

pkg -forge install netcdf

Однако, когда я набираю:

pkg load netcdf
test netcdf

Я получаю следующее сообщение об ошибке:

????? netcdf source code with tests for dynamically linked function not found

Когда я делаю список pkg, я получаю следующее:

Package Name  | Version | Installation directory
--------------+---------+-----------------------
  netcdf *|  1.0.12 | /home/jsnyder/octave/netcdf-1.0.12
  octcdf  |  1.1.10 | /home/jsnyder/octave/octcdf-1.1.10

Как решить эту проблему?

У кого-нибудь есть конкретные инструкции, как успешно установить netcdf, чтобы он работал на октаве? Это включает в себя, где взять файлы netcdf, необходимые для октавы, как их успешно скомпилировать, а затем, наконец, иметь возможность успешно загрузить в октаву, чтобы я мог использовать это для обработки файлов netcdf.


person jms1980    schedule 17.09.2018    source источник
comment
Я думаю, вы должны объяснить, почему вам было очень трудно загрузить пакет netcdf для октавы. Существуют разные способы в зависимости от вашей операционной системы/дистрибутива и версии GNU Octave (вы пока не упомянули ни об одном из них)   -  person Andy    schedule 17.09.2018
comment
netcdf, похоже, является пакетом, поддерживаемым octave forge octave.sourceforge.io/netcdf/index.html поэтому теоретически все, что вам нужно сделать, чтобы установить его, это pkg install netcdf -forge. Это то, что вы пытались сделать? (обратите внимание, что после установки, чтобы использовать любой пакет, вы должны сначала загрузить его, то есть pkg load netcdf )   -  person Tasos Papastylianou    schedule 17.09.2018
comment
это test_netcdf НЕ test netcdf   -  person Andy    schedule 18.09.2018


Ответы (2)


Эти инструкции работали для меня в прошлом:

sudo apt install netcdf-bin
sudo apt install liboctave-dev
sudo apt install libnetcdf-dev

in octave pkg install -forge netcdf
Then before using pkg load netcdf 
person Clinton Winant    schedule 17.09.2018

В дополнение к ответу Клинтона я расскажу о шагах, которые я предпринял для его установки здесь, в надежде, что это прольет больше света как на процесс установки, так и на выяснение того, что вообще устанавливать в таких ситуациях.

я набрал

pkg install netcdf -forge

в октаве. Первоначально он жаловался на checking for nc-config... no

Чтобы узнать, какой пакет предоставляет эту команду, я запустил в терминале linux:

apt-file search nc-config

(обратите внимание, что если у вас нет инструмента apt-file, вам может потребоваться сначала его установить).

Вывод команды apt-file сообщил мне, что этот файл предоставляется пакетом libnetcdf-dev. Поэтому я установил это.

Повторная попытка pkg install netcdf -forge сработала во второй раз, и я могу успешно загрузить пакет.

Я также отмечаю, что вторая команда, которую вы пытаетесь запустить, вероятно, test_netcdf, а НЕ test netcdf. Первая — это команда, включенная в пакет netcdf, вторая — попытка выполнить модульные тесты, используя встроенный синтаксис тестирования octave.

Выполнение test_netcdf, похоже, отлично работает для меня после вышеуказанных шагов.

person Tasos Papastylianou    schedule 17.09.2018
comment
Я на Centos, а не на Ubuntu, и я заметил, что не смог установить libnetcdf-dev или даже найти nc-config. Любые идеи о том, кто имеет дело с указанной ситуацией? - person jms1980; 17.09.2018
comment
@ jms1980 эквивалент команды apt-file search filename в системах rpm, использующих диспетчер пакетов yum, кажется yum provides filename. Затем вы можете выполнить yum install packagename для этого конкретного пакета. - person Tasos Papastylianou; 17.09.2018
comment
@ jms1980 Стоит попробовать, если вы найдете только liboctave-dev. Я смутно (!!) помню, что это сработало - person Clinton Winant; 18.09.2018