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.

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

olinuxx, 14:55, mer. 19 Sep 2018: Bonjour et bienvenue à Gmanclub cool
sub26nico, 10:13, mer. 19 Sep 2018: Salut et bienvenue à thibaux :-)
jipeL, 08:34, mer. 19 Sep 2018: Bonjour à tous les musicien(nes)
olinuxx, 14:33, mar. 18 Sep 2018: Bonjour et bienvenue à Captain Holy Roger cool
sri_raoul, 15:53, lun. 17 Sep 2018: Soirée de lancement Lab Art le 9 octobre [Lien]
olinuxx, 14:15, lun. 17 Sep 2018: Bonjour et bienvenue à lbaldi ! (cool)
jipeL, 18:12, dim. 16 Sep 2018: Un nouveau morceau à écouter : [Lien]
sub26nico, 12:21, dim. 16 Sep 2018: Salut et bienvenue à diaz :-)
sub26nico, 09:50, dim. 16 Sep 2018: Salut et bienvenue à evgolk :-)
eazymaogeek, 04:03, dim. 16 Sep 2018: Bonjour à tous, un panel de fichiers .mid de batterie [Lien]
Penzignosis, 00:07, ven. 14 Sep 2018: Merci ^^ J'ai écrit un pavé en guise de présentation je crois (pavé César)
sub26nico, 23:32, jeu. 13 Sep 2018: Salut et bienvenue à Penzignosis :-)