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]


MisterPhilip

Mégaphone [Afficher / Cacher]

sub26nico, 11:00, sam. 17 Nov 2018: Salut et bienvenue à danger89 et Tylun :-)
sub26nico, 01:15, sam. 17 Nov 2018: Salut et bienvenue à ramblingpedro :-)
sub26nico, 17:56, ven. 16 Nov 2018: Salut et bienvenue à Dinosor :-)
sub26nico, 14:37, ven. 16 Nov 2018: @pierrotlo, bien-revenue :-)
olinuxx, 14:30, ven. 16 Nov 2018: Content de te revoir dans le coin @pierrotlo !
sub26nico, 13:55, ven. 16 Nov 2018: Le 'moteur' de Tracktion est désormais 'ouvert' : [Lien]
pierrotlo, 11:45, ven. 16 Nov 2018: Re salut tous, après une absence de presqu'un an, me voici de retour
l_d_v_c, 20:41, jeu. 15 Nov 2018: Sinon je change de système d'exploitation pour IcareOS Desktop (afin de faire fonctionner les programmes Amiga sur PC). JE VEUX LE TRACKER MIDI / WAV ! :-)
l_d_v_c, 19:59, jeu. 15 Nov 2018: Le programmeur Teijo Kinnunen ayant écrit OctaMED Sound Studio a fait une version pour PC sous Windows, j'espère que cela fonctionne sous Wine...
l_d_v_c, 19:29, jeu. 15 Nov 2018: Voici un article de présentation d'OctaMED soundstudio : [Lien]
l_d_v_c, 19:24, jeu. 15 Nov 2018: Je vais essayer d'écrire au programmeur de octamed soundstudio afin qu'il nous le porte pour GNU/Linux ... Car c'est ce logiciel que je veux et les autres ne me servent à rien à part Audacity.
l_d_v_c, 19:20, jeu. 15 Nov 2018: @olinuxx je me suis réécouté plein de modules qu'il y avait sur Amiga et je me suis souvenu de la puissance d'un Amiga et c'est pour ça que j'ai dérapé en Amiga power...(en hommage à la puissance et l'efficience des Amiga)...