Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

dpkg-preconfigure : pb de compilation ???

6 réponses
Avatar
Matthias
Bonjour =E0 tous,

juste une question, je viens de r=E9aliser le passage de Sarge en Sid, et, =
en=20
grand maladroit, j'ai simplement fait un "apt-get upgrade" au lieu du=20
recommand=E9 "apt-get dist-upgrade".
J'ai lanc=E9 imm=E9diatement apr=E8s un "apt-get dist-upgrade" (au cas o=F9=
) mais=20
depuis, =E0 chaque installation de package, j'obtiens le message suivant :

=2D-------------
String found where operator expected at /usr/sbin/dpkg-preconfigure line 96=
,=20
near "die sprintf(gettext(""
(Might be a runaway multi-line "" string starting on line 94)
(Missing semicolon on previous line?)
Bareword found where operator expected at /usr/sbin/dpkg-preconfigure line =
96,=20
near "die sprintf(gettext("debconf"
(Do you need to predeclare die?)
Unquoted string "debconf" may clash with future reserved word=20
at /usr/sbin/dpkg-preconfigure line 96.
String found where operator expected at /usr/sbin/dpkg-preconfigure line 10=
3,=20
near "gettext(""
(Might be a runaway multi-line "" string starting on line 96)
(Missing semicolon on previous line?)
Bareword found where operator expected at /usr/sbin/dpkg-preconfigure line=
=20
104,near "$package, $confmodule"
(Might be a runaway multi-line ff string starting on line 103)
(Missing operator before dule?)
Unquoted string "dule" may clash with future reserved word=20
at /usr/sbin/dpkg-preconfigure line 104.
syntax error at /usr/sbin/dpkg-preconfigure line 96, near "die=20
sprintf(gettext(""
Unmatched right curly bracket at /usr/sbin/dpkg-preconfigure line 108, at e=
nd=20
of line
syntax error at /usr/sbin/dpkg-preconfigure line 108, near "}"
Execution of /usr/sbin/dpkg-preconfigure aborted due to compilation errors.
=2D----------------

Question : est-ce un bug de dpkg dans la sid, ou est-ce du =E0 ma mauvaise =
manip=20
lors du passage de sarge =E0 sid.
Bonus : comment r=E9parer =E7a, parce que, du coup, je n'ai plus acc=E8s =
=E0 la=20
pr=E9-configuration des packages avant installation ...

6 réponses

Avatar
François Boisson
Le Sat, 5 Feb 2005 02:39:24 +0100
"Matthias @ Little Gobelin'" a écrit:

String found where operator expected at /usr/sbin/dpkg-preconfigure
line 96, near "die sprintf(gettext(""
(Might be a runaway multi-line "" string starting on line 94)
(Missing semicolon on previous line?)



Edite le fichier /usr/sbin/dpkg-preconfigure et regarde à la ligne 94,
d'après le message, il y a une chaine de caractères non terminée...

Rajoute le «"» à la fin et ça ira mieux...
Avatar
Rapha
Le samedi 05 février 2005 à 07:34 +0100, François Boisson a écrit :
Le Sat, 5 Feb 2005 02:39:24 +0100
"Matthias @ Little Gobelin'" a écrit:

> String found where operator expected at /usr/sbin/dpkg-preconfigure
> line 96, near "die sprintf(gettext(""
> (Might be a runaway multi-line "" string starting on line 94)
> (Missing semicolon on previous line?)

Edite le fichier /usr/sbin/dpkg-preconfigure et regarde à la ligne 9 4,
d'après le message, il y a une chaine de caractères non termin ée...

Rajoute le «"» à la fin et ça ira mieux...




--( /usr/sbin/dpkg-reconfigure )--
90: if ($script eq 'config' || $is_confmodule) {
91: my $confmodule=make_confmodule(
92: "$infodir/$pkg.$script", @$info);
93:
94: $confmodule->owner($pkg);
95:
96: 1 while ($confmodule->communicate);
97:
98: exit $confmodule->exitcode if $confmodule->exitcode > 0;
99: }
---8<---

Donc, à mon avis, ça vient plutôt d'une chaîne debconf d'un fichier
présent dans /var/lib/dpkg/info/<paquet>.{pre|post}{inst|rm}.
Lequel ? Pour l'heure, bonne question...

--
Raphaël 'SurcouF' Bordet
http://debianfr.net/ | surcouf at debianfr dot net
Avatar
Rapha
Le samedi 05 février 2005 à 21:55 +0100, Raphaël 'SurcouF' B ordet a
écrit :
Le samedi 05 février 2005 à 07:34 +0100, François Boisson a écrit :
> Le Sat, 5 Feb 2005 02:39:24 +0100
> "Matthias @ Little Gobelin'" a écrit :
>
> > String found where operator expected at /usr/sbin/dpkg-preconfigure
> > line 96, near "die sprintf(gettext(""
> > (Might be a runaway multi-line "" string starting on line 94)
> > (Missing semicolon on previous line?)



[...]

Donc, à mon avis, ça vient plutôt d'une chaîne debcon f d'un fichier
présent dans /var/lib/dpkg/info/<paquet>.{pre|post}{inst|rm}.
Lequel ? Pour l'heure, bonne question...



D'après un mail[1] lu ce soir sur debian-devel, le problème devra it être
résolu. Pour ma part, je le confirme et le paquet est déjà p résent sur
mon miroir préféré. Le mail parle de la 1.4.44 alors que je viens
d'avoir la 1.4.45. En effet, la précédente correction a ét é vite écrite
et utilise mal gettext, manifestement...


[1]: http://lists.debian.org/debian-devel/2005/02/msg00254.html
--
Raphaël 'SurcouF' Bordet
http://debianfr.net | surcouf at debianfr dot net
Avatar
RTyler
Raphaël 'SurcouF' Bordet a écrit :

Le samedi 05 février 2005 à 21:55 +0100, Raphaël 'SurcouF' Bordet a
écrit :


Le samedi 05 février 2005 à 07:34 +0100, François Boisson a écrit :


Le Sat, 5 Feb 2005 02:39:24 +0100
"Matthias @ Little Gobelin'" a écrit:



String found where operator expected at /usr/sbin/dpkg-preconfigure
line 96, near "die sprintf(gettext(""
(Might be a runaway multi-line "" string starting on line 94)
(Missing semicolon on previous line?)









[...]



Donc, à mon avis, ça vient plutôt d'une chaîne debconf d'un fichier
présent dans /var/lib/dpkg/info/<paquet>.{pre|post}{inst|rm}.
Lequel ? Pour l'heure, bonne question...





D'après un mail[1] lu ce soir sur debian-devel, le problème devrait être
résolu. Pour ma part, je le confirme et le paquet est déjà présent sur
mon miroir préféré. Le mail parle de la 1.4.44 alors que je viens
d'avoir la 1.4.45. En effet, la précédente correction a été vite écrite
et utilise mal gettext, manifestement...


[1]: http://lists.debian.org/debian-devel/2005/02/msg00254.html




J'ai eu le même problème pas plus tard qu'aujourd'hui et je l'ai résolu
en enlevant un guillemet à la ligne 94.

Je te copie mon ancienne ligne :

debug user => sprintf(gettext("preconfiguring %s (%s)",$package,$version))";

et ma nouvelle ligne :

debug user => sprintf(gettext("preconfiguring %s (%s)",$package,$version));


Je me suis demandé à quoi servait le guillemet de fin. Après il fout le
bazar et toute la suite du fichier de configuration est perçue comme
étant du texte et non du script.


Par contre après je me retrouve avec une toute petite erreur (au lieu de
3-4 erreurs):

Usage: Locale::gettext::gettext(msgid) at /usr/sbin/dpkg-preconfigure
line 94

RTyler (qui espère ne pas dire de conneries)


--
Pensez
Avatar
JusTiCe8
RTyler a écrit :

J'ai eu le même problème pas plus tard qu'aujourd'hui et je l'ai
résolu en enlevant un guillemet à la ligne 94.

Je te copie mon ancienne ligne :

debug user => sprintf(gettext("preconfiguring %s
(%s)",$package,$version))";

et ma nouvelle ligne :

debug user => sprintf(gettext("preconfiguring %s
(%s)",$package,$version));


Je me suis demandé à quoi servait le guillemet de fin. Après il fout
le bazar et toute la suite du fichier de configuration est perçue
comme étant du texte et non du script.


Par contre après je me retrouve avec une toute petite erreur (au lieu
de 3-4 erreurs):

Usage: Locale::gettext::gettext(msgid) at /usr/sbin/dpkg-preconfigure
line 94



normal, gettext n'a qu'un seul argument, et là, ça en donne 3, d'où le
mécontentement de l'interpréteur. Il faut mettre le 2nd guillemet non
pas après %s)" mais entre les 2 dernière parenthèses, d'où la ligne
correcte :

sprintf(gettext("preconfiguring %s (%s),$package,$version)");

RTyler (qui espère ne pas dire de conneries)




trop tard :).

J8.


--
Pensez
Avatar
RTyler
JusTiCe8 a écrit :

RTyler a écrit :

J'ai eu le même problème pas plus tard qu'aujourd'hui et je l'ai
résolu en enlevant un guillemet à la ligne 94.

Je te copie mon ancienne ligne :

debug user => sprintf(gettext("preconfiguring %s
(%s)",$package,$version))";

et ma nouvelle ligne :

debug user => sprintf(gettext("preconfiguring %s
(%s)",$package,$version));


Je me suis demandé à quoi servait le guillemet de fin. Après il fout
le bazar et toute la suite du fichier de configuration est perçue
comme étant du texte et non du script.


Par contre après je me retrouve avec une toute petite erreur (au lieu
de 3-4 erreurs):

Usage: Locale::gettext::gettext(msgid) at /usr/sbin/dpkg-preconfigure
line 94



normal, gettext n'a qu'un seul argument, et là, ça en donne 3, d'où le
mécontentement de l'interpréteur. Il faut mettre le 2nd guillemet non
pas après %s)" mais entre les 2 dernière parenthèses, d'où la ligne
correcte :

sprintf(gettext("preconfiguring %s (%s),$package,$version)");

RTyler (qui espère ne pas dire de conneries)




trop tard :).

J8.




Moi je veux bien mais alors il faut mettre le guillemet juste après
version sinon la parenthèse du gettext se ferme avant le guillemet...
Quoiqu'il en soit il y a la version sans bug de debconf dans les
packages debian donc suffit juste de mettre à jour.


RTyler


--
Pensez