Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

7 - Développer/Traduire/Documenter/Annoncer une application

> Forums de discussion > 7 - Développer/Traduire/Documenter/Annoncer une application > minicomputer est-il encore fonctionnel ? (était "ne compile pas sous debian stretch")
Dernier post

minicomputer est-il encore fonctionnel ? (était "ne compile pas sous debian stretch")

olinuxx utilisateur non connecté France
minicomputer ne compile pas sous debian stretch.

Dépendances de construction installées : libasound2-dev, libfltk1.1-dev, libjack-jackd2-dev, liblo-dev, et scons.


Les messages de la console disent :
$ scons
scons: Reading SConscript files ...
 
Minicomputer-------------- 
-                     1/2:configuring
Checking for C library jack... yes
Checking for C library lo... yes
Checking for C library asound... yes
Checking for C library pthread... yes
-                    checking dependencies for the editor:
Checking for C library lo... yes
Checking for C++ library fltk... yes
Checking for C library asound... yes
Checking for C library pthread... yes
-                     2/2:compiling
-                     building the engine:

-                     building the editor:
scons: done reading SConscript files.
scons: Building targets ...
gcc -o cpu/main.o -c -g -O3 -msse -fwhole-program -ftree-vectorize -ffast-math -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fprefetch-loop-arrays -mfpmath=sse cpu/main.c
cpu/main.c: In function 'main':
cpu/main.c:1285:2: warning: 'jack_client_new' is deprecated [-Wdeprecated-declarations]
  client = jack_client_new(jackName);
  ^~~~~~
In file included from cpu/main.c:21:0:
/usr/include/jack/jack.h:127:17: note: declared here
 jack_client_t * jack_client_new (const char *client_name) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                 ^~~~~~~~~~~~~~~
g++ -o editor/Memory.o -c -O3 -Wall -fmessage-length=0 editor/Memory.cpp
editor/Memory.cpp: In constructor 'Memory::Memory()':
editor/Memory.cpp:55:23: error: 'R_OK' was not declared in this scope
    if (access(folder, R_OK) != 0)
                       ^~~~
editor/Memory.cpp:55:27: error: 'access' was not declared in this scope
    if (access(folder, R_OK) != 0)
                           ^
editor/Memory.cpp: In member function 'void Memory::save()':
editor/Memory.cpp:183:22: error: 'R_OK' was not declared in this scope
  if (access(kommand, R_OK) == 0) // check if there a previous file which need to be backed up
                      ^~~~
editor/Memory.cpp:183:26: error: 'access' was not declared in this scope
  if (access(kommand, R_OK) == 0) // check if there a previous file which need to be backed up
                          ^
editor/Memory.cpp: In member function 'void Memory::saveMulti()':
editor/Memory.cpp:489:22: error: 'R_OK' was not declared in this scope
  if (access(kommand, R_OK) == 0) // check if there a previous file which need to be backed up
                      ^~~~
editor/Memory.cpp:489:26: error: 'access' was not declared in this scope
  if (access(kommand, R_OK) == 0) // check if there a previous file which need to be backed up
                          ^
scons: *** [editor/Memory.o] Error 1
scons: building terminated because of errors.


J'ai envoyé un message à son auteur.

jpcima utilisateur non connecté France
Une inclusion unistd.h en tête de fichier devrait faire l'affaire.

cf. man 3 access

olinuxx utilisateur non connecté France
Merci Jean-Pierre, c'était bien ça, la construction a pu continuer.

Maintenant, je tombe sur un autre type de problème :

scons: Reading SConscript files ...
 
Minicomputer-------------- 
-                     1/2:configuring
Checking for C library jack... yes
Checking for C library lo... yes
Checking for C library asound... yes
Checking for C library pthread... yes
-                    checking dependencies for the editor:
Checking for C library lo... yes
Checking for C++ library fltk... yes
Checking for C library asound... yes
Checking for C library pthread... yes
-                     2/2:compiling
-                     building the engine:

-                     building the editor:
scons: done reading SConscript files.
scons: Building targets ...
gcc -o cpu/main.o -c -g -O3 -msse -fwhole-program -ftree-vectorize -ffast-math -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fprefetch-loop-arrays -mfpmath=sse cpu/main.c
cpu/main.c: In function 'main':
cpu/main.c:1285:2: warning: 'jack_client_new' is deprecated [-Wdeprecated-declarations]
  client = jack_client_new(jackName);
  ^~~~~~
In file included from cpu/main.c:21:0:
/usr/include/jack/jack.h:127:17: note: declared here
 jack_client_t * jack_client_new (const char *client_name) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                 ^~~~~~~~~~~~~~~
