Answer

问题及解答

[GAP]安装IO宏包时出错的处理办法

Posted by haifeng on 2012-02-27 22:08:11 last update 2012-06-07 17:32:29 | Edit | Answers (0)

为了安装 openmath 等宏包, 必须要安装 io 宏包, 安装次序倒是没关系, 就是 io 成功安装后, 加载其他依赖它的宏包才能有效. 安装 io 宏包的方法, 参见其说明文档. 先将 io 宏包解压缩到 GAP 的宏包目录. 我这里是 /usr/share/gap/pkg/, 然后进入 /usr/share/gap/pkg/io, 执行下面的命令

sudo ./configure ../..
sudo make

注意第一个命令后面加了参数 ../.. 而不是 ../../, 但第二个命令的执行却出现了错误, 如下:

../../bin/i486-pc-linux-gnu-i486-linux-gnu-gcc/gac -d -p 
"-I/usr/share/gap/pkg/io/bin/i486-pc-linux-gnu-i486-linux-gnu-gcc" 
-o bin/i486-pc-linux-gnu-i486-linux-gnu-gcc/io.so src/io.c
/bin/sh: ../../bin/i486-pc-linux-gnu-i486-linux-gnu-gcc/gac: not found
make: *** [bin/i486-pc-linux-gnu-i486-linux-gnu-gcc/io.so] Error 127

原因在于 gac 未找到, gac 是 GAP compiler script. 位于 /usr/bin/gac . 因此在

sudo ./configure ../..

之后不要马上 sudo make, 应修改 Makefile 文件, 将其中的

../../bin/i486-pc-linux-gnu-i486-linux-gnu-gcc/gac

修改为

/usr/bin/gac

还有一处是 ./gac 也要修改. 另外查看 configure 代码后发现, 还有一个 Makefile 也要做相应修改, 就是

bin/i486-pc-linux-gnu-i486-linux-gnu-gcc/Makefile

修改完成后, 再执行下面的命令就可以了.

sudo make

可以试一下 LoadPackage("io") 看是否成功. 只有安装了 io 宏包, 才能正常加载其他依赖它的宏包, 如 openmath 等.

-----------

Reference:

GAP Package IO

http://www-groups.mcs.st-and.ac.uk/~neunhoef/Computer/Software/Gap/io.html