首先,下载该工具包。
SDSS网页上一堆都是帮助文档,要找到下载地址还得费一番力气。从下面的链接下载所需的压缩包:
http://spectro.princeton.edu/tarballs/
这个地址罗列了几个软件包的各个版本。这里我们只需要idlutils,选择当前的最新版比如idlutils-v5_3_0.tar,下载。
你可以参考
http://spectro.princeton.edu/idlspec2d_install.html#install_tar
给出的安装过程,但在我帮GF在她的ubuntu 8.10上安装时,出现两大错误:
一是在默认的bash终端下,无论你怎么设置\$IDLUTILS_DIR变量,在执行evilmake时总是没用,make的时候会把makefile里的所有\$(IDLUTILS_DIR)都忽略掉,所以编译时脚本会企图把你要生成的库都放在/lib目录下而非\$IDLUTILS_DIR/lib下,这样当你不是以超级用户权限执行时,会报错:permission denied.
二是ubuntu 8.10上的gcc 4.3根本就不带g77,当然也不带f77。如果你装了f77,没用,他会把mangle下的*.s.f文件都转成c文件然后生成 *.o文件,于是make报错:azel.s.o找不到,因为压根只有azel.o。
经过一晚的摸索,在不懂make语法的情况下,自己还是终于成功解决了上面两个问题,可行的安装过程如下:
将idlutils-v5_3_0.tar解压缩,比如在该压缩包所在目录下执行:
tar -xf idlutils-v5_3_0.tar -C ~/
将该包解压到自己的home目录下。
然后
cd ~/idlutils
然后编辑idlutils目录下的/bin/evilmake文件,把下面两行:
"Linux" )
LDF77=g77
改为
"Linux" )
F77=gfortran
LDF77=gcc
也就是设置合适的编译器。如果你的系统里没有gfortran,先
apt-get install gfortran
下面开始编译安装:
切换到csh(如果没有csh,同样apt-get install csh) :
csh
设置变量:
setenv IDLUTILS_DIR $HOME/idlutils
你把idlutils解压到哪就把上面的路径设成哪。
这时再运行
bin/evilmake
一切正常,只有一些warning,而不再报错。
最后一步,为IDL添加路径:
启动idlde,如果你是6.2左右的版本,那么在FILE->Preference菜单下,Path标签上,添加你刚装的idlutils目录,然后把前面的复选框选上,然后确定。
如果你是IDL 7.0的版本,那么在窗口->首选项菜单,选择IDL->路径,在其中添加idlutils的目录,然后把复选框选上,确定。
这时可以在idl命令行试试idlutils里的命令,比如atv,如果跳出一个窗口,则大功告成。
----------
转载请注明源自asc.2dark.org,作者kambrian。
评论
Quote: 一是在默认的bash
一是在默认的bash终端下,无论你怎么设置\$IDLUTILS_DIR变量,在执行evilmake时总是没用,make的时候会把makefile里
的所有\$(IDLUTILS_DIR)都忽略掉,所以编译时脚本会企图把你要生成的库都放在/lib目录下而非\$IDLUTILS_DIR/lib下,这
样当你不是以超级用户权限执行时,会报错:permission denied.
似乎是因为没有export,设好之后export该变量应该就好了,比如上面评论中的设置变量方法。