Subject: convert-ly et 2.23.7

From: Jean Louis Thiry <[email-masked]>
Date: Fri, 1 Apr 2022 15:52:28 +0200

Bonjour à tous,

Depuis quelque temps (depuis de la version 2.21.0 sur Mac/10.14.6), je n’arrive plus à utiliser la fonction convert-ly.
De la version 2.16 à 2.20 inclus, ça marche, c’est après que ça se corse et j’obtiens les messages suivants :
	
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
convert-ly (GNU LilyPond) 2.20.0
convert-ly: Processing `'...
Applying conversion: 2.20.0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/Applications/LilyPond 2.21.0-1/LilyPond.app/Contents/Resources/bin/convert-ly", line 65, in <module>
import lilylib as ly
File "/Applications/LilyPond 2.21.0-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py", line 169
print('command failed:', cmd, file=sys.stderr)
^
SyntaxError: invalid syntax
The document has not been changed.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/Applications/LilyPond 2.22.0-1/LilyPond.app/Contents/Resources/bin/convert-ly", line 81, in <module>
import convertrules
File "/Applications/LilyPond 2.22.0-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/convertrules.py", line 27, in <module>
import lilylib
File "/Applications/LilyPond 2.22.0-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py", line 30, in <module>
sys.stdin = codecs.getreader('utf8')(sys.stdin.detach())
AttributeError: 'file' object has no attribute 'detach'
The document has not been changed.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/Applications/LilyPond 2.23.6-1/LilyPond.app/Contents/Resources/bin/convert-ly", line 82, in <module>
import convertrules
File "/Applications/LilyPond 2.23.6-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/convertrules.py", line 27, in <module>
import lilylib
File "/Applications/LilyPond 2.23.6-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py", line 26, in <module>
sys.stdin = codecs.getreader('utf-8')(sys.stdin.detach())
AttributeError: 'file' object has no attribute 'detach'
The document has not been changed.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Le même dans Lilypond :
 Traceback (most recent call last):
  File "/Applications/LilyPond 2.23.6-1/LilyPond.app/Contents/Resources/bin/convert-ly", line 25, in <module>
    import io
ImportError: No module named io
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/Applications/lilypond-2.23.7/bin/convert-ly", line 3, in <module>
exec "$root/libexec/python3.9" "$root/libexec/convert-ly" "$@"
File "<string>", line 1
$root/libexec/python3.9$root/libexec/convert-ly$@
^
SyntaxError: invalid syntax
The document has not been changed.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
etc.

D’où peut venir ce problème ? j’utilise Frescobaldi (bloqué à 3.0, les versions suivantes ne marchent pas sur mon Mac, pb de “QtWebEngineProcess” non résolu et pas de nouvelles depuis un moment) ?
Lilypond ? MacOs ?

D’autre part, la version 2.23.7 a une façon différente de gérer les polices apparemment. Les polices du dossier système ne sont plus reconnues et il faut mettre des \include pour chaque police avec leur chemin d’accès.
Merci de votre aide.

Jean Louis Thiry

---

From: Jean Abou Samra <[email-masked]>
Date: Fri, 1 Apr 2022 17:10:21 +0200

Le 01/04/2022 à 15:52, Jean Louis Thiry a écrit :
> Bonjour à tous,
>
> Depuis quelque temps (depuis de la version 2.21.0 sur Mac/10.14.6), je 
> n’arrive plus à utiliser la fonction convert-ly.
> De la version 2.16 à 2.20 inclus, ça marche, c’est après que ça se 
> corse et j’obtiens les messages suivants :
> convert-ly (GNU LilyPond) *2.20.0*
> File "/Applications/LilyPond 
> *2.21.0*-1/LilyPond.app/Contents/Resources/bin/convert-ly", line 65, 
> in <module>
> import lilylib as ly
> File "/Applications/LilyPond 
> 2.21.0-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py", 
> line 169
> File "/Applications/LilyPond 
> *2.22.0*-1/LilyPond.app/Contents/Resources/bin/convert-ly", line 81, 
> in <module>
> import convertrules
> File "/Applications/LilyPond 
> 2.22.0-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/convertrules.py", 
> line 27, in <module>
> import lilylib
> File "/Applications/LilyPond 
> 2.22.0-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py", 
> line 30, in <module>
> File "/Applications/LilyPond 
> *2.23.6*-1/LilyPond.app/Contents/Resources/bin/convert-ly", line 82, 
> in <module>
> import convertrules
> File "/Applications/LilyPond 
> 2.23.6-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/convertrules.py", 
> line 27, in <module>
> import lilylib
> File "/Applications/LilyPond 
> 2.23.6-1/LilyPond.app/Contents/Resources/share/lilypond/current/python/lilylib.py", 
> line 26, in <module>
> File "/Applications/LilyPond 
> *2.23.6*-1/LilyPond.app/Contents/Resources/bin/convert-ly", line 25, 
> in <module>
> import io
> File "/Applications/lilypond-*2.23.7*/bin/convert-ly", line 3, in <module>
> D’où peut venir ce problème ? j’utilise Frescobaldi (bloqué à 3.0, les 
> versions suivantes ne marchent pas sur mon Mac, pb de 
> “QtWebEngineProcess” non résolu et pas de nouvelles depuis un moment) ?
> Lilypond ? MacOs ?

Manifestement, les scripts s'exécutent avec Python 2 alors qu'ils sont 
faits pour Python 3 depuis la version 2.21.0. Pour 2.23.7, c'est un 
script sh, donc il doit être exécuté en tant que tel, pas avec Python. 
Je parie que vous exécutez convert-ly depuis Frescobaldi. Si vous allez 
dans les préférences, je parie que vous trouverez une case « Force use 
of the tools' #! lines ». Est-ce que ça marche en la cochant ?

> D’autre part, la version 2.23.7 a une façon différente de gérer les 
> polices apparemment. Les polices du dossier système ne sont plus 
> reconnues et il faut mettre des \include pour chaque police avec leur 
> chemin d’accès.

C'est également ce qui ressort du fil « Bug markup postscript », mais la 
cause n'a pas encore été identifiée. De quels \include parlez-vous ?

Cordialement,
Jean

---

From: Jean Louis Thiry <[email-masked]>
Date: Sat, 2 Apr 2022 02:08:15 +0200

Merci pour votre réponse rapide,

> Le 1 avr. 2022 à 17:10, Jean Abou Samra <[email-masked]> a écrit :

> Manifestement, les scripts s'exécutent avec Python 2 alors qu'ils sont faits pour Python 3 depuis la version 2.21.0. Pour 2.23.7, c'est un script sh, donc il doit être exécuté en tant que tel, pas avec Python. Je parie que vous exécutez convert-ly depuis Frescobaldi. Si vous allez dans les préférences, je parie que vous trouverez une case « Force use of the tools' #! lines ». Est-ce que ça marche en la cochant ?

Je ne trouve cette case à cocher ni dans Frescobaldi, ni dans Lilypond. 
Au passage l’item “Préférences” de l’application Lilypond est toujours grisé dans toutes les versions - sur ma machine.
> C'est également ce qui ressort du fil « Bug markup postscript », mais la cause n'a pas encore été identifiée. De quels \include parlez-vous ?

J’ai fait 1001 essais genre: \include"/Library/Fonts/Americana Font Regular.otf” avec toutes sortes de noms, d’emplacements ou d’alias avec des polices otf, type1 ou ttf. 
J’ai un moment eu l’impression que certaines combinaisons fonctionnaient, mais la plupart génèrent des erreurs et la seule solution est de copier les polices dans le dossier /Applications/lilypond-2.23.7/share/lilypond/2.23.7/fonts. 
Ce qui est bizarre, c’est la quasi totalité des logiciels Mac reconnaissent - et souvent ne connaissent que - le dossier fonts du système, dans le cas présent Lilypond l’ignore complètement.

Cordialement
JL

Jean Louis Thiry

---

From: Jean Abou Samra <[email-masked]>
Date: Sun, 3 Apr 2022 16:31:56 +0200

Le 02/04/2022 à 02:08, Jean Louis Thiry a écrit :
>> Manifestement, les scripts s'exécutent avec Python 2 alors qu'ils 
>> sont faits pour Python 3 depuis la version 2.21.0. Pour 2.23.7, c'est 
>> un script sh, donc il doit être exécuté en tant que tel, pas avec 
>> Python. Je parie que vous exécutez convert-ly depuis Frescobaldi. Si 
>> vous allez dans les préférences, je parie que vous trouverez une case 
>> « Force use of the tools' #! lines ». Est-ce que ça marche en la 
>> cochant ?
>

Après lecture plus approfondie du code, cela devrait être dans Édition > 
Préférences > Préférences de LilyPond > sélectionner la version > Éditer 
 > commandes d'outils. Je ne peux pas tester car c'est une case qui 
n'apparaît que sous macOS.

Sinon, il y a toujours l'option de lancer convert-ly en ligne de commande.

> Au passage l’item “Préférences” de l’application Lilypond est toujours 
> grisé dans toutes les versions - sur ma machine.

Là, je ne peux pas aider. De toute façon, ce n'est pas bien grave 
puisque l'application « LilyPond » a disparu en 2.23.7, ce sont juste 
des binaires statiques prêtes à lancer (sans l'enrobage).

>>> reconnues et il faut mettre des \include pour chaque police avec 
>>> leur chemin d’accès.
>>
>> C'est également ce qui ressort du fil « Bug markup postscript », mais 
>> la cause n'a pas encore été identifiée. De quels \include parlez-vous ?
>
> J’ai fait 1001 essais genre: \include"/Library/Fonts/Americana Font 
> Regular.otf” avec toutes sortes de noms, d’emplacements ou d’alias 
> avec des polices otf, type1 ou ttf.
> J’ai un moment eu l’impression que certaines combinaisons 
> fonctionnaient, mais la plupart génèrent des erreurs et la seule 
> solution est de copier les polices dans le 
> dossier /Applications/lilypond-2.23.7/share/lilypond/2.23.7/fonts.

Je ne vois pas comment cela aurait une chance de fonctionner. \include 
recopie littéralement le contenu d'un fichier dans la source. Un fichier 
au format otf n'est pas de la syntaxe LilyPond valide.

> Ce qui est bizarre, c’est la quasi totalité des logiciels Mac 
> reconnaissent - et souvent ne connaissent que - le dossier fonts du 
> système, dans le cas présent Lilypond l’ignore complètement.

Là, je ne peux pas trop aider. Comme mentionné sur le fil « Bug markup 
postscript ? », j'ai soulevé la question dans le fil sur la nouvelle 
version sur la liste anglophone.

Cordialement,
Jean