Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/08/2008, à 22:12

narfo

./configure : Syntax error

Bonjour,

j'essaie d'installer midishare : http://midishare.sourceforge.net
C'est mon tout premier configure-make-checkinstall, un grand jour pour moi.

Hélas, la commande ./configure me retourne :
./configure: 10: Syntax error: "(" unexpected

Si je comprends bien, c'est une coquille dans le fichier "configure" ?

Celui de la version précédente est identique, les parenthèses vont toutes par paires, je sèche...

#!/bin/sh
#

M=makefile.in
COM=../common
LIB=../lib
APPLIB=applications/lib
MEM=$COM/Memory

function move ()
{
	src=$1
	dst=$2
	echo Creating $dst
	cp $M/$src  $dst
}

function conf_I386 ()
{
	  move makefile.common  $COM/makefile
	  move makefile.lib 	$MEM/makefile
	  move makefile.network $LIB/Network/makefile
	  move makefile.appls 	$APPLIB/makefile
	  move makefile.kernel 	kernel/Makefile
	  move make.lib 		$LIB/makefile
	  move make.module 		$LIB/make.module
	  move tests/makefile.drivers 	tests/Drivers/makefile
	  move tests/makefile.events 	tests/Events/makefile
	  move tests/makefile.filters 	tests/Filters/makefile
	  move tests/makefile.functions tests/Functions/makefile
}

function remove_elf ()
{
	src=$1
	dst=$2
	echo Creating $dst
	sed -e 's/\-m[ 	]*elf_i386//' $M/$src  > $dst
}

function conf_powerpc ()
{
	  remove_elf makefile.common 	$COM/makefile
	  remove_elf makefile.lib 		$MEM/makefile
	  remove_elf makefile.network 	$LIB/Network/makefile
	  remove_elf makefile.appls 	$APPLIB/makefile
	  remove_elf makefile.kernel 	kernel/Makefile
	  remove_elf make.lib 			$LIB/makefile
	  remove_elf make.module 		$LIB/make.module
	  remove_elf tests/makefile.drivers tests/Drivers/makefile
	  remove_elf tests/makefile.events 	tests/Events/makefile
	  remove_elf tests/makefile.filters tests/Filters/makefile
	  remove_elf tests/makefile.functions tests/Functions/makefile
}


echo -n "Determining processor... "
res=$(cpp -dM << !
!
)
arch=i386
echo $res | grep powerpc 2>&1 > /dev/null
[ $? -eq 0 ] && arch=powerpc
echo $arch

if [ $arch == "powerpc" ]
then
	echo Calling conf powerpc
	conf_powerpc
elif [ $arch == "i386" ]
then
	echo Calling conf i386
	conf_I386
else
	echo error: architecture undefined
	exit 0
fi

if [ ! -d $MEM/lib ]
then
 echo Creating object directory $MEM/lib
 mkdir $MEM/lib
fi

chmod +x checksu

echo Calling lib/configure
cd lib
./configure $arch

cat <<!
===============================================
  Linux kernel source code MUST be installed 
    prior to compile the midishare module
===============================================
!
echo end of configure

Question subsidiaire : pour utiliser le noyau temps réel, j'ai simplement installé le paquet linux-rt. Ai-je le "linux kernel source code" requis pour compiler midishare ? ou faut-il que j'installe autre chose ?

#2 Le 04/08/2008, à 00:17

titienne

Re : ./configure : Syntax error

slt !!
je tu conseille fortement d'installé ubuntustudio (recherche dans synaptic (tu peut tous coché) ) pour la bonne configuration du noyau "rt"
et lit ca : http://doc.ubuntu-fr.org/tutoriel/compilation
n'oubli pas d'installé "build-essential" pour pouvoir compilé.

Hors ligne

#3 Le 04/08/2008, à 01:00

narfo

Re : ./configure : Syntax error

Merci pour ta réponse !

j'ai déjà lu la page que tu cites, et installé "build-essential". J'ai aussi cherché en vain un .deb, et pas trouvé de .rpm non plus.

Sinon mon noyau rt marche du tonnerre, je n'avais jamais réussi à obtenir une latence aussi faible avec XP+asio. Je m'inquiétais surtout d'un éventuel futur problème de kernel-headers. Que m'apporterait UbuntuStudio, avec sa ribambelle de logiciels dont je n'ai pas l'utilité ?

