Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 hmm

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
#endif

TOP=Xincludes/xc

SRCS = wizardpen.c
OBJS = wizardpen.o

DRIVER = 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))
#endif

ModuleObjectRule()

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 smile

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à sad

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à neutral

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 smile

Merci

Hors ligne