Pages : 1
#1 Le 20/12/2006, à 22:50
- Kehel
[gcc] Imakefile -> .h introuvable
Bonjour à tous,
J'ai pas mal de lacunes en C et j'essaye de compiler une application via la commande :
pbuilder build *dsc
Mais j'obtiens des tonnes d'erreurs
Pour info j'essaye de faire un package Ubuntu d'une appli en suivant ce tutoriel : http://doc.ubuntu-fr.org/installation/creer_un_paquet.
En fait l'application (en fait un driver pour une tablette graphique) se compile via le fichier Imakefile suivant :
XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/input/wizardpen/Imakefile,v 1.5 2001/08/13 19:35:00 dawes Exp $
#define IHaveModules
#include <Server.tmpl>
#include "/usr/lib/X11/config/Server.tmpl"#if HasLinuxInput
DEFINES = -DLINUX_INPUT
#endifTOP=Xincludes/xc
SRCS = wizardpen.c
OBJS = wizardpen.oDRIVER = wizardpen
INCLUDES = -I../Xincludes -I. -I$(XF86COMSRC) -I$(XF86SRC)/loader -I$(XF86OSSRC) \
-I$(SERVERSRC)/include -I$(SERVERSRC)/mi -I$(XINCLUDESRC) \
-I$(EXTINCSRC)#if MakeHasPosixVariableSubstitutions
SubdirLibraryRule($(OBJS))
#endifModuleObjectRule()
ObjectModuleTarget($(DRIVER),$(OBJS))
InstallObjectModule($(DRIVER),$(MODULEDIR),input)
DependTarget()
InstallDriverSDKObjectModule($(DRIVER),$(DRIVERSDKMODULEDIR),input)
et lorsque je compile via la commande pbuilder j'obtiens les erreurs suivantes :
In file included from wizardpen.c:48:
Xincludes/xc/programs/Xserver/include/misc.h:80:25: error: X11/Xosdefs.h: No such file or directory
Xincludes/xc/programs/Xserver/include/misc.h:81:28: error: X11/Xfuncproto.h: No such file or directory
Xincludes/xc/programs/Xserver/include/misc.h:82:21: error: X11/Xmd.h: No such file or directory
Xincludes/xc/programs/Xserver/include/misc.h:83:19: error: X11/X.h: No such file or directory
Xincludes/xc/programs/Xserver/include/misc.h:84:23: error: X11/Xdefs.h: No such file or directory
Lorsque je fais un locate de chacun de ces fichiers je m'aperçois qu'ils sont tous dans le répertoire /usr/include/X11/
Par contre je ne sais pas où et comment indiquer le chemin exact de ses fichiers pour que la compilation se déroule sans erreur.
Avez vous une idée ?
J'espère ne pas avoir été trop confus dans mes explications, si c'est le cas n'hésitez pas à me le faire savoir
Merci
Dernière modification par Kehel (Le 20/12/2006, à 22:51)
Hors ligne
#2 Le 21/12/2006, à 00:45
- yugo
Re : [gcc] Imakefile -> .h introuvable
a INCLUDES, rajoute -I/usr/include/X11/ pour lui indiquer de chercher les librairies dans ce répertoire.
Dans la vie il y a 3 sortes d'imbéciles: ceux qui doutent de tout et ceux qui doutent de rien
Hors ligne
#3 Le 22/12/2006, à 19:38
- Kehel
Re : [gcc] Imakefile -> .h introuvable
Bon et bien je viens de faire les tests suivants :
-I/usr/include/X11/ --> ça ne marche pas
-I/usr/include/X11 --> ça ne marche pas
-I/usr/include/ --> ça ne marche pas
-I/usr/include --> ça ne marche pas
J'ai toujours les même erreurs :
In file included from wizardpen.c:48:
Xincludes/xc/programs/Xserver/include/misc.h:80:25: error: X11/Xosdefs.h: No such file or directory
Xincludes/xc/programs/Xserver/include/misc.h:81:28: error: X11/Xfuncproto.h: No such file or directory
Xincludes/xc/programs/Xserver/include/misc.h:82:21: error: X11/Xmd.h: No such file or directory
Xincludes/xc/programs/Xserver/include/misc.h:83:19: error: X11/X.h: No such file or directory
Xincludes/xc/programs/Xserver/include/misc.h:84:23: error: X11/Xdefs.h: No such file or directory
Je tiens à préciser qu'a chaque fois j'ai bien regénéré le fichier .orig.tar.gz le .tar.gz et le .diff.gz afin que mes modifs du Imakefile soient bien prises en compte.
Un peu dégoûté sur ce coup là
Hors ligne
#4 Le 24/12/2006, à 11:11
- Kehel
Re : [gcc] Imakefile -> .h introuvable
Je viens d'essayer un truc, j'ai copié le projet que je souhaite packager dans un répertoire de test. Dans ce répertoire j'ai fait fait xmkmf et make et là pas de soucis il me construit bien le .o sans erreur ...
J'avoue que je ne comprends pas bien là
Cela doit signifer qu'il y a qq chose dans l'environnement de packaging qui le gène. Vu que l'on passe par le fameux debian/rules pour compiler je me dit que tout doit se jouer la dedans. Ci-dessous le contenu de mon fichier debian/rules :
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
xmkmf
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
# Add here commands to compile the package.
$(MAKE)
#docbook-to-man debian/wizardpen-driver.sgml > wizardpen-driver.1
touch $@
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
-$(MAKE) clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/wizardpen-driver.
$(MAKE) install DESTDIR=$(CURDIR)/debian/wizardpen-driver
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs ChangeLog
dh_installdocs
dh_installexamples
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
La seule chose que j'ai modifié dans ce fichier debian/rules c'est l'ajout de la ligne faisant appel à la commande xmkmf comme on me l'a indiqué dans ce post http://forum.ubuntu-fr.org/viewtopic.php?id=83497
Si quelqu'un voit une anomalie dans ce fichier surtout qu'il n'hésite pas
Merci
Hors ligne