g++ -o editor/Memory.o -c -O3 -Wall -lm -fmessage-length=0 editor/Memory.cpp
g++ -o editor/main.o -c -O3 -Wall -lm -fmessage-length=0 editor/main.cpp
editor/main.cpp: In function 'int main(int, char**)':
editor/main.cpp:284:6: warning: unused variable 'err' [-Wunused-variable]
  int err = pthread_create(&midithread, NULL, midiprocessor,seq_handle);
      ^~~
In file included from editor/main.cpp:28:0:
editor/syntheditor.h: At global scope:
editor/syntheditor.h:121:22: warning: 'idata_miniMini' defined but not used [-Wunused-variable]
 static unsigned char idata_miniMini[] =
                      ^~~~~~~~~~~~~~
g++ -o editor/syntheditor.o -c -O3 -Wall -lm -fmessage-length=0 editor/syntheditor.cxx
editor/syntheditor.cxx: In function 'void storemulti(Fl_Widget*, void*)':
editor/syntheditor.cxx:1265:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if ((t!=currentmulti) && (t>-1) && (t<128))
        ~^~~~~~~~~~~~~~
g++ -o minicomputer editor/main.o editor/Memory.o editor/syntheditor.o -llo -lfltk -lasound -lpthread
gcc -o minicomputerCPU cpu/main.o -ljack -llo -lasound -lpthread
/usr/bin/ld: cpu/main.o: undefined reference to symbol 'cos@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
scons: *** [minicomputerCPU] Error 1
scons: building terminated because of errors.


J'ai eu un problème similaire lorsque j'ai empaqueté le logiciel tap-reverbed, voir le sujet : [RÉSOLU] tap-reverbed ne compile plus sur Debian Stretch.

Je suis donc parti sur l'idée qu'il fallait ajouter un "-lm" à LDFLAGS pour que la compilation passe mais ai échoué pour l'instant après avoir fait plusieurs essais dans le fichier SConstruct.

Une idée ?

jpcima utilisateur non connecté France
J'y connais trop rien à scons, néanmoins j'ai réussi à faire une compilation, et voici une rustine.

https://git.io/fwluS

olinuxx utilisateur non connecté France
Merci encore.

Pour ma culture personnelle, comment as-tu fait/deviné le fait qu'il fallait utiliser LIBS plutôt que LDFLAGS (ce que j'avais essayé mais qui ne fonctionnait pas) ?

C'est à dire :
env.Append(LIBS = ['-lm'])
guienv.Append(LIBS = ['-lm'])

plutôt que :
env.Append(LDFLAGS = ['-lm'])
guienv.Append(LDFLAGS = ['-lm'])



Alors, résultat des courses, la GUI démarre, il y a un port midi-in, mais le binaire ne crée pas de port jack audio. J'en suis là.

jpcima utilisateur non connecté France
Citation :
Pour ma culture personnelle, comment as-tu fait/deviné le fait qu'il fallait utiliser LIBS plutôt que LDFLAGS (ce que j'avais essayé mais qui ne fonctionnait pas) ?


Sincèrement je n'ai pas su trouver l'information utile dans le manuel de scons, alors j'ai cherché celle-ci dans le code source. https://git.io/fwDCB

Citation :
Alors, résultat des courses, la GUI démarre, il y a un port midi-in, mais le binaire ne crée pas de port jack audio. J'en suis là.


As-tu observé que le programme se compose de deux processus?
La sortie console met en évidence que `minicomputer` lance `minicomputerCPU`, et que manifestement ces 2 sont respectivement l'interface et le moteur de synthèse.

Quand `minicomputerCPU` ne fait pas partie du `PATH` j'ai ça :
sh: minicomputerCPU: command not found

Mais une fois réglé le port Jack apparait bien.


Pour autant, j'ai pas réussi à comprendre comment en faire sortir du son. (pourtant j'ai bien lancé le script installpresets)

olinuxx utilisateur non connecté France
Ah oui, bien vu pour les infos dans les sources de scons !

Pour minicomputer, oui j'ai vu qu'il y a 2 binaires (minicomputer et minicomputerCPU). Les 2 sont installés dans /usr/bin ici (donc dans le PATH).

Les fichiers de préréglages sont bien installés dans le répertoire ~/.miniComputer/ mais, malgré cela, je n'ai pas de port audio JACK. J'ai juste un port MIDI-in "miniEditor7770".

En laçant minicomputer depuis un terminal, j'ai ça :
$ minicomputer
minieditor version 1.41
loading /home/moi/.miniComputer/minicomputerMemory.txt

