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

6 - Le MIDI

> Forums de discussion > 6 - Le MIDI > Linux pSeudo MIDI Input - problème de compilation
Dernier post

Linux pSeudo MIDI Input - problème de compilation

Sasaki utilisateur non connecté
Salut, dans la même veine que midijoystick j'ai trouvé celui-ci

http://lsmi-all.sourceforge.net/

qui permet d'utiliser son vieux clavier ou sa vielle souris en tant que contrôleur midi. Il a aussi une option pour les joysticks et les Monterey International MK-9500 / K617W reversible keyboard.

J'ai créé un nouveau fil de forum plutôt que de continuer dans midijoystick pour aller avec la page wiki que je vais créer dans la foulée. Je suis actuellement en train de lire le README et la compilation paraît un peu compliquée : il faut s'assurer que le bon kernel et les bons headers alsa-lib sont installés (mais le readme ne dit pas lesquels) et il faut donner au soft les droits d'accès aux fichiers dans /dev/input.

Je vais essayer de compiler ça, mais je vais certainement me planter très vite, alors toute aide sera appréciée ;-)

olinuxx utilisateur non connecté France
Super cette nouvelle page !

Sasaki utilisateur non connecté
J'ai réussi à localiser le paquet (libasound2-dev) qui contient les fichiers nécéssaires à la compilation et j'ai indiqué cela sur la page wiki : Linux pSeudo MIDI Input .

Je bloque à l'étape suivante comme ceci :

sudo make 

cc -g -Wall -pedantic -lasound    lsmi-keyhack.c seq.o sig.o   -o lsmi-keyhack
/tmp/ccPkZsZP.o : Dans la fonction « clean_up » :
/home/pikachu/Bureau/lsmi/lsmi-keyhack.c:239 : référence indéfinie vers « snd_seq_close »
/tmp/ccPkZsZP.o : Dans la fonction « main » :
/home/pikachu/Bureau/lsmi/lsmi-keyhack.c:617 : référence indéfinie vers « snd_seq_parse_address »
/home/pikachu/Bureau/lsmi/lsmi-keyhack.c:620 : référence indéfinie vers « snd_seq_connect_to »
seq.o : Dans la fonction « open_client » :
/home/pikachu/Bureau/lsmi/seq.c:19 : référence indéfinie vers « snd_seq_open »
/home/pikachu/Bureau/lsmi/seq.c:22 : référence indéfinie vers « snd_seq_set_client_name »
seq.o : Dans la fonction « open_output_port » :
/home/pikachu/Bureau/lsmi/seq.c:32 : référence indéfinie vers « snd_seq_create_simple_port »
seq.o : Dans la fonction « send_event » :
/home/pikachu/Bureau/lsmi/seq.c:48 : référence indéfinie vers « snd_seq_event_output_direct »
collect2: error: ld returned 1 exit status
make: *** [lsmi-keyhack] Erreur 1


J'avais cette même erreur pour chacun des modules du soft : monterey, joystick et mouse. Je les ai retirés du makefile pour voir, car seul m'intéresse le keyhack pour l'instant, mais il y a toujours ce problème de référence indéfinie... Je sais pas ce que ça veut dire.

Edit : Un indice ici : https://openclassrooms.com/forum/sujet/gcc-references-indefinies-42195

Il semblerait qu'une librairie n'ait pas été "linkée" correctement et qu'il faille la linker dans la ligne de commande au départ. Si quelqu'un peut m'aider à adapter ça à la situtation...

Sasaki utilisateur non connecté
Bon je suis un peu perdu :

si j'en crois ce qu'il y a indiqué ici https://www.developpez.net/forums/d1424230/general-developpement/programmation-systeme/linux/gtk/reference-indefinie-vers/ il faudrait compiler avec gcc en utilisant l'argument -i suivi du répertoire où se trouvent les librairies appropriées (en grand nombre si j'en crois les différents #include présents dans les fichiers.c du soft)

OR il y a un makefile, qui si j'ai bien compris l'openclassroom sur gcc, est une simplification de gcc, pour éviter d'avoir à se taper toutes les commandes de compilation. Donc on ne devrait pas faire

gcc -g -wall -pedantic -i /usr/include etc. (je sais pas ce qu'il faut mettre après)


mais un simple make devrait suffire, le développeur est censé indiquer les références aux bonnes librairies dans son makefile.

Le voici,:

LIBS=-lasound
CFLAGS=-g -Wall -pedantic $(LIBS)

.PHONY : clean all

BINS=lsmi-monterey lsmi-joystick lsmi-mouse lsmi-keyhack 

all: $(BINS)

clean:
	rm -f $(BINS)

seq.o: seq.c seq.h

sig.o: sig.c

OBJS=seq.o sig.o

lsmi-monterey: lsmi-monterey.c $(OBJS)

lsmi-joystick: lsmi-joystick.c $(OBJS)

lsmi-mouse: lsmi-mouse.c $(OBJS)

lsmi-keyhack: lsmi-keyhack.c $(OBJS)

install: $(BINS)
	install $(BINS) /usr/local/bin


Le makefile définit bien la valeur LIBS dès le début, alors pourquoi diable quand on compile il ne trouve pas ???

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

olinuxx, 15:36, mar. 07 Jul 2020: Bonjour et bienvenue à Moona cool
olinuxx, 15:42, lun. 06 Jul 2020: Bonjour et bienvenue à smellycat cool
allany, 21:11, dim. 05 Jul 2020: Trop fort, R-oooouane !
r1, 20:56, dim. 05 Jul 2020: Ce ne sont pas des nigauds, la bande de l'édito \o/ !
allany, 18:09, dim. 05 Jul 2020: C'est pas la bande à Bonnot, c'est la bande de l'édito ! [Lien]
GypsyPlayer, 10:33, ven. 03 Jul 2020: Merci Olinuxx ! J'épluche le site depuis maintenant 2-3 jours, y a plein plein d'infos c'est top !
olinuxx, 10:57, jeu. 02 Jul 2020: Bonjour et bienvenue à GypsyPlayer cool
olinuxx, 13:34, mer. 01 Jul 2020: Bonjour et bienvenue à nevastech cool
farvardin, 10:29, mer. 01 Jul 2020: @Sahaathyva original comme outil ! Un piano roll pour du chiptune à la place du traditionnel tracker. Pas mal du tout !
pierrotlo, 09:12, mer. 01 Jul 2020: Salut tous. Pour les nostalgiques ou les curieux. Quasar Beach a développé un clone du mythique Fairlight CMI IIx. [Lien] ça tourne sous Linux
r1, 23:49, mar. 30 Jun 2020: @Sahaathyva merci pour le tuyau et c'est sous license MIT : [Lien] par contre du c# :-D
Sahaathyva, 23:02, mar. 30 Jun 2020: Pour les amateurs de Chiptune (R1?) , voici : https://famistudio.org/ Première version compatible linux(cool!)