LZK - suivi des tâches

French/français : Bienvenue sur le logiciel de suivi du projet LibraZiK. Après vous être inscrit, vous pouvez commenter les tâches ouvertes, créer de nouvelles tâches, voter pour des tâches, vous inscrire à des tâches pour être tenu au courant des évolutions,… Pensez à être le plus précis possible dans vos messages. D’avantage d’information concernant le logiciel de suivi du projet LibraZiK.

Anglais/english : Welcome to the LibraZiK project tracking software. After registering, you can comment open tasks, create new tasks, vote for tasks, register for tasks to be kept informed of developments,… Remember to be as precise as possible in your messages. More information about the LibraZiK project tracking software. Feel free to write in French or in English.

  • Status Closed
  • Percent Complete
    100%
  • Task Type Rapport de bogue
  • Category distribution → bogue logiciel
  • Assigned To
    Olivier Humbert
  • Operating System
  • Severity Low
  • Priority Very Low
  • Reported Version version 2 20171028
  • Due in Version version 3 prochaine
  • Due Date Undecided
  • Votes 2
  • Private
Attached to Project: LZK - suivi des tâches
Opened by Olivier Humbert - 17.11.2017
Last edited by Olivier Humbert - 20.06.2020

FS#256 - intégration Muse

Muse : ne fonctionne pas directement sur LibraZiK-2 alors qu’il démarre directement sur une debian stretch.
Voir pourquoi. C’est peut être librazik-optimisations-timers qui fout le foin.

À noter que muse est un hôte de greffon LV2 il me semble.

The task blocks this from closing
ID Project Summary Priority Severity Assigned To Progress
1114 LZK - suivi des tâches  FS#1114 - LZK3 : publication du 15 juillet 2020  Medium Low
100%
Closed by  Olivier Humbert
20.06.2020 17:56
Reason for closing:  Implémenté
Admin
Olivier Humbert commented on 11.12.2017 21:06
Admin
Olivier Humbert commented on 26.12.2017 18:38

L'intuition était bonne. Si on désinstalle (c'est pas bien, ne le faites pas) le paquet librazik-optimisations-timer, puis qu'on utilise la commande :

su -c "chgrp audio /dev/rtc0"

alors muse démarre (il gueule que jack l'a viré parce qu'il n'était pas assez rapide, mais il démarre)

Je continue à enquêter afin de savoir quelle est l'optimisation provenant de ce paquet qui met le foin.

Pierrick Hervé commented on 07.02.2018 23:10

erreur :

piep@x320-piep:~$ /usr/bin/muse
creating new config...
  success.
creating new qt config...
  success.
Config File </home/piep/.config/MusE/MusE.cfg>
Gtk-Message: Failed to load module "canberra-gtk-module"

(muse:11718): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « adwaita »
LOCALE fr_FR
open projectfile: Aucun fichier ou dossier de ce type
Denormal protection enabled.
Trying RTC timer...
fatal error: open /dev/rtc failed: Permission non accordée
hint: check if 'rtc' kernel module is loaded, or used by something else
Trying ALSA timer...
AlsaTimer::initTimer(): best available ALSA timer: system timer
got timer = 79
Aquired timer frequency: 250

muse affiche alors un message d'erreur :

Le timming de la fréquence source est de 250hz, ce qui est inférieur au minimum recommendé : 500hz.

je viens de regarder sur mon système. l'erreur est du aux droits sur les fichiers devices.

rappel de l'erreur :

fatal error: open /dev/rtc failed: Permission non accordée

piep@x320-piep:~$ ll /dev/hpet
crw------- 1 root audio 10, 228 févr.  6 18:22 /dev/hpet
piep@x320-piep:~$ ll /dev/rtc0
crw------- 1 root audio 252, 0 févr.  6 18:22 /dev/rtc0
piep@x320-piep:~$ ll /dev/rtc
lrwxrwxrwx 1 root root 4 févr.  6 18:22 /dev/rtc -> rtc0

le group audio ne peut pas utiliser les devices ni read, ni write (—). il lui faut rw-
donc

$ su -c "chmod g+rw /dev/hpet /dev/rtc0"

piep@x320-piep:~$ ll /dev/rtc0 /dev/hpet
crw-rw---- 1 root audio  10, 228 févr.  6 18:22 /dev/hpet
crw-rw---- 1 root audio 252,   0 févr.  6 18:22 /dev/rtc0

mais alors c'est pire. muse plante apres avoir affiché:

got timer = 79
donc à l'acces sur le device."/dev/rtc"

erreur :

--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=11802, si_uid=1000} ---
+++ killed by SIGABRT +++

