Трудно сделать Healpix совместимым с GDL

ПРОБЛЕМА:

У меня возникают трудности с запуском подпрограмм Healpix-IDL с GDL в текущей версии Healpix, Healpix_3.20.

Проще всего подписаться на пользователя gilo в этом посте:

http://sourceforge.net/p/gnudatalanguage/discussion/338692/thread/6546b9ad/?limit=25#324d

Все подпрограммы Healpix IDL загружаются в ~/user/downloads/Healpix_3.20/src/idl

Затем используйте !PATH, т.е.:

GDL> !PATH = expand_path('+/user/myname/downloads/HEALPix_3.20/')+':'+!PATH

и после этого у вас есть доступ ко всем процедурам healpix в пределах gdl

Это не работает для меня. Я пробую команду hidl и hididle в Терминале (я использую Mac OS X Yosemite, 10.10.5):

GDL> hidl
% Procedure not found: HIDL
% Execution halted at: $MAIN$

Любые другие решения?

ВОЗМОЖНЫЕ РЕШЕНИЯ: В процедурах установки install.pdf, Раздел 7.6 Использование hidl описывает, что hidl иногда не распознается. Исправление заключается в том, что переменная среды IDL STARTUP устанавливается равной загрузочному файлу HEALPix. Запуск HEALPix, включая путь к файлу, т.е.

setenv IDL_STARTUP /disk1/user1/HEALPix_2.15a/src/idl/HEALPix_startup для оболочки C, csh

export IDL_STARTUP="+/disk1/user1/HEALPix_2.15a/src/idl/HEALPix_startup" для с, ш, баш

Для моих процедур это должно быть

export IDL_STARTUP="+/usr/downloads/HEALPix_3.20/src/idl/HEALPix_startup"

на терминале bash (напомним синтаксис: export key=value — это sh, ksh, bash setenv key value — это csh) Это не работает для меня. После выполнения команды и входа в gdl я получаю:

% Error opening startup file: /user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup

Следуя разделу 7.8 Использование GDL вместо IDL, я пытаюсь

$ export IDL_TMPDIR=/tmp
$ gdl

Это тоже не работает. После использования HEALPix IDL вместе с другими библиотеками IDL в руководстве по процедурам IDL, idl.pdf, я пытаюсь

