mit-scheme依赖关系的解决
sudo apt-get install mit-scheme 下列的软件包有不能满足的依赖关系: mit-scheme: 依赖: libltdl3 (>= 1.5.2-2) 但却无法安装它 到这个网站下载一个libtdl3的deb,安装之,然后再装mit-scheme。 mit-scheme是SICP(计算机程序构造与解释)使用的教学语言,现在也是GNU官方维护的一个软件。可惜的是,GNU只提供Debian,Ubuntu,MacOSX和Windows的二进制包,对于其他Linux和BSD的发行版本只提供源码。所以,如果不是用上面支持的4种操作系统,大部分情况下只能从源码编译。 本文用于指导从源码编译安装mit-scheme的读者,希望为中国人学习scheme能提供一点帮助(提醒:FreeBSD的ports目录里有mit-scheme,安装起来还是很容易的,不在此文讨论范围)。本文参考了mit-scheme源码包里README文档,结合mit-scheme20080130版本和Fedora8的实际情况做了简化操作,我们假定你: 1.机器是x86的平台 2.看不太懂,或者不太愿意看源码里带的自述文件 3.安装Fedora时装好了必要的开发环境(一般这都不会有什么问题) 4.从http://www.gnu.org/software/mit-scheme/下载了最新的为DebianGNU/Linux编译的二进制包mit-scheme-20080130-ix86-gnu-linux.tar.gz,以及portablec的通用源码包mit-scheme-c-20080130.tar.gz 5.这2个包被解压到/tmp,构成了目录树:/tmp/{bin,lib,mit-scheme-c-20080130}。这不是必须的,只是为了叙述的方便。如果你不知道怎么作,只需要进入存放着下载源码包的目录,分别执行:tarzxvfmit-scheme-c-20080130.tar.gz-C/tmp tarzxvfmit-scheme-20080130-ix86-gnu-linux.tar.gz-C/tmp 首先,要解决一个鸡和蛋的问题:要从源码编译mit-scheme,你必须已经有了一个能工作的mit-scheme。 是不是像在开玩笑?编译的脚本需要调用scheme,而你编译这个scheme正是为了有一个能用的scheme... 下面我们来解决这个问题: 进入到源码的目录的/tmp/mit-scheme-c-20080130/src/microcode下面,分别执行 #./configure #make 这样,我们就产生了一个和自身平台相关的scheme执行文件。现在我们用其替换为DebianGNU/Linux编译的二进制包里的执行文件:在目前这个发行版本,你可能会发现解压后/tmp/bin/下面有多个执行文件,mit-scheme-native是真正的文件,而其他几个都是mit-scheme-native的符号链接(这可能是为了保证向前兼容); 执行#cp-f/tmp/mit-scheme-c-20080130/src/microcode/scheme/tmp/bin/mit-scheme-native即可替换。 接下来设置好这个scheme的运行环境: #exportMITSCHEME_LIBRARY_PATH="/tmp/lib/mit-scheme" #exportPATH="$PATH:/tmp/bin/" 现在,如果你在终端键入scheme-no-init-file,应该会看到sheme解释器起来了。在=>提示符后键入(exit)退出。 如果以上步骤没出错,现在你便有了一个可以编译mit-scheme的环境。进入/tmp/mit-scheme-c-20080130/src源码目录,确保变量MITSCHEME_LIBRARY_PATH为/tmp/lib/mit-scheme,PATH中有/tmp/bin/。 接下来,按顺序执行 #./Setup.sh #./configure #make#这一步需要时间稍长 #makeinstall#需要root身份 进入/tmp/mit-scheme-c-20080130/doc,执行./configure,make,makeinstall(需要ROOT身份)安装文档。 如果你喜欢用emacs调用mit-scheme,可以进入/tmp/mit-scheme-c-20080130/etc/,把xscheme.el拷贝到emacs的加载路径 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |