Pages : 1
#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
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).
Pages : 1