New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
À propos de dbm #3001
Comments
Comment author: administrator Bonjour,
Effectivement, ce n'est pas très clair. Ndbm est une API que Je vais modifier "configure" pour qu'il essaye aussi -lgdbm, et qu'il Mais de manière générale, c'est beaucoup d'effort pour une
Essayez "ocamlopt -verbose -o test dbm.cmxa test.ml" pour vérifier,
|
Comment author: administrator Updated detection of NDBM in configure script. The whole issue remains unclear. |
Comment author: administrator
Bon, bon, ça prouve que ça vaut la peine de "maintenir" cette
Bien vu, bravo à vous et mes excuses pour cette faute de Cordialement,
|
Original bug ID: 594
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
Les script configure (ocaml-3.03 mais 3.02 aussi) fait des choix un
peu bizarres pour trouver les includes/bibliothèque pour dbm.
il cherche ndbm.h dans '/usr/include' puis dans '/usr/include/gdbm'
puis '/usr/include/db1'.
Chez redhat, ndbm.h apparaît 2 fois : dans 'gdbm' (package gdbm-devel)
et dans 'db1' (package db1-devel). Donc configure choisit
'gdbm/ndbm.h'. Soit.
Mais ensuite, il teste '-lndbm' puis '-ldb1' mais pas '-lgdbm'. Or il
existe un 'libndbm.so' (package db2-devel), un 'libdb1.so' (package
db1-devel) et un 'libgdbm.so' (package gdbm-devel).
Résultat: si on a le package gdbm et pas les deux autres, configure ne
trouve pas la bibliothèque, et si on l'un des deux autres, ça marche
mais il n'utilise pas la bibliothèque correspondant au .h (peut-être
pas trés grave).
Ce que je comprends moins bien, c'est que si je veux compiler avec
ocamlopt un programme utilisant Dbm, j'obtiens :
$ ocamlopt -o test dbm.cmxa test.ml
/usr/bin/ld: cannot find -ldbm
collect2: ld returned 1 exit status
Error during linking
$
Et là je ne sais pas trop d'où il me sort le '-ldbm'.
Olivier
The text was updated successfully, but these errors were encountered: