在一个新的Debian系统(Squeeze / Sid)上,我使用apt-get安装了以下软件包:
编译代码时出现错误,如:
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编译,但其中哪些是正确的,我怎么能抑制这个明显的虚假警告?
谢谢!
答案 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软件包。