Demande aide sur erreur création paquet *.deb

Voici une erreur que je rencontre lors de la construction du paquet de cinelerra en suivant le tutos du wiki:

[quote]chris@lagache:~/Soft/cinelerra-4.1$ fakeroot dpkg-buildpackage -us -uc
dpkg-buildpackage : définir CFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage : définir CPPFLAGS à la valeur par défaut :
dpkg-buildpackage : définir LDFLAGS à la valeur par défaut :
dpkg-buildpackage : définir FFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage : définir CXXFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage: paquet source cinelerra
dpkg-buildpackage: version source 4.1-1
dpkg-buildpackage: source changé par chris savidan.christophe@gmail.com
dpkg-buildpackage: architecture hôte i386
debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp

Add here commands to clean up after the build process.

[ ! -f Makefile ] || /usr/bin/make distclean
make[1]: entrant dans le répertoire « /home/chris/Soft/cinelerra-4.1 »
make[1]: *** Pas de règle pour fabriquer la cible « distclean ». Arrêt.
make[1]: quittant le répertoire « /home/chris/Soft/cinelerra-4.1 »
make: *** [clean] Erreur 2
dpkg-buildpackage: échec: debian/rules clean a produit une erreur de sortie de type 2
chris@lagache:~/Soft/cinelerra-4.1$ [/quote]

Le fichier rules en question :

[quote]#!/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

These are used for cross-compiling and for saving the configure script

from having to guess our platform (since we know it already)

DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif

config.status: configure
dh_testdir
# Add here commands to configure the package.
ifneq “$(wildcard /usr/share/misc/config.sub)” ““
cp -f /usr/share/misc/config.sub config.sub
endif
ifneq “$(wildcard /usr/share/misc/config.guess)” ““
cp -f /usr/share/misc/config.guess config.guess
endif
./configure $(CROSS) --prefix=/usr --mandir=$${prefix}/share/man --infodir=$${prefix}/share/info CFLAGS=”$(CFLAGS)” LDFLAGS=”-Wl,-z,defs”

build: build-stamp

build-stamp: config.status
dh_testdir

# Add here commands to compile the package.
$(MAKE)
#docbook-to-man debian/cinelerra.sgml > cinelerra.1

touch $@

clean:
dh_testdir
dh_testroot
rm -f build-stamp

# Add here commands to clean up after the build process.
[ ! -f Makefile ] || $(MAKE) distclean
rm -f config.sub config.guess

dh_clean 

install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs

# Add here commands to install the package into debian/cinelerra.
$(MAKE) prefix=$(CURDIR)/debian/cinelerra/usr install

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
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 [/quote]

J’ai sans doute commencer par gros …je suis sous Lenny Kernel 2.6.26-2 686

Merci de votre aide .

C’est pas forcément super propre,
mais tu peux te débloquer en rajoutant une règle distclean à la main à ton makefile

distclean: clean .PHONY: distclean

C’est à dire ? quelle serait la bonne solution ?

distclean doit aussi enlever tous les fichiers de config créés,
comme tout ce que crée ./configure pour mettre ton arborescence dans le même état que lorsque tu l’as désarchivée.
Si c’est juste un paquet maison je ne suis pas certain que ça vaille la peine de se prendre la tête avec ça.

modifie comme suit:

[code]…
dh_testroot
rm -f build-stamp

Add here commands to clean up after the build process.

[ ! -f Makefile ] || $(MAKE) -i distclean
rm -f config.sub config.guess

dh_clean

install: build
dh_testdir
dh_testroot
dh_clean -k
…[/code]

[quote=“fran.b”]modifie comme suit:

[code]…
dh_testroot
rm -f build-stamp

Add here commands to clean up after the build process.

[ ! -f Makefile ] || $(MAKE) -i distclean
rm -f config.sub config.guess

dh_clean

install: build
dh_testdir
dh_testroot
dh_clean -k
…[/code][/quote]

Ne fonctionne pas non plus :confused: et j’ai bien modifié comme demandé :

[quote][code]clean:
dh_testdir
dh_testroot
rm -f build-stamp

# Add here commands to clean up after the build process.
[ ! -f Makefile ] || $(MAKE) -i distclean
rm -f config.sub config.guess

dh_clean 

install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs

# Add here commands to install the package into debian/cinelerra.
$(MAKE) prefix=$(CURDIR)/debian/cinelerra/usr install[/code][/quote]

[quote][code]chris@lagache:~/Soft/cinelerra-4.1$ fakeroot dpkg-buildpackage -us -uc
dpkg-buildpackage : définir CFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage : définir CPPFLAGS à la valeur par défaut :
dpkg-buildpackage : définir LDFLAGS à la valeur par défaut :
dpkg-buildpackage : définir FFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage : définir CXXFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage: paquet source cinelerra
dpkg-buildpackage: version source 4.1-1
dpkg-buildpackage: source changé par chris savidan.christophe@gmail.com
dpkg-buildpackage: architecture hôte i386
debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp

Add here commands to clean up after the build process.

[ ! -f Makefile ] || /usr/bin/make -i distclean
make[1]: entrant dans le répertoire « /home/chris/Soft/cinelerra-4.1 »
make[1]: *** Pas de règle pour fabriquer la cible « distclean ». Arrêt.
make[1]: quittant le répertoire « /home/chris/Soft/cinelerra-4.1 »
make: *** [clean] Erreur 2
dpkg-buildpackage: échec: debian/rules clean a produit une erreur de sortie de type 2
[/code][/quote]

