SNORT 2.8 sur AIX 5.3

Résolu/Fermé
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009 - 5 août 2009 à 13:53
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 7 août 2009 à 09:40
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.
A voir également:

16 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 août 2009 à 14:11
hello
affiche le début du script
0
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009
5 août 2009 à 15:12
$> 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.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 août 2009 à 15:18
j'imagine qu'il y a un ./configure avant le make, il s'est bien terminé ?
0
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009
5 août 2009 à 15:48
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 août 2009 à 16:28
tu es dans quel shell quand tu lances ton make ?
echo $SHELL ?
en csh ?
0
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009
5 août 2009 à 16:38
C'est un tcsh, donc oui c'est comme csh pourquoi?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 août 2009 à 16:59
essaye de passer en ksh avant le make

$ ksh
$ make
0
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009
5 août 2009 à 17:57
Ç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?!
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
6 août 2009 à 11:34
faire un diff entre les 2 makefile pour voir les différences
0
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009
6 août 2009 à 14:37
C'est déjà fait, il y a trop de différences, c'est impossible de trouver quelque chose.
0
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009
6 août 2009 à 14:48
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 :(
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
6 août 2009 à 15:40
vérifier qu'il n'y a pas d'espaces en fin de lignes après le \
0
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009
6 août 2009 à 16:11
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.
$>
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
6 août 2009 à 17:04
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
0
zqnder Messages postés 15 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 10 août 2009
6 août 2009 à 23:14
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 ;)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
7 août 2009 à 09:40
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
0