[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: