Page 1 sur 1

[FOTOWALL] Installation impossible (RÉSOLU)

Publié : dim. 29 nov. 2020, 20:43
par L_Indien
Bonsoir à toutes et à tous,

J'essaye d'installer, mais en vain, le paquet fotowall (pour ceux qui connaissent).

Le paquet fotowall et fotowall-git retournent les mêmes erreurs.

Donc, le paquet compile, et un moment :

Code : Tout sélectionner

3rdparty/videocapture/VideoDevice.cpp:897:41: note: …cette instruction, mais l'indentation de cette dernière est trompeuse car elle fait croire qu'elle est gardée par le « if »
  897 |                         if (b<0) b=0;   if (b>255) b=255;
      |                                         ^~
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -D_REENTRANT -fPIC -DHAS_EXPORTDIALOG -DHAS_WORDCLOUD_APPLIANCE -DHAS_LIKEBACK -DHAS_VIDEOCAPTURE -DHAS_TRANSLATIONS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I. -I3rdparty/posterazor -I/usr/include/qt -I/usr/include/qt/QtSvg -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtOpenGL -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtXml -I/usr/include/qt/QtCore -Ibuild -Ibuild -I/usr/lib/qt/mkspecs/linux-g++ -o build/VideoInput.o 3rdparty/videocapture/VideoInput.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -D_REENTRANT -fPIC -DHAS_EXPORTDIALOG -DHAS_WORDCLOUD_APPLIANCE -DHAS_LIKEBACK -DHAS_VIDEOCAPTURE -DHAS_TRANSLATIONS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I. -I3rdparty/posterazor -I/usr/include/qt -I/usr/include/qt/QtSvg -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtOpenGL -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtXml -I/usr/include/qt/QtCore -Ibuild -Ibuild -I/usr/lib/qt/mkspecs/linux-g++ -o build/controller.o 3rdparty/posterazor/controller.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -D_REENTRANT -fPIC -DHAS_EXPORTDIALOG -DHAS_WORDCLOUD_APPLIANCE -DHAS_LIKEBACK -DHAS_VIDEOCAPTURE -DHAS_TRANSLATIONS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I. -I3rdparty/posterazor -I/usr/include/qt -I/usr/include/qt/QtSvg -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtOpenGL -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtXml -I/usr/include/qt/QtCore -Ibuild -Ibuild -I/usr/lib/qt/mkspecs/linux-g++ -o build/wizard.o 3rdparty/posterazor/wizard.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -D_REENTRANT -fPIC -DHAS_EXPORTDIALOG -DHAS_WORDCLOUD_APPLIANCE -DHAS_LIKEBACK -DHAS_VIDEOCAPTURE -DHAS_TRANSLATIONS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I. -I3rdparty/posterazor -I/usr/include/qt -I/usr/include/qt/QtSvg -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtOpenGL -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtXml -I/usr/include/qt/QtCore -Ibuild -Ibuild -I/usr/lib/qt/mkspecs/linux-g++ -o build/paintcanvas.o 3rdparty/posterazor/paintcanvas.cpp
3rdparty/posterazor/paintcanvas.cpp: Dans la fonction membre « virtual void PaintCanvas::drawOverlayText(const QPointF&, int, int, const QString&) »:
3rdparty/posterazor/paintcanvas.cpp:89:22: erreur: l'agrégat « QPainterPath textPath » a un type incomplet et ne peut être défini
   89 |         QPainterPath textPath;
      |                      ^~~~~~~~
make: *** [Makefile:2681 : build/paintcanvas.o] Erreur 1
==> ERREUR : Une erreur s’est produite dans build().
    Abandon…
==> ERREUR : Makepkg n'a pas pu construire fotowall-git
Sur le site, aucun contact.
Sous debian, le paquet n'existe pas. Je suis en train de voir sous Ubuntu (en virtualisation).
Il est possible de télécharger les binaires, ainsi que des exécutable. Mais les exécutables ne fonctionnent pas. Et pour les binaires, si le paquet sous yaourt retourne une erreur, il est probable que le binaire aussi en le compilant...

J'avoue être un peu désemparé.

Auriez-vous une idée ou deux ?

Je vous remercie pour votre réponse.

Bonne soirée.

Re: [FOTOWALL] Installation impossible (EN COURS...)

Publié : dim. 29 nov. 2020, 22:32
par benjarobin
Bonjour,
Ajoute ceci au PKGBUILD (après la fin de la fonction pkgver)

Code : Tout sélectionner

prepare() {
  cd "${pkgname%-*}"
  sed -i 's|#include <QPainter>|#include <QPainter>\n#include <QPainterPath>|'  3rdparty/posterazor/paintcanvas.cpp
}

Re: [FOTOWALL] Installation impossible (EN COURS...)

Publié : lun. 30 nov. 2020, 05:59
par L_Indien
Bonjour Benjarobin,

Je te remercie pour ton retour.

Je viens de tester la manip...

Juste pour info, pour être sur de bien faire.... :

Le pkgbuild initial :

Code : Tout sélectionner

pkgname=fotowall
pkgver=1.0
pkgrel=2
pkgdesc="A creative tool that allows you to layout your photos or pictures in a personal way"
arch=('x86_64')
url="http://www.enricoros.com/opensource/fotowall/"
license=('LGPL3')
depends=('desktop-file-utils' 'qt5-svg')
makedepends=('qt5-tools')
source=("$pkgname-$pkgver.tar.gz::https://github.com/enricoros/fotowall/archive/v$pkgver.tar.gz"
        "fotowall-1.0-fix-build-against-qt-5.11.0.patch")