osc port 7770
minicomputer version 1.41
osc port 7770
liblo server error 9904 in path (null): cannot find free port
minicomputer
options are:
 -bg2 color
 -bg color
 -di[splay] host:n.n
 -dn[d]
 -fg color
 -g[eometry] WxH+X+Y
 -i[conic]
 -k[bd]
 -na[me] classname
 -nod[nd]
 -nok[bd]
 -not[ooltips]
 -s[cheme] scheme
 -ti[tle] windowtitle
 -to[oltips]



Je continue de chercher.

bda utilisateur non connecté France
Salut,
désolé de déterrer ce sujet mais j'arrive à faire fonctionner minicomputer.

Il faut l'installer avec sudo scons install (dans /usr/local sinon il ne marche pas chez moi non plus)
Installer les fichier ".txt" depuis factoryPresets dans ~/.miniComputer/

Ensuite il apparaît dans qjackctl via a2jmimid (c'est impératf pour mon clavier MIDI).

un simple "minicomputer" dans un terminal le lance. Il fonctionne très bien chez moi.

Je pense (à vérifier) que le chemin d'accès vers minicomputerCPU est en dur dans les sources.

Son défaut vient de son interface peu lisible, en particulier sur mon écran HiDPI.

Mais il pourrait correspondre à ce que je cherche ici.

Si il me convient, j'essaierai de le compiler sur Raspberry Pi. Ça peut peut être faire un bon petit synthé bien crade comme j'aime ;)

bda utilisateur non connecté France
Je n'avais pas bien regardé ton post olinuxx. As-tu essayé avec minicomputer -port 9000 comme décrit dans la doc?

olinuxx utilisateur non connecté France
Ouep, pareil malheureusement, je n'ai pas de ports jack audio en sortie.

Voilà pour l'IGU que j'obtiens, et pour la vue dans catia :
Image
Image

bda utilisateur non connecté France
As tu essayé avec qjackctl? Je n'utilise pas catia...
Je suis sous Debian Testing.
Et je n'utilise pas pulse non plus (mais apulse).

Voilà ce que j'obtiens:
bruno@awalee ~ $ minicomputer
minieditor version 1.41
loading /home/bruno/.miniComputer/minicomputerMemory.txt

osc port 7770
minicomputer
options are:
 -bg2 color
 -bg color
 -di[splay] host:n.n
 -dn[d]
 -fg color
 -g[eometry] WxH+X+Y
 -i[conic]
 -k[bd]
 -na[me] classname
 -nod[nd]
 -nok[bd]
 -not[ooltips]
 -s[cheme] scheme
 -ti[tle] windowtitle
 -to[oltips]
minicomputer version 1.41
osc port 7770

La fenêtre de qjackctl:
Image

L'interface de minicomputer est identique à la tienne mais illisible car trop petite pour mon écran.

olinuxx utilisateur non connecté France
Oui, c'est la même chose avec qjackctl, pas de port de connexion audio pour minicomputer malheureusement.

bda utilisateur non connecté France
Trouvé :-)
Il ne marche qu'avec jack0. Je n'ai (sur PC et Rpi) aucun port audio avec jackd2.
Il y a une erreur dans le terminal:
jack_client_new: deprecated
jack_port_get_buffer called with an incorrect port 0 (répétée 4 fois)


Je ne me souviens plus pourquoi j'avais installé jackd0 au lieu de jackd2...
Je vais regarder si c'est compliqué ou non de l'adapter à jackd2.

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

sub26nico, 23:45, dim. 17 Feb 2019: Salut et bienvenue à Idem44/444, accord0705 et DuaneEddy :-)
sub26nico, 21:21, ven. 15 Feb 2019: Salut et bienvenue à LYRISSE :-)
sub26nico, 22:20, mer. 13 Feb 2019: Salut et bienvenue à Dens1, PascalP et Asdipeck :-)
sub26nico, 09:22, mer. 13 Feb 2019: Salut et bienvenue à petitpatapon :-)
sub26nico, 11:39, lun. 11 Feb 2019: Salut et bienvenue à saturnin51 :-)
sub26nico, 22:48, dim. 10 Feb 2019: Salut et bienvenue à bobjpg :-)
happykozac, 14:31, sam. 09 Feb 2019: Merci Sub26nico et encore bravo pour votre travail fort utile.
sub26nico, 14:22, sam. 09 Feb 2019: Salut et bienvenue à happykozac :-)
sub26nico, 15:34, ven. 08 Feb 2019: Salut Vanillechoco, bienvenue à toi et merci pour ton message :-)
Vanillechoco, 09:49, ven. 08 Feb 2019: Salut et merci pour tout, votre travail est super!
Sasaki, 22:26, jeu. 07 Feb 2019: le développement de freewheeling reprend du poil de la bête avec la correction d'un gros bug de compatibilité avec fluidsynth ! [Lien]
bluedid29, 22:00, jeu. 07 Feb 2019: Merci pour l'édito, top ! :-)