SDSS IDL工具包binutils的安装

[English Version]

首先,下载该工具包。

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

Quote:

一是在默认的bash终端下,无论你怎么设置\$IDLUTILS_DIR变量,在执行evilmake时总是没用,make的时候会把makefile里
的所有\$(IDLUTILS_DIR)都忽略掉,所以编译时脚本会企图把你要生成的库都放在/lib目录下而非\$IDLUTILS_DIR/lib下,这
样当你不是以超级用户权限执行时,会报错:permission denied.

似乎是因为没有export,设好之后export该变量应该就好了,比如上面评论中的设置变量方法