sha256sums=('8dc42262dd5220a12e92181ff82bd363a6506a4c3ab1ea3841281f2971e1b289'
            'fa573efa3529939ca83d3dc96d49277fe4f5472978d7c8e119a147119ac4abb1')

prepare() {
  cd $pkgname-$pkgver
  patch -Np1 -i ../fotowall-1.0-fix-build-against-qt-5.11.0.patch
}

build() {
  cd $pkgname-$pkgver
  sed -i 's|Icon=fotowall|Icon=/usr/share/pixmaps/fotowall.png|' $pkgname.desktop
  qmake-qt5 PREFIX=/usr $pkgname.pro
  make
}

package() {
  make -C $pkgname-$pkgver INSTALL_ROOT="${pkgdir}/" install
}
Je le modifie en :

Code : Tout sélectionner

pkgname=fotowall
pkgver=1.0

prepare() {
  cd "${pkgname%-*}"
  sed -i 's|#include <QPainter>|#include <QPainter>\n#include <QPainterPath>|'  3rdparty/posterazor/paintcanvas.cpp
}

pkgrel=2
pkgdesc="A creative tool that allows you to layout your photos or pictures in a personal way"
arch=('x86_64')
url="http://www.enricoros.com/opensource/fotowall/"
license=('LGPL3')
depends=('desktop-file-utils' 'qt5-svg')
makedepends=('qt5-tools')
source=("$pkgname-$pkgver.tar.gz::https://github.com/enricoros/fotowall/archive/v$pkgver.tar.gz"
        "fotowall-1.0-fix-build-against-qt-5.11.0.patch")
sha256sums=('8dc42262dd5220a12e92181ff82bd363a6506a4c3ab1ea3841281f2971e1b289'
            'fa573efa3529939ca83d3dc96d49277fe4f5472978d7c8e119a147119ac4abb1')

prepare() {
  cd $pkgname-$pkgver
  patch -Np1 -i ../fotowall-1.0-fix-build-against-qt-5.11.0.patch
}

build() {
  cd $pkgname-$pkgver
  sed -i 's|Icon=fotowall|Icon=/usr/share/pixmaps/fotowall.png|' $pkgname.desktop
  qmake-qt5 PREFIX=/usr $pkgname.pro
  make
}

package() {
  make -C $pkgname-$pkgver INSTALL_ROOT="${pkgdir}/" install
}
car le message d'erreur est le même dans ce cas :

Code : Tout sélectionner

g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -D_REENTRANT -fPIC -DHAS_EXPORTDIALOG -DHAS_WORDCLOUD_APPLIANCE -DHAS_LIKEBACK -DHAS_VIDEOCAPTURE -DHAS_TRANSLATIONS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I. -I3rdparty/posterazor -I/usr/include/qt -I/usr/include/qt/QtSvg -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtOpenGL -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtXml -I/usr/include/qt/QtCore -Ibuild -Ibuild -I/usr/lib/qt/mkspecs/linux-g++ -o build/wizard.o 3rdparty/posterazor/wizard.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -D_REENTRANT -fPIC -DHAS_EXPORTDIALOG -DHAS_WORDCLOUD_APPLIANCE -DHAS_LIKEBACK -DHAS_VIDEOCAPTURE -DHAS_TRANSLATIONS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I. -I3rdparty/posterazor -I/usr/include/qt -I/usr/include/qt/QtSvg -I/usr/include/qt/QtPrintSupport -I/usr/include/qt/QtOpenGL -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtNetwork -I/usr/include/qt/QtXml -I/usr/include/qt/QtCore -Ibuild -Ibuild -I/usr/lib/qt/mkspecs/linux-g++ -o build/paintcanvas.o 3rdparty/posterazor/paintcanvas.cpp
3rdparty/posterazor/paintcanvas.cpp: Dans la fonction membre « virtual void PaintCanvas::drawOverlayText(const QPointF&, int, int, const QString&) »:
3rdparty/posterazor/paintcanvas.cpp:89:22: erreur: l'agrégat « QPainterPath textPath » a un type incomplet et ne peut être défini
   89 |         QPainterPath textPath;
      |                      ^~~~~~~~
make: *** [Makefile:2680 : build/paintcanvas.o] Erreur 1
==> ERREUR : Une erreur s’est produite dans build().
Mal fait un truc ou pas compris la manip ?

Bonne journée.

Re: [FOTOWALL] Installation impossible (EN COURS...)

Publié : lun. 30 nov. 2020, 08:51
par papajoke
bonjour,
d'après ce qu'a écrit benjarobin, c'est un ajout d'une fonction prepare() pour fotowall-git, ici tu as dupliqué la fonction dans l'autre paquet (donc pas bon) avec l'autre, je suppose qu'il faut juste ajouter la ligne "sed" en fin de la fonction existante

Re: [FOTOWALL] Installation impossible (EN COURS...)

Publié : lun. 30 nov. 2020, 09:37
par benjarobin
Je te conseil d'installer la version Git, tu auras plus de chance que tout fonctionne correctement.

Re: [FOTOWALL] Installation impossible (EN COURS...)

Publié : sam. 12 déc. 2020, 10:20
par L_Indien
Bonjour,

Je vous remercie pour vos retours.

Et merci beaucoup pour la modification du PKGBUILD (benjarobin ?):-)
benjarobin a écrit : lun. 30 nov. 2020, 09:37 Je te conseil d'installer la version Git, tu auras plus de chance que tout fonctionne correctement.
Exact, je viens de l'installer, ça fonctionne nickel.

Bonne journée et bon week-end.