我是testing a coq project called corn,这需要另一个项目MathClasses
作为依赖项。我能够通过MathClasses
种过程编译依赖项目sudo make install
。
但是,我不喜欢make install
进程中的某些功能。
首先,如果我再次执行make
,coq似乎对系统中已安装的内容以及当前正在编译的内容感到困惑。
其次,该项目未在remove
文件中提供uninstall
或make
方法。我怀疑当我升级到coq
的新版本时,这可能会给我带来问题。
所以我的问题是:
是否有可能(以及如何)使依赖项目(即MathClasses
)成为CoRN
的子项目,以便我可以通过发出一个命令来编译整个事件顶级项目(CoRN
)?
在make
coq
项目之后,我可以将coqtop
加载到install
而不将{{1}}加载到系统目录中吗? (即如何在本地修改和测试项目。)
提前致谢。
- 编辑 -
@Arthur Azevedo De Amorim:你提到了另外,OPAM可以使用您自己的本地版本的包
关于此的任何进一步指示?
再次感谢
答案 0 :(得分:1)
您始终可以在项目Makefile
中设置加载路径,以便找到所需库的版本。
假设您的副本MathClasses位于/path/to/MathClasses
。然后,您可以将以下行添加到CoRN分发中的Make.in
文件中:
-R path/to/MathClasses/ MathClasses
执行此操作后,编译过程应该能够找到MathClasses文件。
话虽如此,直接安装包并不是什么大问题。我觉得奇怪的是,当你点击make
时,Coq对于使用哪些文件感到困惑。你能包含哪些错误信息?虽然自己升级Coq可能会导致已安装的库出现问题,但删除有问题的文件只需删除相应的目录(在您的情况下为MathClasses
),在您的user-contribs
目录下Coq库路径。
此外,OPAM可能更容易管理您的Coq安装。有GitHub repository个更新的Coq包可以与OPAM一起使用,包括MathClasses和CoRN;使用它会使整个Coq更新问题消失。此外,OPAM可以使用您自己的本地版本的软件包(请参阅here),这似乎是您想要使用CoRN的。
如果您使用的是Emacs和Proof General,则可以直接配置项目的加载路径,如here所述。