SNORT 2.8 sur AIX 5.3
Résolu
zqnder
Messages postés
15
Statut
Membre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je doit installer SNORT 2.8 (logiciel de surveillance réseau) sur un serveur tournant sous AIX 5.3.
Mais je n'arrive pas a compiler SNORT et j'ai cette erreur:
/bin/sh: 0403-057 Syntax error at line 1 : `then' is not matched.
Si quelqu'un a une ptite idee?
Merci.
Je doit installer SNORT 2.8 (logiciel de surveillance réseau) sur un serveur tournant sous AIX 5.3.
Mais je n'arrive pas a compiler SNORT et j'ai cette erreur:
/bin/sh: 0403-057 Syntax error at line 1 : `then' is not matched.
Si quelqu'un a une ptite idee?
Merci.
Configuration: Windows XP Firefox 3.5.2
16 réponses
-
hello
affiche le début du script -
$> make
make all-recursive
Making all in src
Making all in sfutil
Target "all" is up to date.
Making all in win32
Target "all" is up to date.
Making all in output-plugins
Target "all" is up to date.
Making all in detection-plugins
Target "all" is up to date.
Making all in dynamic-plugins
Making all in sf_engine
/bin/sh: 0403-057 Syntax error at line 1 : `then' is not matched.
make: 1254-004 The error code from the last command is 2.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 2.
Stop. -
j'imagine qu'il y a un ./configure avant le make, il s'est bien terminé ?
-
Oui il se termine normalement.
Voila la fin de l'exécution de ./configure, sachant que les 20 lignes d'avant il fait que créer des Makefile.
config.status: creating schemas/Makefile
config.status: creating rpm/Makefile
config.status: creating preproc_rules/Makefile
config.status: creating m4/Makefile
config.status: creating etc/Makefile
config.status: creating templates/Makefile
config.status: creating src/win32/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
tu es dans quel shell quand tu lances ton make ?
echo $SHELL ?
en csh ?
-
-
essaye de passer en ksh avant le make
$ ksh
$ make -
Ça fais toujours pareil ...
Je viens d'installer la version 2.7 et ca compile du premier coup!
Mais c'est la 2.8 qu'il me faut...
J'ai compare les 2 Makefile du dossier src/dynamic-plugins/sf_engine/, ils se ressemblent mais je ne trouve pas l'erreur :'(
Qu'est qui pourrait être a l'origine de cette erreur?! -
faire un diff entre les 2 makefile pour voir les différences
-
C'est déjà fait, il y a trop de différences, c'est impossible de trouver quelque chose.
-
Bon j'ai trouve d'ou vient l'erreur dans le Makefile, c'est le BUILT_SOURCES qui ne marche pas mais je ne sais pas pourquoi...
BUILT_SOURCES = \
sfhashfcn.c \
sfhashfcn.h \
sfghash.c \
sfghash.h \
sfprimetable.c \
sfprimetable.h \
ipv6_port.h \
sf_ip.c \
sf_ip.h \
debug.h
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-recursive
Y'aurait-t-il quelque chose que AIX ne supporte pas la-dedans?
Aidez moi :( -
vérifier qu'il n'y a pas d'espaces en fin de lignes après le \
-
Je viens de vérifier et il n'y a pas d'espaces.
En fait le problème est encore plus loin, BUILT_SOURCES appel sfhashfcn.c en premier:
sfhashfcn.c: ../../sfutil/sfhashfcn.c
@echo "HELLO "
@src_file=$?;dst_file=$@; $(copy_no_static_hash)
@echo WORLD!
Et la, le HELLO passe mais pas le WORLD!.
L'erreur se cache donc sur la ligne du milieu.
Je vous met le $(copy_no_static_hash) si ca peut vous aider:
copy_no_static_hash = \
if test -f $$dst_file; then \
x=`diff $$src_file $$dst_file.new >> /dev/null`; \
if test "$$x" != "0"; then \
echo "Updating " $$dst_file; \
cp $$src_file $$dst_file.new; \
sed -e "s/\#ifndef MODULUS_HASH/\#ifdef STATIC_HASH/" $$dst_file.new > $$dst_file; \
fi \
else \
echo "Updating " $$dst_file; \
cp $$src_file $$dst_file.new; \
sed -e "s/\#ifndef MODULUS_HASH/\#ifdef STATIC_HASH/" $$dst_file.new > $$dst_file; \
fi
Je ne comprend pas ce que AIX ne supporte pas...
Je vous remet l'erreur au cas ou :
$> make
HELLO
/bin/sh: 0403-057 Syntax error at line 1 : `then' is not matched.
make: 1254-004 The error code from the last command is 2.
Stop.
$> -
le comparer au même code dans la 2.7
et si il n'y a pas d'espaces en fin de lignes après le \
est ce que a makefile contient SHELL = /bin/sh
-
J'ai enfin trouve la solution, pour ceux que ça intéresse, le problème était bien dans le copy_no_static_hash, voici par quoi il faut le remplacer:
copy_no_static_hash = \
if test -f $@; then \
x=`diff $? $@.new >> /dev/null`; \
if test "$$x" != "0"; then \
echo "Updating " $@; \
cp $? $@.new; \
sed -e "s/\#ifndef MODULUS_HASH/\#ifdef STATIC_HASH/" $@.new > $@; \
fi \
else \
echo "Updating " $@; \
cp $? $@.new; \
sed -e "s/\#ifndef MODULUS_HASH/\#ifdef STATIC_HASH/" $@.new > $@; \
fi
Merci de ton aide Dubcek ;) -
cela veut dire que dans
if test -f $$dst_file; then \
$$dst_file est vide, ce qui provoque l'erreur
alors que $@ est défini par make
bizarre