Re: ndbm.h non trouve par configure (PR#67)
Bonjour, ...
> > dans la distribution potato, le fichier
> > ndbm.h appartient au paquet libc6-dev(eloppment)
> > et se trouve dans
> > /usr/include/db1
> >
> > Il semble que cela ne permet pas au script de configuration de trouver
> > le fichier.
>
> C'est exact, pour le moment le script d'autoconfig cherche ndbm.h dans
> l'endroit standard (/usr/include) et pas dans des endroits bizarres
peut tu m'envoyer le patch qui resoud ce probleme, de maniere a ce que je
l'inclue dans le package debian ?
> comme /usr/include/db1. Je vois cela comme un petit bug de la distrib
> Debian (RedHat a le même problème).
Err, ...
non, ce n'est pas un bug, mais une feature, ...
Cela permet d'avoir plusieurs versions de l'environement de developpement
installer (ici il y a que db1, mais on peut imaginer db2, db3, ...)
> > Je contourne le probleme par un lien symbolique
> > /usr/include/db1/ndbm.h -> /usr/include/ndbm.h
>
> Oui, c'est la bonne chose à faire.
Non, ce n'est pas la bonne solution, car cela demanderait de modifier tous les
systemes debian de la meme maniere.
J'ai fait un petit patch suivant :
--------------------------------------------------
--- ocaml-2.04.orig/configure
+++ ocaml-2.04/configure
@@ -741,8 +744,13 @@
then
echo "NDBM library found."
otherlibraries="$otherlibraries dbm"
+else if sh ./hasgot -i db1/ndbm.h
+then
+ echo "NDBM library found."
+ otherlibraries="$otherlibraries dbm"
else
echo "NDBM not found, the \"dbm\" library will not be supported."
+fi
fi
# Finish generated files
--- ocaml-2.04.orig/otherlibs/dbm/cldbm.c
+++ ocaml-2.04/otherlibs/dbm/cldbm.c
@@ -14,7 +14,7 @@
#include <string.h>
#include <fcntl.h>
-#include <ndbm.h>
+#include <db1/ndbm.h>
#include <mlvalues.h>
#include <alloc.h>
#include <memory.h>
--------------------------------------------------
Cela marche pour le package debian, mais la modif pour otherlibs/dbm/cldbm.c
n'est pas assez general. L'ideal serait d'avoir un define NDBM_IS_IN_DB1 ou
similaire, et de definir cette variable dans configure.
Amicalement,
Sven LUTHER
Reply to: