Page 1 sur 1

[Ochi] Erreur dans le PKGBUILD (Résolu)

Publié : dim. 18 mai 2014, 18:04
par Pafrapé
Je viens de créer un PKGBUILD sur Aur pour l'application Ochi, dont voici le lien : http://kde-apps.org/content/show.php/Oc ... ent=165256.

Voici mon PKGBUILD

Code : Tout sélectionner

# Contributor: Pafrape <pafrape[at]free.fr>
 
pkgname=ochi
_pkgname=Ochi
pkgver=0.1.1
pkgrel=1
pkgdesc="A webcam application and motion detector"
arch=('x86_64')
url="http://kde-apps.org/content/show.php/Ochi?content=165256"
license=('GPL')
depends=('qt4')
makedepends=('opencv')
source=("http://kde-apps.org/CONTENT/content-files/165256-${_pkgname}-${pkgver}.tgz"
         "lib-path-fix.patch"
	"ochi.desktop")
screenshot=('http://kde-apps.org/CONTENT/content-pre1/165256-1.png')
md5sums=('8c7dc1cf154488ab62040367efae0dfe'
         'd784fa8b6d98d27699781bd9a7cf19f0'
         'd784fa8b6d98d27699781bd9a7cf19f0')
 
 
prepare() {
  cd $srcdir/$_pkgname
  patch -p1 -i $srcdir/lib-path-fix.patch 
}
 
build() {
  cd $srcdir/$_pkgname
  qmake $_pkgname.pro
  make
}
 
package() {
  cd $srcdir/$_pkgname
  install -D -m 755 "$srcdir/Ochi/Ochi" "$pkgdir/usr/bin/ochi"
  install -D -m 644 "$srcdir/ochi.desktop" "$pkgdir/usr/share/applications/ochi.desktop" 
  install -D -m 644 "$srcdir/$_pkgname/icons/motion.png" "$pkgdir/usr/share/Ochi/Ochi.png"
}
Le PKGBUILD crée bien la source, source que j'ai d'ailleurs pu mettre dans Aur.

Par contre, lorsque j'installe le logiciel, j'ai un bon gros message d'erreur :

Code : Tout sélectionner

$ yaourt -S ochi

==> Téléchargement du PKGBUILD de ochi depuis AUR...
x ochi.desktop
x PKGBUILD
x lib-path-fix.patch
ochi 0.1.1-1  (dim. mai 18 17:33:53 CEST 2014)
( Paquet non supporté : peut être dangereux ! )
==> Éditer PKGBUILD ? [O/n] ("A" pour annuler)
==> ------------------------------------------
==> n

==> Dépendances de ochi :
 - qt4 (déjà installé)
 - opencv (déjà installé)


==> Lancer la compilation de ochi ? [O/n]
==> -------------------------------------
==>
==> Construction et installation du paquet
==> Création du paquet ochi 0.1.1-1 (dim. mai 18 17:56:32 CEST 2014)
==> Vérification des dépendances pour l’exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
  -> Téléchargement de 165256-Ochi-0.1.1.tgz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  422k  100  422k    0     0   445k      0 --:--:-- --:--:-- --:--:--  445k
  -> lib-path-fix.patch trouvé
  -> ochi.desktop trouvé
==> Validation des fichiers sources avec md5sums...
    165256-Ochi-0.1.1.tgz ... Réussite
    lib-path-fix.patch ... Réussite
    ochi.desktop ... Réussite
==> Extraction des sources...
  -> Extraction de 165256-Ochi-0.1.1.tgz avec bsdtar
==> Lancement de prepare()...
patch: **** Only garbage was found in the patch input.
==> ERREUR : Une erreur s’est produite dans prepare().
    Abandon...
==> ERREUR: Makepkg n'a pas pu construire ochi.
==> Relancer la compilation de ochi ? [o/N]
==> ---------------------------------------
==>
Si quelqu'un pouvait venir à mon aide, je lui en serais très reconnaissant.

Merci d'avance.

