Problème d'encodage (Bug #583)
Description
Bonsoir et merci pour AMC !
Même en faisant précéder la commande auto-multiple-choice
deLANG=fr_FR.utf8
, il y a un problème d'encodage avec le texte de certaines
parties de l'interface, ainsi que le montre la copie d'écran jointe.
History
Updated by Alexis Bienvenüe about 7 years ago
Quelle est votre environnement et comment avez-vous installé AMC ?
- Status changed from New to Feedback
Updated by Denis Bitouzé about 7 years ago
Environnement : Linux Mageia 6
Installation : au moyen de auto-multiple-choice_current_precomp.tar.gz.
Updated by Alexis Bienvenüe about 7 years ago
Pouvez-vous essayer avec le fichier auto-multiple-choice_1.4.0-rc1_dist.tar.gz
disponible ici ?
Updated by Denis Bitouzé about 7 years ago
Même punition ainsi que le montre la copie d'écran jointe.
- File Screenshot_20180904_102748.png added
Updated by Denis Bitouzé about 7 years ago
Voici un message qui est apparu dans le terminal après avoir lancé la mise à jour des documents, et qui est peut-être lié au problème rencontré :
Unable to open amc-compiled.cs: No such file or directory at /usr/lib/AMC/perl/AMC-prepare.pl line 291. *** unhandled exception in callback: *** Cannot decode string with wide characters at /usr/lib/perl5/5.22.3/x86_64-linux-thread-multi/Encode.pm line 243. *** ignoring at /usr/lib/perl5/vendor_perl/5.22.3/Gtk3.pm line 566.
Updated by Alexis Bienvenüe almost 7 years ago
Je ne sais pas pourquoi les choses se passent de manière différente sur Mageia. Pouvez-vous essayer en appliquant le patch suivant au fichier AMC/Basic.pm
une fois installé ?
577c577 < $localisation=Locale::gettext->domain("auto-multiple-choice"); --- > $localisation=Locale::gettext->domain_raw("auto-multiple-choice"); 654c654 < sub __($) { return($localisation->get(shift)); } --- > sub __($) { my $s=$localisation->get(shift);utf8::decode($s);return($s); }
Updated by Alexis Bienvenüe almost 7 years ago
Le problème est peut-être le même que celui signalé ici : https://sourceforge.net/p/gscan2pdf/bugs/230/. Il semblerait que ce soit un patch à Locale::gettext
appliqué par Mageia qui en soit la source.
Updated by Denis Bitouzé almost 7 years ago
Alexis Bienvenüe wrote:
Je ne sais pas pourquoi les choses se passent de manière différente sur Mageia. Pouvez-vous essayer en appliquant le patch suivant au fichier
AMC/Basic.pm
une fois installé ?
[...]
Même punition.
Updated by Denis Bitouzé almost 7 years ago
Alexis Bienvenüe wrote:
Le problème est peut-être le même que celui signalé ici : https://sourceforge.net/p/gscan2pdf/bugs/230/. Il semblerait que ce soit un patch à
Locale::gettext
appliqué par Mageia qui en soit la source.
Les symptômes sont effectivement les mêmes que dans ce rapport de bug. En revanche, j'ai l'impression que Mageia a appliqué un patch qui, justement, règle le bug signalé.
Je peux essayer de faire un nouveau rapport de bug à Mageia, mais je crains que l'équipe soit moins encline à le régler car, si AMC est bien packagé pour cette distribution, c'est seulement dans sa version 1.2.1 (qui, d'ailleurs ne fonctionne pas au motif que :
Undefined subroutine &main::proj2abs called at /usr/lib64/AMC/perl/AMC-gui.pl line 819.
mais je ne sais pas si ça vient de mes installations manuelles d'AMC).
Updated by Alexis Bienvenüe almost 7 years ago
J'ai installé une mageia6,Même punition.
- téléchargé et extrait les fichiers de l'archive
auto-multiple-choice_1.4.0-rc1_dist.tar.gz
, - changé la valeur de
PERLDIR
dansMakefile.conf
pour avoirPERLDIR=/usr/lib/perl5/vendor_perl
, - compilé avec
make
, - modifié le fichier
AMC-perl/AMC/Basic.pm
comme ci-dessus, - installé avec
sudo make install
et le problème a disparu chez moi.
Pouvez-vous vérifier que le Basic.pm
qui est installé chez vous est bien modifié ?
Updated by Denis Bitouzé almost 7 years ago
Alexis Bienvenüe wrote:
J'ai installé une mageia6,
- téléchargé et extrait les fichiers de l'archive
auto-multiple-choice_1.4.0-rc1_dist.tar.gz
,- changé la valeur de
PERLDIR
dansMakefile.conf
pour avoirPERLDIR=/usr/lib/perl5/vendor_perl
,- compilé avec
make
,- modifié le fichier
AMC-perl/AMC/Basic.pm
comme ci-dessus,- installé avec
sudo make install
et le problème a disparu chez moi.
Pouvez-vous vérifier que leBasic.pm
qui est installé chez vous est bien modifié ?
Hum, le problème est que je n'ai pas qu'un seul Basic.pm
:
$ locate '*AMC/Basic.pm'
/home/bitouze/InstallationsLocales/auto-multiple-choice-1.3.0/AMC-perl/AMC/Basic.pm
/home/bitouze/InstallationsLocales/auto-multiple-choice-1.4.0~rc1/AMC-perl/AMC/Basic.pm
/usr/lib/perl5/5.22.3/AMC/Basic.pm
/usr/lib/perl5/AMC/Basic.pm
/usr/lib/perl5/vendor_perl/AMC/Basic.pm
l'occurrence ...5.22.3...
venant de ce que, lors de mes premières installations de AMC, j'avais noté qu'il me fallait modifier la valeur de PERLDIR
dans Makefile.conf
et que PERLDIR=/usr/lib/perl5/5.22.3
fonctionnait.
Quoi qu'il en soit, j'ai procédé comme vous l'indiquez :
- en utilisant le dossier
.../vendor_perl
et en patchant tous lesBasic.pm
; - en renommant le dossier
.AMC.d
en.AMC.d-old
pour éviter que d'anciennes configurations interfèrent ;
mais la punition est la même.
Peut-être y a-t-il une interférence entre les versions 1.3.0
et 1.4.0~rc1
qui ont été installées successivement (sans désinstallation propre entre les deux).
Updated by Alexis Bienvenüe almost 7 years ago
Quelle est votre version de Locale::gettext
(à retrouver dans le début du fichier gettext.pm
, la mienne est $VERSION = "1.05"
) ?
Updated by Denis Bitouzé almost 7 years ago
Alexis Bienvenüe wrote:
Quelle est votre version de
Locale::gettext
(à retrouver dans le début du fichiergettext.pm
, la mienne est$VERSION = "1.05"
) ?
Même version :
$ locate gettext.pm
/usr/lib/perl5/vendor_perl/5.22.2/x86_64-linux-thread-multi/Locale/gettext.pm
$ grep '$VERSION =' /usr/lib/perl5/vendor_perl/5.22.2/x86_64-linux-thread-multi/Locale/gettext.pm
$VERSION = "1.05" ;
Updated by Alexis Bienvenüe almost 7 years ago
Bon. Je n'arrive pas à reproduire ce problème et je ne sais pas pourquoi…
Updated by Denis Bitouzé almost 7 years ago
Alexis Bienvenüe wrote:
Bon. Je n'arrive pas à reproduire ce problème et je ne sais pas pourquoi…
Ça n'est pas trop grave : il est quand même possible de deviner le texte :)
Merci !
Updated by Alexis Bienvenüe almost 7 years ago
Pouvez-vous exécuter le petit script ci-joint dans un terminal et me dire ce qu'il affiche ?
- File test_locale.pl added
Updated by Denis Bitouzé almost 7 years ago
Alexis Bienvenüe wrote:
Pouvez-vous exécuter le petit script ci-joint dans un terminal et me dire ce qu'il affiche ?
Voici :
$ perl test_locale.pl * utf8 Des œufs cassés * simple Copie des scans dans le r�pertoire projet... * raw Copie des scans dans le répertoire projet... * decode Copie des scans dans le répertoire projet...
Updated by Denis Bitouzé almost 7 years ago
Tiens, ce qui est à l'intérieur de la paire de @ n'a pas été interprété comme du code ?
Updated by Alexis Bienvenüe almost 7 years ago
Pour du code sur plusieurs lignes, utiliser
<pre>...</pre>
Updated by Alexis Bienvenüe almost 7 years ago
Bon. Je ne vois donc pas pourquoi le patch pour Basic.pm ne fonctionne pas…
Updated by Denis Bitouzé almost 7 years ago
Alexis Bienvenüe wrote:
Bon. Je ne vois donc pas pourquoi le patch pour Basic.pm ne fonctionne pas…
Hum ! Je suis vraiment désolé mais il semblerait que je n'avais pas patché tous
les Basic.pm
.
En fait, chez moi, cela ne fonctionne que si la valeur par défaut de PERLDIR
dans Makefile.conf
est changée en PERLDIR=/usr/lib/perl5/vendor_perl
(et
donc pas en PERLDIR=/usr/lib/perl5/vendor_perl
).
Cette fois-ci, les problèmes d'accents sont tous résolus... ou presque comme en
attestent les copies d'écran jointes.
- File Screenshot_20180927_162203.png added
- File Screenshot_20180927_162230.png added
Updated by Denis Bitouzé almost 7 years ago
Denis Bitouzé wrote:
Alexis Bienvenüe wrote:
Bon. Je ne vois donc pas pourquoi le patch pour Basic.pm ne fonctionne pas…
Hum ! Je suis vraiment désolé mais il semblerait que je n'avais pas patché tous
lesBasic.pm
.En fait, chez moi, cela ne fonctionne que si la valeur par défaut de
PERLDIR
dansMakefile.conf
est changée enPERLDIR=/usr/lib/perl5/vendor_perl
(et
donc pas enPERLDIR=/usr/lib/perl5/vendor_perl
).Cette fois-ci, les problèmes d'accents sont tous résolus... ou presque comme en
attestent les copies d'écran jointes.
Hum ! Je voulais dire « changée en PERLDIR=/usr/lib/perl5/5.22.3
(et
donc pas en ... »
Updated by Alexis Bienvenüe over 6 years ago
- Target version deleted (
1.4.0)
Updated by Denis Bitouzé about 6 years ago
Le problème est toujours présent dans le contexte suivant :
- OS : Linux Mageia 7
- AMC 1.4.0 (package de la distribution Linux)
Updated by Denis Bitouzé about 5 years ago
Problème réglé en appliquant le patch signalé en commentaire #6 à tous les fichiers suivants (sans trop savoir lequel était le coupable) :
/usr/lib/perl5/5.22.3/AMC/Basic.pm /usr/lib/perl5/AMC/Basic.pm /usr/lib/perl5/vendor_perl/AMC/Basic.pm /usr/share/perl5/vendor_perl/AMC/Basic.pm
Merci !
Updated by Denis Bitouzé about 5 years ago
Curieuse coïncidence : le paquet RPM de AMC a été mis à jour ce matin, écrasant /usr/share/perl5/vendor_perl/AMC/Basic.pm
ce qui a conduit à la réapparition du présent bug. Après application du patch à ce fichier, tout est rentré dans l'ordre, ce qui prouve que c'est bien lui le coupable ! :)
Updated by Alexis Bienvenüe over 4 years ago
- Status changed from Feedback to Closed
- % Done changed from 0 to 100
Updated by Denis Bitouzé 9 days ago
Avec AMC 1.4.0 installé via les paquets officiels d'une distribution Mageia 9, le problème persiste. Pour le résoudre, il suffit de procéder dans son fichier Basic.pm
aux remplacements indiqués en commentaire 6 du présent ticket.
De tels remplacements seraient-ils possibles dans la version actuelle de AMC (dont la tentative d'installation par le fichier auto-multiple-choice_current_dist.tar.gz
s'est soldée par un échec) ?
Updated by Alexis Bienvenüe 9 days ago
dont la tentative d'installation par le fichier auto-multiple-choice_current_dist.tar.gz s'est soldée par un échec
Avez-vous essayé avec le paquet préparé sur OBS ? https://software.opensuse.org/download/package?package=auto-multiple-choice&project=home%3AJojoBoulix
Updated by Denis Bitouzé 8 days ago
Alexis Bienvenüe wrote:
dont la tentative d'installation par le fichier auto-multiple-choice_current_dist.tar.gz s'est soldée par un échec
Avez-vous essayé avec le paquet préparé sur OBS ? https://software.opensuse.org/download/package?package=auto-multiple-choice&project=home%3AJojoBoulix
L'installation échoue :
# urpmi perl-Graphics-Magick https://mirror.math.princeton.edu/pub/mageia/distrib/9/x86_64/media/tainted/updates/perl-Graphics-Magick-1.3.40-1.2.mga9.tainted.x86_64.rpm installation de perl-Graphics-Magick-1.3.40-1.2.mga9.tainted.x86_64.rpm depuis /var/cache/urpmi/rpms # urpmi perl-Image-Magick https://mirror.math.princeton.edu/pub/mageia/distrib/9/x86_64/media/tainted/updates/perl-Image-Magick-7.1.1.29-1.1.mga9.tainted.x86_64.rpm installation de perl-Image-Magick-7.1.1.29-1.1.mga9.tainted.x86_64.rpm depuis /var/cache/urpmi/rpms # urpmi auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64.rpm Le paquetage demandé ne peut pas être installé : auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64 (car (perl(Graphics::Magick) or perl(Image::Magick)) est non satisfait) Désirez-vous tout de même continuer ? (O/n)
Updated by Alexis Bienvenüe 8 days ago
Bizarre. Et que se passe-t-il si vous répondez "oui" pour continuer tout de même l'installation ?
Updated by Denis Bitouzé 8 days ago
Alexis Bienvenüe wrote:
Bizarre. Et que se passe-t-il si vous répondez "oui" pour continuer tout de même l'installation ?
Lors de mes premiers essais, rien de plus :
# urpmi auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64.rpm Le paquetage demandé ne peut pas être installé : auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64 (car (perl(Graphics::Magick) or perl(Image::Magick)) est non satisfait) Désirez-vous tout de même continuer ? (O/n) Certains paquets ont été installés mais d'autres ont échoué. Le paquetage demandé ne peut pas être installé : auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64 (car (perl(Graphics::Magick) or perl(Image::Magick)) est non satisfait) Désirez-vous tout de même continuer ? #
Puis, de façon surprenante, en insistant :
# urpmi auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64.rpm Le paquetage demandé ne peut pas être installé : auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64 (car (perl(Graphics::Magick) or perl(Image::Magick)) est non satisfait) Désirez-vous tout de même continuer ? (O/n) Pour satisfaire les dépendances, les paquetages suivants vont être installés : Paquetage Version Révision Arch (média « Core Release »)) perl-Algorithm-Diff 1.201.0 2.mga9 noarch texlive-dist 20220321 12.mga9 noarch texlive-texmf 20220321 12.mga9 noarch un espace additionnel de 1.7Go sera utilisé. 694Mo de paquets seront récupérés. Procéder à l'installation des 3 paquetages ? (O/n) n
J'ai répondu « non » car une distribution TeX Live 2025 est déjà installée sur ma machine. Du coup, j'ai installé
perl-Algorithm-Diff
puis lancé :rpm -Uvh --nodeps auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64.rpm attention : auto-multiple-choice-1.7.0+git20250704122834-1.1.x86_64.rpm: Entête V3 RSA/SHA256 Signature, clé ID 3a06dc22: NOKEY Verifying... ################################# [100%] Préparation... ################################# [100%] Mise à jour / installation... 1:auto-multiple-choice-1.7.0+git202################################# [ 50%] Nettoyage/suppression... 2:auto-multiple-choice-1.4.0-10.2.m################################# [100%] #
Cependant :
$ auto-multiple-choice & Can't locate Hash/Merge.pm in @INC (you may need to install the Hash::Merge module) (@INC contains: /usr/local/lib64/perl5/5.36 /usr/local/share/perl5/5.36 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/share/perl5/vendor_perl/AMC/TopicsTest.pm line 26. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/AMC/TopicsTest.pm line 26. Compilation failed in require at /usr/share/perl5/vendor_perl/AMC/Project.pm line 32. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/AMC/Project.pm line 32. Compilation failed in require at /usr/lib64/AMC/perl/AMC-gui.pl line 38. BEGIN failed--compilation aborted at /usr/lib64/AMC/perl/AMC-gui.pl line 38.
Après avoir installé
perl-Hash-Merge
et, là, j'ai pu lancer le programme.
Toutefois, même punition, ainsi qu'en attestent les captures d'écran jointes.
- File Screenshot_20250907_162040.png added
- File Screenshot_20250907_161956.png added