Flute, c’est carrément la cible qui manque, bon soit tu modifies le Makefile, soit tu fais

J’ai modifié le rules en concéquence, mais toujours la même erreur :exclamation:

[quote][code]clean:
dh_testdir
dh_testroot
rm -f build-stamp

# Add here commands to clean up after the build process.
#[ ! -f Makefile ] || $(MAKE) distclean
[ -f Makefile ] && `grep -q distclean: Makefile` && [$(MAKE) distclean
rm -f config.sub config.guess

dh_clean [/code][/quote]

[quote][code]chris@lagache:~/Soft/cinelerra-4.1$ fakeroot dpkg-buildpackage -us -uc
dpkg-buildpackage : définir CFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage : définir CPPFLAGS à la valeur par défaut :
dpkg-buildpackage : définir LDFLAGS à la valeur par défaut :
dpkg-buildpackage : définir FFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage : définir CXXFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage: paquet source cinelerra
dpkg-buildpackage: version source 4.1-1
dpkg-buildpackage: source changé par chris savidan.christophe@gmail.com
dpkg-buildpackage: architecture hôte i386
debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp

Add here commands to clean up after the build process.

#[ ! -f Makefile ] || /usr/bin/make distclean
[ -f Makefile ] && grep -q distclean: Makefile && [/usr/bin/make distclean
make: *** [clean] Erreur 1
dpkg-buildpackage: échec: debian/rules clean a produit une erreur de sortie de type 2[/code][/quote]

Mon makefile :

[quote][code]all:
$(MAKE) -f build/Makefile.cinelerra

install:
$(MAKE) -f build/Makefile.cinelerra install

clean:
$(MAKE) -f build/Makefile.cinelerra clean

rebuild:
$(MAKE) -C guicast clean
$(MAKE) -C cinelerra clean
$(MAKE) -C plugins clean
$(MAKE) -C guicast
$(MAKE) -C cinelerra
$(MAKE) -C plugins

rebuild_install:
$(MAKE) -C cinelerra install
$(MAKE) -C plugins install[/code][/quote]

Rah, il n’y a pas [:

J’y arriverai!

[quote=“fran.b”]Rah, il n’y a pas [:

J’y arriverai![/quote]

Désolé :blush: , la même erreur revient encore une fois !

Desespérant… Il n’y a pas de «`»

Je ne sais pas si je vais oser l’écrire :blush: je cherche sur le net une soluce mais rien encore …
1 Piste peut-être !!!

[quote][code]chris@lagache:~/Soft/cinelerra-4.1$ debuild -S -sa
This package has a Debian revision number but there does not seem to be
an appropriate original tar file or .orig directory in the parent directory;
(expected cinelerra_4.1.orig.tar.gz or cinelerra-4.1.orig)
continue anyway? (y/n) y
dpkg-buildpackage -rfakeroot -d -us -uc -S -sa
dpkg-buildpackage : définir CFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage : définir CPPFLAGS à la valeur par défaut :
dpkg-buildpackage : définir LDFLAGS à la valeur par défaut :
dpkg-buildpackage : définir FFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage : définir CXXFLAGS à la valeur par défaut : -g -O2
dpkg-buildpackage: paquet source cinelerra
dpkg-buildpackage: version source 4.1-1
dpkg-buildpackage: source changé par chris savidan.christophe@gmail.com
fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp

Add here commands to clean up after the build process.

[ -f Makefile ] && grep -q distclean: Makefile && /usr/bin/make distclean
make: *** [clean] Erreur 1
dpkg-buildpackage: échec: fakeroot debian/rules clean a produit une erreur de sortie de type 2
debuild: fatal error at line 1319:
dpkg-buildpackage -rfakeroot -d -us -uc -S -sa failed[/code]
[/quote]

Bon j’avance un peux ( enfin je crois…), j’ai éditer rules pour supprimer la partie [quote]#[ ! -f Makefile ] || $(MAKE) distclean[/quote] et la remplacer simplement par $(MAKE ) clean , et j’obtiens un résultat, mais avec des erreurs :

[quote][code]checking for size_t… ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
yes
checking for compress in -lz… ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
no
configure: error:
*** OpenEXR requires a recent version of zlib, which you don’t appear to
*** have.


*** This could be because the run-time linker is not finding zlib, or it
*** is finding the wrong version. In this case, you’ll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the proper version. Also, make sure you have run ldconfig if
*** that is required on your system.

ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object ‘libfakeroot-sysv.so’ from LD_PRELOAD cannot be preloaded: ignored.
Giving up and going to a movie.
make: *** [config.status] Erreur 1
dpkg-buildpackage: échec: debian/rules build a produit une erreur de sortie de type 2[/code][/quote]

Quel est le bon paquet à installer ? :

[quote]zlib-bin - compression library - sample programs zlib1g-dbg - compression library - development zlib1g-dev - compression library - development zlib1g - compression library - runtime zlibc - An on-fly auto-uncompressing C library[/quote]

Je suppose que zlib1g est un bon candidat

$ apt-file show zlib1g [...] zlib1g: /usr/lib/libz.so.1 zlib1g: /usr/lib/libz.so.1.2.3.3 zlib1g: /usr/lib/libz.so.1.2.3.4 [...]

Effectivement vire là, c’est moins propre mais bon, c’est bizarre que la syntaxe ne passe pas mais make est un chouïa pénible sur ce plan…

Sinon installe zlib1g-dev (-dev contient les entêtes et déclarations pour les compilations)