首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opam / findlib警告"...有多个定义“

Opam / findlib警告"...有多个定义“
EN

Stack Overflow用户
提问于 2014-04-07 17:23:33
回答 1查看 412关注 0票数 0

我的home目录中有一个opam的本地安装,以及ocaml编译器和几个库的(fedora)包安装。

在任何项目中运行ocamlbuild命令都会给出很多警告:

代码语言:javascript
复制
findlib: [WARNING] Package dynlink has multiple definitions in /home/choeger/.opam/system/lib/dynlink/META, /usr/lib64/ocaml/dynlink/META
findlib: [WARNING] Package bigarray has multiple definitions in /home/choeger/.opam/system/lib/bigarray/META, /usr/lib64/ocaml/bigarray/META
findlib: [WARNING] Package unix has multiple definitions in /home/choeger/.opam/system/lib/unix/META, /usr/lib64/ocaml/unix/META
findlib: [WARNING] Package camlp4 has multiple definitions in /home/choeger/.opam/system/lib/camlp4/META, /usr/lib64/ocaml/camlp4/META
findlib: [WARNING] Package threads has multiple definitions in /home/choeger/.opam/system/lib/threads/META, /usr/lib64/ocaml/threads/META

我对opam的理解是,支持在不同位置进行多个安装,但这些警告会使任何编译输出变得混乱。

有没有办法告诉findlib我知道这些其他的安装,并且不打印这些无用的警告?

编辑:因为我被要求提供我的ocamlfind输出:

代码语言:javascript
复制
choeger@daishi ~ % ocamlfind printconf
    Effective configuration:
    Configuration file:
        /home/choeger/.opam/system/lib/findlib.conf
    Search path:
        /home/choeger/.opam/system/lib
        /usr/lib64/ocaml
    Packages will be installed in/removed from:
        /home/choeger/.opam/system/lib
    META files will be installed in/removed from:
        the corresponding package directories
    The standard library is assumed to reside in:
        /usr/lib64/ocaml
    The ld.conf file can be found here:
        /usr/lib64/ocaml/ld.conf
EN

回答 1

Stack Overflow用户

发布于 2014-04-22 21:27:12

我刚刚找到了问题的解决方案:

代码语言:javascript
复制
 sudo yum remove ocaml-findlib

显然,这个包附带了所有这些双重定义的ocaml库。我仍然认为opam应该能够处理这种情况(IMO更具体的包管理器对于更不具体的安装应该总是明智的),但opam还不是由fedora打包的,所以类似这样的事情应该是可以预期的。至少这个恼人的警告已经消失了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22908363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档