开发者

Which of these DLLs are the "right" ones?

开发者 https://www.devze.com 2023-01-17 16:08 出处:网络
On a fresh Debian system (Squeeze/Sid) I have installed the following packages using apt-get: ocaml-batteries-included

On a fresh Debian system (Squeeze/Sid) I have installed the following packages using apt-get:

  1. ocaml-batteries-included
  2. libpcre-ocaml-dev
  3. libcamlnet-ssl-ocaml-开发者_开发技巧dev
  4. libldap-ocaml-dev

When compiling code I get errors such as:

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

They are non-identical:

$ 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 

My code stll compiles, but which of these are the correct ones, and how can I suppress this apparently spurious warning?

Thanks!


Official debian packages put dll*.so into /usr/lib/ocaml/stublibs. And /usr/local/lib/ocaml/<version>/stublibs is configured as the default install target for ocamlfind so that manually compiled and installed libraries will be immediately available (see /usr/lib/ocaml/ld.conf). So it means that you (or someone else on the machine) compiled and installed ocamlnet manually. Which installation is more "correct" is up to you, but having duplicate ocamlfind package is bad.

Note that debian package is tracked by package system and may be installed as a dependency. If you rebuild (e.g.) ocamlnet with some patches you will need to rebuild every needed reverse dependency against patched version and remove corresponding debian packages.

0

精彩评论

暂无评论...
验证码 换一张
取 消