[AUR] gcc-gcj en conflit avec gcc-gcj-ecj (résolu)

Mise à jour / Création /debug de paquetages
Répondre
flapp
Daikyu
Messages : 56
Inscription : sam. 24 déc. 2011, 12:07

[AUR] gcc-gcj en conflit avec gcc-gcj-ecj (résolu)

Message par flapp »

La compilation de gcc-gcj (depuis AUR, compilation effectuée avec yaourt) ne pose pas de problème à condition (chez moi) d'ajouter "unset CPPFLAGS" dans le PKGBUILD. (un bon Conseil de FoolEcho)

En revanche, l'installation du paquet fraîchement créé mène à un conflit avec gcc-gcj-ecj, et ce depuis ma dernière compilation (version 4.8.1-2 de gcc-gcj)
.

Code : Tout sélectionner

erreur : la validation de la transaction a échoué (conflit de fichiers)
gcc-gcj : /usr/bin/ecj1 est déjà présent dans le système de fichiers
gcc-gcj : /usr/share/java/eclipse-ecj.jar est déjà présent dans le système de fichiers
Des erreurs se sont produites, aucun paquet n’a été mis à jour.
==> ATTENTION: Paquets conservés dans /home/knarf/temporaire/yaourt-tmp-knarf
==> ERREUR: impossible de mettre à jour
Faut-il désinstaller gcc-gcj-ecj (et pdftk qui dépend de ce paquet) pour réinstaller ceci après gcc-gcj ? (j'en doute, le problème de conflit doit être symétrique...)

Ce problème de conflit a été soulevé sur AUR mais n'a pas donné lieu à une réponse.

Je ne vois pas dans quelle direction chercher... Des idées ?
Dernière modification par flapp le sam. 08 juin 2013, 08:41, modifié 2 fois.
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj

Message par Tristelune »

Salut,
flapp a écrit : Faut-il désinstaller gcc-gcj-ecj (et pdftk qui dépend de ce paquet) pour réinstaller ceci après gcc-gcj ? (j'en doute, le problème de conflit doit être symétrique...)
je cherche aussi à installer pdftk et la variante que tu proposes ne fonctionne effectivement pas. Si personne n'a d'idées je propose de contacter le mainteneur d'un des paquets.
flapp
Daikyu
Messages : 56
Inscription : sam. 24 déc. 2011, 12:07

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj

Message par flapp »

Je tente en ce moment même une nouvelle compilation de gcc-gcj avec plusieurs modifications du PKGBUILD.

C'est de la grosse bidouille inspirée d'un commentaire posté sur AUR, si ça passe, ce n'est que de la chance, mais je ferai suivre !


À suivre donc, cette compilation n'étant pas des plus rapides....
flapp
Daikyu
Messages : 56
Inscription : sam. 24 déc. 2011, 12:07

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj

Message par flapp »

L'idée d'hier ne marchait pas mais j'ai peut-être une solution.


Je me demande de plus en plus si gcc-gcj n'intègre pas tout bêtement gcc-gcj-ecj qui n'est en fait qu'une version déguisée de eclipse.ecj


Les deux dernières lignes du PKGBUILD de gcc-gcj :

Code : Tout sélectionner

  
install -D -m644 $srcdir/ecj-4.5.jar $pkgdir/usr/share/java/eclipse-ecj.jar
install -D -m755 $srcdir/ecj1 $pkgdir/usr/bin/ecj1

Les deux "principales" lignes du PKGBUILD de gcc-gcj-ecj :

Code : Tout sélectionner

	install -D -m644 $srcdir/ecj-${pkgver}.jar $pkgdir/usr/share/java/eclipse-ecj.jar
	install -D -m755 $srcdir/ecj1 $pkgdir/usr/bin/ecj1
La ressemblance est frappante.

J'ai donc compilé et installé gcc-gcj. (avec gcc-gcj-ecj non installé bien sûr),
J'ai ensuite compilé pdftk (en supprimant gcc-gcj-ecj des dépendances).


Visiblement ça passe en agissant ainsi.


Une question me taraude pour avoir une installation qui reste "propre" : faut il ajouter les lignes ci-dessous au début du PKGBUILD de gcc-gcj ?

Code : Tout sélectionner

 provides=('eclipse-ecj')
conflicts=('eclipse-ecj')

(Ces deux lignes étaient présentes dans le PDGBUILD de gcc-gcj-ecj : je relance la compilation avec ces deux options... je n'en suis plus à deux heures)

Deux remarques pour Tristelune :
  • pense bien à définir un répertoire temporaire autre que celui par défaut si tu utilises yaourt. La compilation de gcc-gcj utilise beaucoup de temps et de place !
  • il te sera vraisemblablement nécessaire d'ajouter unset CPPFLAGS juste avant ../configure/blabla dans le PKGBUILD de gcc-gcj.
Elbarto
Elfe
Messages : 671
Inscription : jeu. 22 déc. 2011, 23:15

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj

Message par Elbarto »

flapp a écrit : En revanche, l'installation du paquet fraîchement créé mène à un conflit avec gcc-gcj-ecj, et ce depuis ma dernière compilation (version 4.8.1-2 de gcc-gcj)
.

Code : Tout sélectionner

erreur : la validation de la transaction a échoué (conflit de fichiers)
gcc-gcj : /usr/bin/ecj1 est déjà présent dans le système de fichiers
gcc-gcj : /usr/share/java/eclipse-ecj.jar est déjà présent dans le système de fichiers
Des erreurs se sont produites, aucun paquet n’a été mis à jour.
==> ATTENTION: Paquets conservés dans /home/knarf/temporaire/yaourt-tmp-knarf
==> ERREUR: impossible de mettre à jour
un bon exemple des inconvénients du dépot AUR :mrgreen:

soit tu fais un repackaging complet du paquet ( mais normalement c'est au mainteneur du paquet de le faire, pas à l'utilisateur ) afin de ne plus avoir de conflits de fichiers entre paquets ou de composant redondant dans le paquet alors qu'il est déjà fourni par un autre paquet,

soit tu utilises une solution temporaire consistant à bidouiller le fichier PKGBUILD en faisant en sorte que tout le bouzin s'installe dans un dossier neutre type /usr/local ou /opt, comme ça t'es sûr que ça n'empiétera pas sur les autres paquets du système,

en général il faut modifier la variable "prefix" et tout ce qui est /usr par le chemin alternatif,

puis quand tu lanceras le logiciel il faudra éventuellement modifier une variable d'environnement ( LD_LIBRARY_PATH ) pour que ça pointe vers le chemin personnalisé pour les librairies, il y a aussi la variable PATH à modifier pour que les binaires du paquet soient recherchés dans le dossier personnalisé
Dernière modification par Elbarto le ven. 07 juin 2013, 09:17, modifié 1 fois.
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj

Message par Tristelune »

Je me suis également posé la question si les deux sont encore nécessaires. En regardant les sources c'est plus ou moins du même il
me semble. Je vais donc essayer ce soir comme tu dis pour voir si c'est bon. Si c'est le cas je mettrai un commentaire pour pdftk sur AUR.
flapp a écrit : pense bien à définir un répertoire temporaire autre que celui par défaut si tu utilises yaourt. La compilation de gcc-gcj utilise beaucoup de temps et de place !
Qu'entends-tu par définir un autre répertoire temporaire ? Fais-tu allusion à la taille de tmpfs qui ne suffit pas à la compilation (j'avoue que je ne m'y connais pas trop). En fait j'ai augmenté la taille de tmpfs et ça passe.
flapp a écrit : il te sera vraisemblablement nécessaire d'ajouter unset CPPFLAGS juste avant ../configure/blabla dans le PKGBUILD de gcc-gcj.[/list]
En fait je suis passé d'erreur en erreur. Tout d'abord la compilation de pdftk n'a pas fonctionnée, car gcc-gcj n'était pas à jour et ensuite la compilation de gcc-gcj a planté. Effectivement en ajoutant la ligne que tu dis tout rentre dans l'ordre.

Merci pour tes compléments d'information! :)
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj

Message par Tristelune »

Alors pour moi aussi ça fonctionne sans la dépendance de gcc-gcj-ecj. Je viens d'écrire un commentaire pour pdftk sur AUR. On va voir ce qui se passe.

Par contre pour le PKGBUILD je ne vais pas t'être d'une grande utilité, je connais trop peu les paquets en question :(
flapp
Daikyu
Messages : 56
Inscription : sam. 24 déc. 2011, 12:07

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj

Message par flapp »

En tout cas il y a aussi du nouveau sur AUR sur gcc-gcj.

Cette modification doit permettre l'installation (sans le dire) de gcc-gcj-ecj puis de pdftk.


https://aur.archlinux.org/packages.php? ... mments=all
Dernière modification par flapp le sam. 08 juin 2013, 08:45, modifié 1 fois.
flapp
Daikyu
Messages : 56
Inscription : sam. 24 déc. 2011, 12:07

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj

Message par flapp »

@Elbarto : pas besoin de créer son propre package, ça passe bien finalement.
Mais ça illustre effectivement un des défauts de AUR.
Pour la petite histoire, j'ai quitté Slackware pour arch pour avoir des paquets récents (suite à des problèmes de noyaux archaïques - mais sûrs ! - ne gérant pas correctement mon notebook trop moderne même si ce n'était pas du dernier cri...)
Et passer par AUR est au final beaucoup plus reposant que ce que j'avais à faire sous Slackware pour les installations et les mises à jour !
En tout cas, pour gcc-gcj, ça passe encore pour cette fois ! ;-)


@Tristelune : pour des grosses compilations avec yaourt, tu peux définir un répertoire temporaire avec l'option --tmp
ou dans /etc/yaourtrc. En ce qui me concerne :

Code : Tout sélectionner

TMPDIR="/home/knarf/temporaire"
Il peut être pratique aussi d'utiliser EXPORT=2 dans ce même /etc/yaourtrc pour que le paquet soit sauvé avec les autres paquets gérés par pacman (dans /var/cacke/pacman/pkg/)




Concernant gcc-gcj, la compilation et l'installation étant possible, je passe le sujet en résolu !


Bilan des courses au 8/06/2013 :

Ce qui est proposé par dacapo sur AUR permet une compilation "propre".
To fix the build failure I recommend changing !makeflags to !buildflags in PKGBUILD.

Also due to the recent implementation of ecj you need to add the following to PKGBUILD to fix the installation error:

provides=('gcc-gcj-ecj=4.5' 'eclipse-ecj')
conflicts=('gcc-gcj-ecj' 'eclipse-ecj')
J'ai tout de même ajouté "unset CPPFLAGS" dans le PKGBUILD même si je ne suis pas certain que ce soit encore nécessaire après le changement d'option (de !makeflags à !buildflags).


L'installation de gcc-gcj-ecj n'étant plus nécessaire, il faut le signifier dans le PKGBUILD de pdftk (dans les dépendances).
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj (résolu)

Message par Tristelune »

flapp a écrit : @Tristelune : pour des grosses compilations avec yaourt, tu peux définir un répertoire temporaire avec l'option --tmp
ou dans /etc/yaourtrc. En ce qui me concerne :

Code : Tout sélectionner

TMPDIR="/home/knarf/temporaire"
Il peut être pratique aussi d'utiliser EXPORT=2 dans ce même /etc/yaourtrc pour que le paquet soit sauvé avec les autres paquets gérés par pacman (dans /var/cacke/pacman/pkg/)
Super pratique!! Je comprends mieux l'utilité maintenant, après avoir passé des heures à compiler! Merci du tuyau!
flapp
Daikyu
Messages : 56
Inscription : sam. 24 déc. 2011, 12:07

Re: [AUR] gcc-gcj en conflit avec gcc-gcj-ecj (résolu)

Message par flapp »

Tout rentre dans l'ordre à la version 4.8.1-4.

Les commentaires de dacapo ont été intégrés dans le PKGBUILD qui compile visiblement sans besoin d'ajouter quoi que ce soit !
Répondre