Pas plus d'idée, concernant le message d'erreur ? Je n'ai trouvé personne sur la toile ayant rencontré ce problème.:(

#4 Le 04/08/2008, à 03:59

titienne

Re : ./configure : Syntax error

dans ton "configure" on peut aussi utiliser le mot clé function, mais cette syntaxe n'est pas supportée par tous les shells, et n'est donc pas portable donc essai sans ca devrai fonctionné :

#!/bin/sh
#

M=makefile.in
COM=../common
LIB=../lib
APPLIB=applications/lib
MEM=$COM/Memory

move ()
{
	src=$1
	dst=$2
	echo Creating $dst
	cp $M/$src  $dst
}

conf_I386 ()
{
	  move makefile.common  $COM/makefile
	  move makefile.lib 	$MEM/makefile
	  move makefile.network $LIB/Network/makefile
	  move makefile.appls 	$APPLIB/makefile
	  move makefile.kernel 	kernel/Makefile
	  move make.lib 		$LIB/makefile
	  move make.module 		$LIB/make.module
	  move tests/makefile.drivers 	tests/Drivers/makefile
	  move tests/makefile.events 	tests/Events/makefile
	  move tests/makefile.filters 	tests/Filters/makefile
	  move tests/makefile.functions tests/Functions/makefile
}

remove_elf ()
{
	src=$1
	dst=$2
	echo Creating $dst
	sed -e 's/\-m[ 	]*elf_i386//' $M/$src  > $dst
}

conf_powerpc ()
{
	  remove_elf makefile.common 	$COM/makefile
	  remove_elf makefile.lib 		$MEM/makefile
	  remove_elf makefile.network 	$LIB/Network/makefile
	  remove_elf makefile.appls 	$APPLIB/makefile
	  remove_elf makefile.kernel 	kernel/Makefile
	  remove_elf make.lib 			$LIB/makefile
	  remove_elf make.module 		$LIB/make.module
	  remove_elf tests/makefile.drivers tests/Drivers/makefile
	  remove_elf tests/makefile.events 	tests/Events/makefile
	  remove_elf tests/makefile.filters tests/Filters/makefile
	  remove_elf tests/makefile.functions tests/Functions/makefile
}


echo -n "Determining processor... "
res=$(cpp -dM << !!)
arch=i386
echo $res | grep powerpc 2>&1 > /dev/null
[ $? -eq 0 ] && arch=powerpc
echo $arch

if [ $arch == "powerpc" ]
then
	echo Calling conf powerpc
	conf_powerpc
elif [ $arch == "i386" ]
then
	echo Calling conf i386
	conf_I386
else
	echo error: architecture undefined
	exit 0
fi

if [ ! -d $MEM/lib ]
then
 echo Creating object directory $MEM/lib
 mkdir $MEM/lib
fi

chmod +x checksu

echo Calling lib/configure
cd lib
./configure $arch

cat <<!
===============================================
  Linux kernel source code MUST be installed 
    prior to compile the midishare module
===============================================
!
echo end of configure

Hors ligne

#5 Le 04/08/2008, à 10:54

narfo

Re : ./configure : Syntax error