Re: [Ochi] Erreur dans le PKGBUILD

Publié : dim. 18 mai 2014, 18:15
par FoolEcho
Salut,
Pafrapé a écrit :==> Lancement de prepare()...
patch: **** Only garbage was found in the patch input.
==> ERREUR : Une erreur s’est produite dans prepare().
Le patch que tu proposes est vide (le .desktop aussi d'ailleurs), c'est le problème.

(et c'est très mal de diffuser un PKGBUILD non fonctionnel sur AUR... :mrgreen: )

Re: [Ochi] Erreur dans le PKGBUILD

Publié : dim. 18 mai 2014, 18:42
par Pafrapé
Tout à fait exact.

J'ai donc modifié l'ensemble des données pour obtenir le PKGBUIL suivant :

Code : Tout sélectionner

# Contributor: Pafrape <pafrape[at]free.fr>
 
pkgname=ochi
_pkgname=Ochi
pkgver=0.1.1
pkgrel=1
pkgdesc="A webcam application and motion detector"
arch=('x86_64')
url="http://kde-apps.org/content/show.php/Ochi?content=165256"
license=('GPL')
depends=('qt4')
makedepends=('opencv')
source=("http://kde-apps.org/CONTENT/content-files/165256-${_pkgname}-${pkgver}.tgz"
         "lib-path-fix.patch"
	"ochi.desktop")
screenshot=('http://kde-apps.org/CONTENT/content-pre1/165256-1.png')
md5sums=('8c7dc1cf154488ab62040367efae0dfe'
         'cab0ac748cc4da3885956fd9d05e44ac'
         '1a267da0d0df9f4eb4a3330e2fc46653')
 
 
prepare() {
  cd $srcdir/$_pkgname
  patch -p1 -i $srcdir/lib-path-fix.patch 
}
 
build() {
  cd $srcdir/$_pkgname
  qmake $_pkgname.pro
  make
}
 
package() {
  cd $srcdir/$_pkgname
  install -D -m 755 "$srcdir/Ochi/Ochi" "$pkgdir/usr/bin/ochi"
  install -D -m 644 "$srcdir/ochi.desktop" "$pkgdir/usr/share/applications/ochi.desktop" 
  install -D -m 644 "$srcdir/$_pkgname/icons/motion.png" "$pkgdir/usr/share/Ochi/Ochi.png"
}
et mis le correctif sur Aur.

Et là, cela ne marche toujours pas (je sais c'est pas bien de mettre un paquet qui ne marche pas sur Aur :twisted: )

J'obtiens en effet le message d’erreur suivant :

Code : Tout sélectionner

$ yaourt -S ochi

==> Téléchargement du PKGBUILD de ochi depuis AUR...
x ochi.desktop
x PKGBUILD
x lib-path-fix.patch
ochi 0.1.1-1  (dim. mai 18 17:33:53 CEST 2014)
( Paquet non supporté : peut être dangereux ! )
==> Éditer PKGBUILD ? [O/n] ("A" pour annuler)
==> ------------------------------------------
==> n

==> Dépendances de ochi :
 - qt4 (déjà installé)
 - opencv (déjà installé)


==> Lancer la compilation de ochi ? [O/n]
==> -------------------------------------
==> 
==> Construction et installation du paquet
==> Création du paquet ochi 0.1.1-1 (dim. mai 18 18:41:14 CEST 2014)
==> Vérification des dépendances pour l’exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
  -> Téléchargement de 165256-Ochi-0.1.1.tgz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  422k  100  422k    0     0   519k      0 --:--:-- --:--:-- --:--:--  518k
  -> lib-path-fix.patch trouvé
  -> ochi.desktop trouvé
==> Validation des fichiers sources avec md5sums...
    165256-Ochi-0.1.1.tgz ... Réussite
    lib-path-fix.patch ... Réussite
    ochi.desktop ... Réussite
==> Extraction des sources...
  -> Extraction de 165256-Ochi-0.1.1.tgz avec bsdtar
==> Lancement de prepare()...
patching file Ochi.pro
patch unexpectedly ends in middle of line
Hunk #1 succeeded at 5 with fuzz 2.
==> Lancement de build()...
/usr/lib/qt/bin/uic ui/ochimainwin.ui -o ui_ochimainwin.h
Widget 'lcdNumber': Deprecated property QLCDNumber::numDigits encountered. It has been replaced by QLCDNumber::digitCount.
/usr/lib/qt/bin/uic ui/externalviewer.ui -o ui_externalviewer.h
/usr/lib/qt/bin/uic ui/moviemaker.ui -o ui_moviemaker.h
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/include/opencv -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I. -I. -o main.o src/main.cpp
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/include/opencv -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I. -I. -o ochimainwin.o src/ochimainwin.cpp
src/ochimainwin.cpp: In member function ‘void OchiMainWin::slot_updateTimerGalery()’:
src/ochimainwin.cpp:356:44: erreur: no matching function for call to ‘QGraphicsPixmapItem::scale(float&, float&)’
         item->scale(scaleFactor,scaleFactor);
                                            ^
src/ochimainwin.cpp:356:44: note: candidate is:
In file included from /usr/include/qt/QtWidgets/QGraphicsPixmapItem:1:0,
                 from src/ochimainwin.h:8,
                 from src/ochimainwin.cpp:1:
/usr/include/qt/QtWidgets/qgraphicsitem.h:308:11: note: qreal QGraphicsItem::scale() const
     qreal scale() const;
           ^
/usr/include/qt/QtWidgets/qgraphicsitem.h:308:11: note:   candidate expects 0 arguments, 2 provided
src/ochimainwin.cpp: In member function ‘void OchiMainWin::slot_updateMotionGalery()’:
src/ochimainwin.cpp:386:44: erreur: no matching function for call to ‘QGraphicsPixmapItem::scale(float&, float&)’
         item->scale(scaleFactor,scaleFactor);
                                            ^
src/ochimainwin.cpp:386:44: note: candidate is:
In file included from /usr/include/qt/QtWidgets/QGraphicsPixmapItem:1:0,
                 from src/ochimainwin.h:8,
                 from src/ochimainwin.cpp:1:
/usr/include/qt/QtWidgets/qgraphicsitem.h:308:11: note: qreal QGraphicsItem::scale() const
     qreal scale() const;
           ^
/usr/include/qt/QtWidgets/qgraphicsitem.h:308:11: note:   candidate expects 0 arguments, 2 provided
Makefile:1352: recipe for target 'ochimainwin.o' failed
make: *** [ochimainwin.o] Error 1
==> ERREUR : Une erreur s’est produite dans build().
    Abandon...
==> ERREUR: Makepkg n'a pas pu construire ochi.
Merci d'avance pour votre aide.

Re: [Ochi] Erreur dans le PKGBUILD

Publié : dim. 18 mai 2014, 19:12
par FoolEcho
Tu as à compiler contre qt4 et par défaut c'est qt5 qui est utilisé.

Dans build(), remplace qmake $_pkgname.pro par

Code : Tout sélectionner

qmake-qt4 $_pkgname.pro
(et si ça fonctionne, pense à passer pkgrel à 2 :chinois: )

Re: [Ochi] Erreur dans le PKGBUILD

Publié : dim. 18 mai 2014, 19:25
par benjarobin
je sais c'est pas bien de mettre un paquet qui ne marche pas sur Aur
Alors pourquoi tu l'as fait ?

Re: [Ochi] Erreur dans le PKGBUILD

Publié : dim. 18 mai 2014, 20:45
par Pafrapé
Pour répondre à benjarobin, je ne le savais pas avant ce post.

Re: [Ochi] Erreur dans le PKGBUILD

Publié : dim. 18 mai 2014, 20:51
par Pafrapé
Merci FoolEcho, cela fonctionne parfaitement. :bravo:

Je l'ai mis en révision 2, comme demandé.