哪些DLL是“正确的”?

时间:2010-09-24 10:57:18

标签: debian ocaml

在一个新的Debian系统(Squeeze / Sid)上,我使用apt-get安装了以下软件包:

  1. ocaml的蓄电池-包含
  2. libpcre-ocaml的-dev的
  3. libcamlnet-SSL-ocaml的-dev的
  4. libldap-ocaml的-dev的
  5. 编译代码时出现错误,如:

    ocamlfind: [WARNING] The DLL dllnetaccel_c.so occurs in multiple directories: /usr/lib/ocaml/stublibs
    ocamlfind: [WARNING] The DLL dllnetaccel_c.so occurs in multiple directories: /usr/local/lib/ocaml/3.11.2/stublibs
    ocamlfind: [WARNING] The DLL dllnetsys.so occurs in multiple directories: /usr/lib/ocaml/stublibs
    ocamlfind: [WARNING] The DLL dllnetsys.so occurs in multiple directories: /usr/local/lib/ocaml/3.11.2/stublibs
    

    它们是不相同的:

    $ diff /usr/lib/ocaml/stublibs/dllnetsys.so /usr/local/lib/ocaml/3.11.2/stublibs/dllnetsys.so
    Binary files /usr/lib/ocaml/stublibs/dllnetsys.so and /usr/local/lib/ocaml/3.11.2/stublibs/dllnetsys.so differ 
    

    我的代码stll编译,但其中哪些是正确的,我怎么能抑制这个明显的虚假警告?

    谢谢!

1 个答案:

答案 0 :(得分:1)

官方debian软件包将dll * .so放入/usr/lib/ocaml/stublibs。并且/usr/local/lib/ocaml/<version>/stublibs被配置为ocamlfind的默认安装目标,以便手动编译和安装的库将立即可用(请参阅/usr/lib/ocaml/ld.conf)。所以这意味着你(或机器上的其他人)手动编译和安装了ocamlnet。哪个安装更“正确”取决于您,但是重复的ocamlfind包很糟糕。

请注意,debian软件包由软件包系统跟踪,可以作为依赖项安装。 如果您使用某些补丁重建(例如)ocamlnet,则需要重新构建针对修补版本的所有必需的反向依赖项并删除相应的debian软件包。