export IDL_PATH="+/user/myname/downloads/HEALPix_3.20/src/idl/:+/opt/local/share/gnudatalanguage/lib:<IDL_DEFAULT>"
export IDL_STARTUP="+/user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup"gdl`

ошибка вывода:

% Error opening startup file: /user/myname/downloads/HEALPix_3.20/src/idl/HEALPix_startup.

я пытаюсь

export IDL_PATH="+/opt/local/share/gnudatalanguage/lib:<IDL_DEFAULT>"
hidl

ошибка вывода:

-bash: hidl: command not found

Ничего не работает.

ФОН:

У Healpix есть процедуры установки здесь, на source forge.net: healpix.sourceforge.net/pdf/install.pdf

и подпрограммы IDL здесь: healpix.sourceforge.net/pdf/idl.pdf

Исходный код находится здесь: sourceforge.net/projects/healpix/

Чтобы установить Healpix, вы используете ./configure, а затем make. (См. install.pdf, раздел 4)

Подпрограммы Healpix IDL загружаются в /user/myname/downloads/HEALPix_3.20/

Подпрограммы GDL расположены в /opt/local/share/gnudatalanguage/lib/


person EB2127    schedule 11.09.2015    source источник


Ответы (2)


hidl — это псевдоним для запуска IDL с файлом запуска Healpix и путем. Введите его в системной командной строке, а не в командной строке IDL. Вы должны пройти через их систему configure, чтобы определить hidl.

person mgalloy    schedule 11.09.2015
comment
Спасибо за помощь. Ввод hidl в командной строке приводит к -bash: hidl: command not found. Если я установлю путь с помощью !PATH=expand_path() выше внутри GDL, выйду, а затем использую hidl, это также не сработает. Ввод export IDL_STARTUP="+/usr/downloads/HEALPix_3.20/src/idl/HEALPix_startup", а затем hidl в Терминале также не работает. Система настройки Healpix, похоже, не влияет на hidl. - person EB2127; 12.09.2015
comment
Вы запустили файл config, созданный командой configure в вашем домашнем каталоге? Вы бы сделали что-то вроде . ~/.healpix/3_20_Darwin/config. - person mgalloy; 12.09.2015
comment
В подкаталоге ~/.healpix/3_20_Darwin есть два файла, config и idl.sh. Смотрите ответ ниже для получения дополнительных комментариев. - person EB2127; 12.09.2015
comment
Я нашел ошибку. Моя ошибка заключалась в том, что для GDL_STARTUP нельзя включать плюс +, т.е. export GDL_STARTUP="/Users/myname/downloads/Healpix_3.20/src/idl/HEALPix_startup", но для GDL_PATH нужно включать плюс +, т.е. export GDL_PATH="+/Users/myname/downloads/HEALPix_3.20/src/idl/:+/opt/local/share/gnudatalanguage/lib:<IDL_DEFAULT>" - person EB2127; 14.09.2015

В подкаталоге ~/.healpix/3_20_Darwin есть два файла, config и idl.sh.

config это

# configuration for Healpix 3.20
HEALPIX=/Users/myname/downloads/Healpix_3.20 ; export HEALPIX
HPX_CONF_DIR=/Users/myname/.healpix/3_20_Darwin
if [ -r ${HPX_CONF_DIR}/idl.sh ] ; then . ${HPX_CONF_DIR}/idl.sh ; fi
if [ -r ${HPX_CONF_DIR}/f90.sh ] ; then . ${HPX_CONF_DIR}/f90.sh ; fi
if [ -r ${HPX_CONF_DIR}/cpp.sh ] ; then . ${HPX_CONF_DIR}/cpp.sh ; fi
if [ -r ${HPX_CONF_DIR}/c.sh ] ;   then . ${HPX_CONF_DIR}/c.sh ;   fi

idl.sh файл

# IDL configuration for HEALPix Fri MONTH DAY TIME EDT YEAR
# make sure IDL related variables are global
export IDL_PATH IDL_STARTUP
# back up original IDL config, or give default value
OIDL_PATH="${IDL_PATH-<IDL_DEFAULT>}"
OIDL_STARTUP="${IDL_STARTUP}"
# create Healpix IDL config, and return to original config after running Healpix-enhanced IDL
HIDL_PATH="+${HEALPIX}/src/idl:${OIDL_PATH}"
HIDL_STARTUP="${HEALPIX}/src/idl/HEALPix_startup"
alias hidl="IDL_PATH=\"${HIDL_PATH}\"   ; IDL_STARTUP=${HIDL_STARTUP} ; idl   ; IDL_PATH=\"${OIDL_PATH}\" ; IDL_STARTUP=${OIDL_STARTUP} "
alias hidlde="IDL_PATH=\"${HIDL_PATH}\" ; IDL_STARTUP=${HIDL_STARTUP} ; idlde ; IDL_PATH=\"${OIDL_PATH}\" ; IDL_STARTUP=${OIDL_STARTUP} " 

Итак, если я вручную задам пути в этом idl.sh файле и запущу config, то есть ~/.config. Это должно позволить использовать hidl в командной строке для запуска подпрограмм Healpix IDL, верно?

person EB2127    schedule 12.09.2015
comment
Что касается меня, я просто запустил файл config, а затем я мог запустить hidl из командной строки. hidl просто запускает IDL с установленными путями. - person mgalloy; 12.09.2015
comment
Вы имеете в виду, что вы сначала ввели в командную строку . ~/.healpix/3_20_Darwin/config, а затем ввели hidl? Это не работает для меня. Я получаю -bash: idl: command not found. - person EB2127; 12.09.2015
comment
Или вы имеете в виду, что вы запустили ./configure, как описано в Разделе 4 здесь: healpix.sourceforge.net/pdf /install.pdf Ни то, ни другое не работает. - person EB2127; 12.09.2015
comment
Раньше я запускал ./configure, это то, что создает ~/.healpix/3_20_Darwin. Затем я запускаю . ~/.healpix/3_20_Darwin/config, что должно дать вам команду hidl. Вам придется изменить этот config файл, если вы хотите, чтобы он запускал GDL вместо IDL. - person mgalloy; 13.09.2015
comment
@mgalloy Файл config выглядит так, как будто он не зависит от GDL. (Кстати, я бы использовал IDL, но бедность. Извините.) Я отредактировал файл idl.sh, чтобы сделать его совместимым с GDL, отредактировав все IDL, чтобы они стали GDL. Тем не менее, hidl не работает. Я не уверен, почему .... - person EB2127; 13.09.2015