Ça fonctionne, merci beaucoup ! (il m'a fallu en plus remplacer les opérateurs "==" par des "=")

===============================================
  Linux kernel source code MUST be installed 
    prior to compile the midishare module
===============================================

Avant que je passe à l'étape suivante, comment puis-je savoir si j'ai ou non d'installé ce fameux "Linux kernel source code" ?

#6 Le 04/08/2008, à 11:35

narfo

Re : ./configure : Syntax error

Ainsi que je le redoutais, il y a un problème pour le make :

make: *** /lib/modules/2.6.24-19-rt/build: Aucun fichier ou dossier de ce type.

#7 Le 04/08/2008, à 11:52

narfo

Re : ./configure : Syntax error

Bon ça avance, j'ai installé le paquet linux-headers-2.6.24-19-rt wink

Voici ce que me retourne la commande make :

make -C ../common 
make[1]: entrant dans le répertoire « /home/narf/temporaire/midishare-1.91-linux2.6-src/src/common »
make[1]: « ../linux/msCommon.o » est à jour.
make[1]: quittant le répertoire « /home/narf/temporaire/midishare-1.91-linux2.6-src/src/common »
make -C ../common/Memory
make[1]: entrant dans le répertoire « /home/narf/temporaire/midishare-1.91-linux2.6-src/src/common/Memory »
make[1]: « ../../linux/libCommon.o » est à jour.
make[1]: quittant le répertoire « /home/narf/temporaire/midishare-1.91-linux2.6-src/src/common/Memory »
make -C library 
make[1]: entrant dans le répertoire « /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/library »
make[1]: « libMidiShare.so.1.0 » est à jour.
make[1]: quittant le répertoire « /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/library »
make  -C kernel
make[1]: entrant dans le répertoire « /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel »
for x in atomic/lffifoIntel.c atomic/lflifoIntel.c Clients/msAlarms.c Clients/msAppls.c Clients/msConnx.c Clients/msFilter.c Clients/msMail.c Clients/msTasks.c Clients/msXmtRcv.c Kernel/msHandler.c Kernel/msInit.c Kernel/msSmpte.c Kernel/msTime.c Memory/msEvents.c Memory/msFields.c Memory/msMemory.c Memory/msSeq.c Sorter/msSorter.c Drivers/msDriver.c; do ln -sf ../../common/$x `basename $x`; done
make modules -C /lib/modules/2.6.24-19-rt/build SUBDIRS=/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel
make[2]: entrant dans le répertoire « /usr/src/linux-headers-2.6.24-19-rt »
  CC [M]  /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msLoader.o
In file included from /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/../../common/Headers/msDefs.h:29,
                 from /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/../../common/Headers/msKernel.h:30,
                 from /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/../../common/Headers/msAppFun.h:26,
                 from /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msLoader.c:53:
/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/../../common/Headers/msTypes.h:70: erreur: redeclaration of enumerator «false»
include/linux/stddef.h:16: erreur: previous definition of «false» was here
/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/../../common/Headers/msTypes.h:70: erreur: redeclaration of enumerator «true»
include/linux/stddef.h:18: erreur: previous definition of «true» was here
/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msLoader.c:114: attention : function declaration isn»t a prototype
/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msLoader.c:332:1: attention : « kMidiShareMajor » redéfini
Dans le fichier inclus à partir de /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msLoader.h:30,
          à partir de /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msLoader.c:54:
/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msIOCtl.h:34:1: attention : ceci est la localisation d'une précédente définition
In file included from /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msExports.h:29,
                 from /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msLoader.c:365:
/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/../../common/Headers/msEvents.h:48: attention : function declaration isn»t a prototype
make[3]: *** [/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel/msLoader.o] Erreur 1
make[2]: *** [_module_/home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel] Erreur 2
make[2]: quittant le répertoire « /usr/src/linux-headers-2.6.24-19-rt »
make[1]: *** [all] Erreur 2
make[1]: quittant le répertoire « /home/narf/temporaire/midishare-1.91-linux2.6-src/src/linux/kernel »
make: *** [kernel] Erreur 2

#8 Le 04/08/2008, à 13:22

titienne

Re : ./configure : Syntax error

a-tu vu cette page : http://doc.ubuntu-fr.org/tutoriel/realtime

Hors ligne

#9 Le 04/08/2008, à 15:13

narfo

Re : ./configure : Syntax error

je viens de parcourir ton lien (qui semble un peu obsolète...)
tu penses que je devrais compiler un nouveau noyau rt ?
Le mien fonctionne parfaitement avec mes applications audio.

A tout hasard, j'ai essayé à nouveau le "make" en bootant sur le generic : j'obtiens les mêmes messages d'erreur.

#10 Le 08/08/2008, à 00:34

titienne

Re : ./configure : Syntax error

sur mon ubuntu studio (rt) il ne se compile pas non plus !! je ne sais pas pour quoi !!

Hors ligne

#11 Le 08/08/2008, à 12:46

narfo

Re : ./configure : Syntax error

C'est sympa d'avoir essayé. De mon côté, j'ai laissé tomber.
Mon but était de relier un environnement Emacs/Slime/CommonMusic à Linuxsampler/Jack. Midishare aurait été la solution idéale, mais finalement je me contenterai d'un simple lecteur midi (kmid).