Git Version | Version Git
Subscription date : 06 September 2009
Messages : 1635
|
Pour Arch et dérivé, on rencontre un problème de compilation lié apparemment à logout.
Voici les commentaires dans Aur sur le PKGBUILD de cairo-dock-plugins-bzr :
have the same error as hplgonzo. The error is just a warning threated as an error, so we can get rid of it by selecting gcc arguments.
Here are the steps:
1) download PKGBUILD file and modify it adding the line
gedit ../CMakeLists.txt
just before the call to cmake in build() procedure. Currently it's line 55. So you have something like
$ mkdir build && cd build
$ gedit ../CMakeLists.txt # <--- added line
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
$ make
(you can use whatever editor you want in place of gedit)
2) open terminal where PKGBUILD is downloaded and run
$ makepkg -i
3) now when the source tree is downloaded, but just before compiling, gedit will popup with CMakeLists.txt open. Locate the statement
add_definitions (-std=c99 -Wall -Werror=implicit-function-declaration) # -Wextra (...)
and remove '-Werror=implicit-function-declaration', so you have
add_definitions (-std=c99 -Wall) # -Wextra (...)
save and close. the compilation will start and everything will be fine.
Note that this is just an (inelegant) way to get things done, but the real solution is to modify logout applet source code (I think...)
Sorry for my bad english |
SQP, Monday 19 May 2014 à 19:28
|
|
Subscription date : 03 July 2010
Messages : 1081
|
je confirme le problème (j'ai désactivé logout).
et je profite d'un thread archlinux pour poster la première tentative de package pour mes applets en go.
si t'as le courage de me tester ca stp (ne pas hésiter à désactiver les cdctags ou retirer des applets de la compile si ca pose pb)
# Maintainer: SQP <sqp@glx-dock.org>
pkgname=cairo-dock-control
pkgver=20140510
pkgrel=1
pkgdesc="Cairo-Dock control tool and go applets."
arch=('x86_64' 'i686')
url="http://github.com/sqp/godock"
license=('GPL3')
depends=('gtk3' 'vte3' 'curl')
makedepends=('git' 'go')
options=('!strip' '!emptydirs')
srcpath=github.com/sqp/godock
applets="Audio DiskActivity DiskFree GoGmail NetActivity Update"
cdctags="log gtk" # only use of gtk3 and vte3 for now
appdir=usr/share/cairo-dock/plug-ins/Dbus/third-party/
build() {
# Download
GOPATH="$srcdir" go get -d -tags "$applets $cdctags" $srcpath/cmd/cdc
# Patch
cd "$srcdir/src/github.com/conformal/gotk3"
git checkout bdc71ad40ff3dc095d4bbe9e34b0bd9fae90aae5
# Build
GOPATH="$srcdir" go get -fix -v -tags "$applets $cdctags" $srcpath/cmd/cdc # -x
}
#check() {
# GOPATH="$GOPATH:$srcdir" go test -v -x $srcpath/...
#}
package() {
mkdir -p "$pkgdir/usr/bin"
install -p -m755 "$srcdir/bin/cdc" "$pkgdir/usr/bin"
mkdir -p "$pkgdir/$appdir"
for f in $applets; do
cp -Rv --preserve=timestamps "$srcdir/src/$srcpath/applets/$f" "$pkgdir/$appdir"
done
# Package license (if available)
for f in LICENSE COPYING LICENSE.* COPYING.*; do
if [ -e "$srcdir/src/$srcpath/$f" ]; then
install -Dm644 "$srcdir/src/$srcpath/$f" \
"$pkgdir/usr/share/licenses/$pkgname/$f"
fi
done
} |
Subscription date : 06 September 2009
Messages : 1635
|
Tu as désactivé logout dans ton propre dock ? Sache que la manip indiquée en commentaire fonctionne très bien : j'ai pu récupérer logout ainsi.
Si tu veux que je teste tes applets, il va falloir m'en dire plus sur leurs objectifs et comment les installer .
Je bidouille (trés) peu les pkgbuild en local… et quand ça arrive, c'est en suivant bêtement les instructions de "spécialistes". |
SQP, Tuesday 20 May 2014 à 11:12
|
|
Subscription date : 03 July 2010
Messages : 1081
|
oui, je l'ai viré, il ne me sert à rien (je delog une fois par mois, donc la fonction dans gmenu me suffit).
pour le pack à installer, tout le détail est sur la page dédiée du forum
et j'essaye de regrouper ça dans une page wiki: http://glx-dock.org/ww_page.php?p=cdc&lang=fr
J'ai donc des mois de dev que personne d'autre n'a testé et que j'essaye de packager pour remédier au problème (de test et de distribution). Je t'en parle parce que tu es un des plus susceptibles de pouvoir me faire ça <3. Et que je j'aimerais bien pouvoir valider et diffuser mes applets. Donc je préférerais avoir des retours avant de tenter de rentrer dans AUR ou autre similaire). Je ne suis pas spécialiste arch (moins de 2 mois d'utilisation) mais leur packaging n'a pas l'air trop compliqué (je trouve le script plutôt lisible).
Pour l'installation, créer un répertoire vide, et copier le contenu du fichier dans un fichier PKGBUILD
mkdir test_goapps
cd test_goapps
gedit PKGBUILD # copier le contenu plus haut
makepkg # download src and build package
makepkg -i # install package (add -f to force rebuild)
sinon tu peux aussi essayer le package pré-compilé, incluant aussi toutes les fonctions manquantes sur l'autre (besoin de plus de patchs dans certaines API utilisées) avec notamment les applets TVPlay et Notifications, et en WIP, la nouvelle GUI de config.
x86_64: cairo-dock-control-20140518-1-x86_64.pkg.tar.xz |
matttbe, Tuesday 20 May 2014 à 21:17
|
|
Subscription date : 24 January 2009
Messages : 12573
|
@lylambda: Je n'avais pas vu ce problème (ou j'ai p-ê zappé entre temps...).
Voilà qui est fixé en rev 3083
@SQP: Moi aussi j'aimerai bien tester :'(
Mais faudrait idéalement que je rattrape mon retard dans tous ces messages sur le forum, fixer les bugs +/- urgent, etc. J'ai tenté un ^Z sur le temps qui s'écoule mais ça n'a pas fonctionné...
EDIT: oh, je n'avais pas vu le tar.xz avec les binaires
Je devrais pouvoir trouver un peu de temps pour tester mais bon, faut pas juste que je le lance et dire "ça marche"... |
SQP, Wednesday 21 May 2014 à 15:25
|
|
Subscription date : 03 July 2010
Messages : 1081
|
le zip sur cette page est la version packagée pour arch, il faut que je fasse pareil en .deb, mais le systeme de package arch semble bien adapté pour un 1er test. Le PKGBUILD reste lisible, même en incluant un patch spécifique.
Sinon, même si c'est juste pour me dire que ca marche, je suis pas contre Et, t'as juste 6 applets de retard ^^ (8 en comptant les "unstable" non commit)
Mais c'est plus ta vision de maintainer dont j'aurais besoin: vérifier l'organisation globale, et notamment l'idée du binaire unique (qui me parait un compromis intéressant). Voir aussi la partie API pour applets si ça répond au besoin (facile à démarrer et toujours lisible et utilisable pour des besoins plus complexes). J'ai un peu trop le nez dans mon code pour garantir une impartialité suffisante à ce niveau |
Subscription date : 06 September 2009
Messages : 1635
|
matttbe : Voilà qui est fixé Je viens de tenter une compile. Je me retrouve de nouveau avec un bug, cette fois-ci lié à powermanager. D’ailleurs, j'avais noté que cette applet s'était désactivé d'elle même suite à ma dernière compilation, et que la réactiver conduisait à un crash. j'avais mis ça sur le dos du problème lié à logout.
Scanning dependencies of target cd-powermanager
[ 60%] Building C object powermanager/src/CMakeFiles/cd-powermanager.dir/powermanager-init.c.o
[ 61%] Building C object powermanager/src/CMakeFiles/cd-powermanager.dir/powermanager-draw.c.o
[ 61%] Building C object powermanager/src/CMakeFiles/cd-powermanager.dir/powermanager-config.c.o
[ 61%] Building C object powermanager/src/CMakeFiles/cd-powermanager.dir/powermanager-common.c.o
[ 62%] Building C object powermanager/src/CMakeFiles/cd-powermanager.dir/powermanager-upower.c.o
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c: In function ‘_cd_upower_connect_async’:
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c:51:2: erreur: implicit declaration of function ‘up_client_enumerate_devices_sync’ [-Werror=implicit-function-declaration]
if (pUPowerClient == NULL || ! up_client_enumerate_devices_sync (pUPowerClient, NULL, NULL))
^
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c: In function ‘cd_power_hibernate’:
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c:370:3: erreur: implicit declaration of function ‘up_client_hibernate_sync’ [-Werror=implicit-function-declaration]
return up_client_hibernate_sync (myData.pUPowerClient, NULL, NULL);
^
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c: In function ‘cd_power_suspend’:
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c:378:3: erreur: implicit declaration of function ‘up_client_suspend_sync’ [-Werror=implicit-function-declaration]
return up_client_suspend_sync (myData.pUPowerClient, NULL, NULL);
^
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c: In function ‘cd_power_can_hibernate’:
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c:386:3: erreur: implicit declaration of function ‘up_client_get_can_hibernate’ [-Werror=implicit-function-declaration]
return up_client_get_can_hibernate (myData.pUPowerClient);
^
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c: In function ‘cd_power_can_suspend’:
/tmp/yaourt-tmp-lylambda/aur-cairo-dock-plugins-bzr/src/cairo-dock-plug-ins/powermanager/src/powermanager-upower.c:394:3: erreur: implicit declaration of function ‘up_client_get_can_suspend’ [-Werror=implicit-function-declaration]
return up_client_get_can_suspend (myData.pUPowerClient);
^
cc1: some warnings being treated as errors
powermanager/src/CMakeFiles/cd-powermanager.dir/build.make:149: recipe for target 'powermanager/src/CMakeFiles/cd-powermanager.dir/powermanager-upower.c.o' failed
make[2]: *** [powermanager/src/CMakeFiles/cd-powermanager.dir/powermanager-upower.c.o] Error 1
CMakeFiles/Makefile2:2847: recipe for target 'powermanager/src/CMakeFiles/cd-powermanager.dir/all' failed
make[1]: *** [powermanager/src/CMakeFiles/cd-powermanager.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2
==> ERREUR : Une erreur s’est produite dans build().
Abandon...
==> ERREUR: Makepkg n'a pas pu construire cairo-dock-plugins-bzr.
==> Relancer la compilation de cairo-dock-plugins-bzr ? [o/N]
SQP : Je t'en parle parce que tu es un des plus susceptibles de pouvoir me faire ça <3.
Entendu, je les testerais à l'occaz |
matttbe, Thursday 22 May 2014 à 18:27
|
|
Subscription date : 24 January 2009
Messages : 12573
|
SQP : le zip sur cette page est la version packagée pour arch, il faut que je fasse pareil en .deb Boh, suffit d'extraire l'archive dans les bons dossiers, c'est déjà bien plus simple que compiler
Sinon, même si c'est juste pour me dire que ca marche, je suis pas contre Je vais tenter de faire ça
Mais c'est plus ta vision de maintainer dont j'aurais besoin: vérifier l'organisation globale, et notamment l'idée du binaire unique (qui me parait un compromis intéressant). Voir aussi la partie API pour applets si ça répond au besoin (facile à démarrer et toujours lisible et utilisable pour des besoins plus complexes). Ça risque d'être plus compliqué ça pour le moment... Mais je n'oublie pas!
lylambda : Je viens de tenter une compile. Je me retrouve de nouveau avec un bug, cette fois-ci lié à powermanager. Ah oui, j'avais oublié que PowerManager utilisait cette partie là du code d'UPower aussi. Je vais tenter de regarder ça, ça devrait aller vu que c'est quasi le même problème qu'avant |
matttbe, Friday 23 May 2014 à 01:30
|
|
Subscription date : 24 January 2009
Messages : 12573
|
Ça devrait être fixé en rev 3084 |
Subscription date : 06 September 2009
Messages : 1635
|
Ça devrait être fixé En effet, c'est tout bon ! |
Subscription date : 06 September 2009
Messages : 1635
|
@ SQP :
J'ai essayer d'utiliser ton PKBUILD, mais je rencontre le bug suivant :
[lylambda@Nobody test_goapps]$ makepkg
==> Création du paquet cairo-dock-control 20140510-1 (ven. mai 23 21:26:54 CEST 2014)
==> Vérification des dépendances pour l’exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
==> Extraction des sources...
==> Suppression du répertoire pkg/ existant...
==> Lancement de build()...
fatal: la référence n'est pas un arbre : bdc71ad40ff3dc095d4bbe9e34b0bd9fae90aae5
==> ERREUR : Une erreur s’est produite dans build().
Abandon...
Parfois, la connexion dans ma colloc me pose problème pour récupérer des sources avant compilation (je suis obliger de m'y reprendre à plusieurs fois pour compiler le dock par exemple), mais cela ne semble pas être le cas ici. Au cas où, je retesterais au boulot, à moins que tu puisses identifier un bug d'ici là.
Sinon, je peux tester directement ton pkg précompilé : il faut bien que je le télécharge et que je lance un makepkg -i dans le répertoire ? |
Git Version | Version Git
|