extrait du strace :

open("/dev/rtc", O_RDONLY)              = 79
ioctl(79, RTC_IRQP_SET, 1024)           = 0
ioctl(79, RTC_PIE_ON)                   = 0
ioctl(79, RTC_PIE_OFF)                  = 0
getpid()                                = 11802
tgkill(11802, 11805, SIGRT_1)           = 0
getpid()                                = 11802
tgkill(11802, 11804, SIGRT_1)           = 0

setresuid(-1, 1000, -1)                 = 0
ioctl(79, RTC_IRQP_READ, [1024])        = 0
open("/dev/tty", O_RDWR|O_NOCTTY|O_NONBLOCK) = 80
writev(80, [{iov_base="*** ", iov_len=4}, {iov_base="stack smashing detected", iov_len=23}, {iov_base=" ***: ", iov_len=6}, {iov_base="/usr/bin/muse", iov_len=13}, {iov_base=" terminated\n", iov_len=12}], 5) = 58
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc7b58f4000
futex(0x7fc7c1e98110, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fc7c20b01a0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(80, "======= Backtrace: =========\n", 29) = 29

pour info j'ai lancé :

$ strace -o muse.trc /usr/bin/muse > muse.log 2>muse.err

je te joins les 3 fichiers et je continue l'enquete.

Piep

   muse.trc (1.79 MiB)
Pierrick Hervé commented on 08.02.2018 15:15

===
destination paquetage "LibraZiK 2 Timers Optimisation":
pour etre sur que les utilisateurs du group audio accedent bien a /dev/rtc0 et /dev/hpet

changement sur le fichier /lib/udev/rules.d/40-timer-permissions.rules
de

KERNEL=="rtc0", GROUP="audio"
KERNEL=="hpet", GROUP="audio"

à

KERNEL=="rtc0", GROUP="audio", MODE="0660"
KERNEL=="hpet", GROUP="audio", MODE="0660"

===
pour info :
muse 2.1.2 ne plante plus si on met

/sys/class/rtc/rtc0/max_user_freq à 512

mais le timer n'est pas utlisé.

Pierrick Hervé commented on 09.02.2018 13:32

ce qui donne après reboot un acces en r/w pour le group audio

$ ls -l /dev/hpet /dev/rtc*
crw-rw---- 1 root audio  10, 228 févr.  9 11:54 /dev/hpet
lrwxrwxrwx 1 root root         4 févr.  9 11:54 /dev/rtc -> rtc0
crw-rw---- 1 root audio 252,   0 févr.  9 11:54 /dev/rtc0

conclusion:
muse 2.1.2 semble bien bugué sur l'acces au timer /dev/rtc

muse 2.2.1

http://muse-sequencer.org/index.php/Download indique a https://sourceforge.net/projects/lmuse/files/

la derniere version "dite stable" de muse est la muse-2.2.1.tar.gz
mais impossible de compiler proprement cette archive avec GCC/G++ 6
(des warnings dans tous les sens et à la fin un plantage à a compil.
J'ai bien patché qq fichiers mais le travail est bien trop long… J'ai abandonné la compilation de la version 2.2.1

J'ai trouvé une version GCC5 sur kxstudio
https://launchpad.net/~kxstudio-debian/+archive/ubuntu/apps/+build/6759684 wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos-gcc5_9.4.9~kxstudio1_all.deb

mais elle plante sauvagement et n'arrive pas de toute façon a gerer le timer RTC non plus.

message d'erreur:

RtcTimer::setTimerFreq(): cannot set freq 8192 on /dev/rtc: Permission non accordée
  precise timer not available, check file permissions and allowed RTC freq (/sys/class/rtc/rtc0/max_user_freq)
AlsaTimer::initTimer(): best available ALSA timer: system timer
convoLV2: samplerate mismatch preset:48000 host:44100

extrait du strace:

open("/dev/rtc", O_RDONLY)              = 82  --> le device est bien ouvert en READ
ioctl(82, RTC_IRQP_SET, 8192)           = -1 EACCES (Permission denied)
write(2, "RtcTimer::setTimerFreq(): cannot"..., 85) = 85
write(2, "  precise timer not available, c"..., 111) = 111
close(82)                               = 0

normal avec sys/class/rtc/rtc0/max_user_freq à 3072
mais impossible de mettre 8192 dans /sys/class/rtc/rtc0/max_user_freq
donc j'ai arreté mes tests avec muse 2.2.1

conclusion:
muse 2.2.1 semble aussi bien bugué sur l'acces au timer /dev/rtc et autre

muse 3.0.2

donc je me suis rabatu sur muse 3.0.2.
https://github.com/muse-sequencer/muse/

https://github.com/muse-sequencer/muse/blob/master/muse3/README

cette version se compile nickel. marche nickel.
mais aucun acces a /dev/rtc dans les traces meme en changeant la frequence de le menu de configuration de muse3.
donc le probleme apparu dans la version 2.1.2 n'existe plus dans la version 3.0.2

conclusion:
je pense donc qu'il serait bien de proposer la mise a jour vers muse 3.0.2

Librement,
Pierrick

Admin
Olivier Humbert commented on 03.09.2018 18:29

Il n'y a pas encore de paquet 3.x chez Debian.
Une demande a été ouverte en janvier ici : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887794

Pierrick Hervé commented on 06.09.2018 13:45

jz n'ai pas bien compris le fonctionnement. tu attends qu'il existe un paquet debian ?
mais parfois tu fais des paquets alors qu'il n'y a pas de paquet debian.

Admin
Olivier Humbert commented on 07.09.2018 13:12

Oui, parfois, je fais des paquets moi-même, parfois je fais des rétroportages depuis debian/sid, des fois je fais des adaptions/reconstructions en prenant comme base des paquets PPA ubuntu/kxstudio/…, il y a plusieurs méthodes.

Dans le cas de Muse :
- je ne l'utilise pas personnellement
- je n'ai pas de demande de la part d'utilisateurs de LZK et ne connaît pas d'utilisateur de LZK-2 l'utilisant
- c'est un empaquetage que je ne connais pas bien et qui me semble un peu plus compliqué qu'à l'habitude

Du coup, je me dis que ce n'est pas une grosse priorité pour l'instant surtout qu'il y a déjà une version (plus ancienne) disponible.

Admin
Olivier Humbert commented on 02.09.2019 07:55

Des paquets de la version 3 sont dispo chez Debian, voir si on peut les rétroporter.

Pierrick Hervé commented on 10.06.2020 22:32

ok . alors pour la version 3.0.2 de debian, j'ai modifié la build car dans l'onglet audio On ne pouvait pas changer JACK.

muse (3.0.2+ds1-2librazik1) buster; urgency=medium

  * Non-maintainer upload
  * upload from testing 
  * debian/control
    - add Build-Depends:libinstpatch-dev, liblash-compat-dev, librtaudio-dev
    - add Build-Depends:libgtkmm-2.4-dev, libpython3-dev
    - add Depends:${python:Depends} (lintian)
    - downgrade Standards-Version number from 4.4.1 to 4.3.0 (lintian)
  * debian/compat
    - set to 12

 -- Pierrick Hervé <piep@liness.org>  Sat, 30 May 2020 01:01:22 +0100
Pierrick Hervé commented on 10.06.2020 22:44

mais j'ai aussi construit la version 3.1.
- les "le saviez vous" sont en Anglais
- le fichier de doc pdf est en gz (??) alors l'appli ne peut pas le lire; MusE se repporte alors sur le fichier html (qu'il ne trouve pas mais j'ai fait un patch pour que MusE trouve le fichier html.
- lintian n'est pas super content… mais j'ai du mal avec Python…

je refais un build et je t'envoie le fichier…il faut que je vire ' - add Depends:pyro4' car je ne construis pas avec la partie Python experimentale déconseillée.

le Chanlelog va ressembler à ça :

muse (3.1-0librazik1) buster; urgency=medium

  * New upstream release.
  * debian/control
    - debhelper (>= 12~)
    - add Build-Depends:liblrdf0-dev
    - add Depends:pyro4
  * Refresh debian/patches/0001-Use-a-more-consistent-versioning.patch
  * Refresh debian/patches/0002-Add-f-option-to-desktop-file-Exec-key.patch
  * debian/patches/0003-Fixes-compile-issue-with-QButtonGroup.patch
    - deleted. files patched no longer exist in source tree
  * debian/patches/0004-Added-missing-includes-needed-by-newer-Qt-5.11.patch
    - deleted. patched upstream
  * debian/patches/0005-Python-3-porting.patch
    - renamed to debian/patches/0003-Python-3-porting.patch
    - But ENABLE_PYTHON is OFF because \ 
      Enable experimental python control support is not recommended
  * debian/patches/0001-fluidsynth-Follow-API-change-introduced-in-fluidsynt.patch
    - deleted. patched upstream
  * debian/patches/0004-help-html.patch
    - new patch to access to local html doc
  * debian/patches/series
    - updated with quilt


 -- Pierrick Hervé <piep@liness.org>  Sat, 30 May 2020 12:10:33 +0100
Admin
Olivier Humbert commented on 19.06.2020 19:31

Une version 3.0.2+ds1-2librazik1 est disponible dans testers.
@piep : j'ai repris ton debian.tar.xz, et y ai ajouté des trucs. J'ai également enlevé le " - add Depends:${python:Depends} (lintian)" car lintian ne m'a rien signalé en ce sens au debuild.

Retours bienvenus avant de le pousser dans users.

PS : https://mastodon.xyz/@LibraZiK/104372312010964700

Admin
Olivier Humbert commented on 20.06.2020 17:56

Pages créées :

Liée dans :

C'est tout bon du coup.
Je viens de le passer dans users.
Je ferme ici du coup.

PS : https://mastodon.xyz/@LibraZiK/104377553631975352

@piep : je te laisse ouvrir un autre sujet pour la version 3.1 . L'idée est que 3.0.2 est supportée par Debian, donc il ne devrait pas y avoir des gros couacs dans ce paquet à priori. Par contre, si on met une version 3.1, il faut la tester nous-même et faire le support nous-même également. Je préfère donc faire ça de manière séparée.

Pierrick Hervé commented on 21.06.2020 14:16

ok . bien reçu. je vai tester cette version 3.0.2 .

J'ai avancé sur la version 3.1 en creant une version +fr qui met le didyouknomwit.txt en français. (ref les "le saviez vous" sont en Anglais). donc meme si la doc html reste en Anglais. Au moins les "le saviez vous?" sont en français.
Mais ce sera pour un nouveau chapitre.

Merci

Pierrick Hervé commented on 22.06.2020 00:28

je viens de faire un premier test de la MusE 3.0.2.
il y le meme problème que sur la version debian.
impossible de mettre autre chose que Jack dans les parametres audio.
et il y des erreurs dans les log du build. je ne les ai plus en tete mais la solution est :

d'ajouter : dans debian/control Build-Depends:
libinstpatch-dev,
liblash-compat-dev,
librtaudio-dev,
libgtkmm-2.4-dev

merci

Pierrick Hervé commented on 22.06.2020 08:23

pour etre plus précis voici les problèmes trouvé dans le ".build"

-- Some or all of the gtkmm libraries were not found. (missing: GTK2_GTKMM_LIBRARY GTK2_GTKMM_INCLUDE_DIR GTK2_GTKMMCONFIG_INCLUDE_DIR GTK2_GDKMM_INCLUDE_DIR GTK2_GDKMMCONFIG_INCLUDE_DIR GTK2_GDKMM_LIBRARY GTK2_GLIBMM_INCLUDE_DIR GTK2_GLIBMMCONFIG_INCLUDE_DIR GTK2_GLIBMM_LIBRARY) 
.../...
-- Checking for module 'libinstpatch-1.0'
--   No package 'libinstpatch-1.0' found
.../...
** WARNING: rtaudio (>= 4.0) was enabled, but development files were not found. 
** WARNING: lash (>= 0.2) was enabled, but development files were not found. 
** HINT: Don't have LASH? Try installing the LADISH LASH compatibility package instead.
** WARNING: libinstpatch (>= 1.0) was enabled, but development files were not found.
   Automatic drum lists for fluidsynth MESS plugin will not be available.
** WARNING: LV2 GTK2 support is enabled, but Gtk2 (gtkmm-2, gtk+-2) development files were not found. LV2 Gtk2 UI support is disabled.


The following components will be built:
-----------------------------------------------
   ALSA support
   OSC (Liblo) support
   DSSI support
   LV2 support
   Native VST support
   Fluidsynth support

The following components WILL NOT be built:
-----------------------------------------------
   RTAudio support
   Lash support
   Python support
   LV2 Gtk2 UI support
   Instpatch support
   Experimental features

à part Python support et Experimental features.
on résoud les autres pb avec :

Build-Depends:
libinstpatch-dev,
liblash-compat-dev,
librtaudio-dev,
libgtkmm-2.4-dev 

tu vois . les paquets debian ne sont pas parfait…

Pierrick Hervé commented on 22.06.2020 08:50

cela résoud (entre autre) un problème sur l'interface graphique.

pas de réglage possible dans

Réglage de MusE –> Paramètres généraux –> onglet Audio –> Audio backend

Pierrick Hervé commented on 22.06.2020 12:41

et pour le probleme de l'Aide HTML not found :
/usr/share/doc/muse//muse_html/single/documentation/index.html

voici le contenue du patch que j'ai créé pour MusE 3.1

$ cat patches/0004-help-html.patch 
--- a/muse/help.cpp
+++ b/muse/help.cpp
@@ -73,9 +73,9 @@
 
       if(!pdffound)
       {
-        museHelp = DOCDIR + QString("/muse_html/single/documentation/index_") + lang + QString(".html");
+        museHelp = DOCDIR + QString("/html/index_") + lang + QString(".html");
         if (access(museHelp.toLatin1(), R_OK) != 0) {
-              museHelp = DOCDIR + QString("/muse_html/single/documentation/index.html");
+              museHelp = DOCDIR + QString("/html/index.html");
               if (access(museHelp.toLatin1(), R_OK) != 0) {
                     QString info(tr("No help found at: "));
                     info += museHelp;

à adapter donc pour 3.0.2

pour avoir des détails tu lances : /usr/bin/muse -d
et tu vois que, quand tu cliques sur Aide, le fichier PDF n'est pas accessible (puisque compressé par le paquetage) et donc MusE cherche le fichier HTML.
Je n'ai pas cherché à comprendre pourquoi et comment le fichier PDF est compressé.
J'ai préféré patcher l’accès au fichier index.html.

Admin
Olivier Humbert commented on 22.06.2020 23:04

Tu as bien fait de vérifier, j'avais noté l'ajout des dépendances de construction dans le changelog, mais pas dans le debian/control. Version 3.0.2+ds1-2librazik2 dispo dans users du coup.

J'ai également ajouté la rustine pour le raccourcis vers l'aide HTML.

J'en ai profité pour ajouter le lien vers le PDF dans la page de Muse : https://librazik.tuxfamily.org/doc3/logiciels/muse#ressources.

PS : https://mastodon.xyz/@LibraZiK/104390122029753630.

tu vois . les paquets debian ne sont pas parfait…

Correct. Rien n'est jamais parfait. La perfection n'est qu'une vue de l'esprit pourrait-on dire, n'est-ce pas ?
Qu'est-ce qui t'a(vai)s fait croire que les paquets debian étaient parfaits ?
Je ne l'ai personnellement jamais cru, et encore moins depuis que j'empaquette des tas de logiciels et que j'ai donc mis les doigts dedans !
Au passage, ça serait super si tu faisais remonter ces améliorations chez Debiann, ça permettrait d'améliorer la qualité du paquet Debian.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing