Les Allergies
Alimentaires
Posez votre question Signaler

SNORT 2.8 sur AIX 5.3 [Résolu]

zqnder 15Messages postés 6 février 2008Date d'inscription - Dernière réponse le 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.
Lire la suite 

SNORT 2.8 sur AIX 5.3 »

16 réponses
Réponse
+0
moins plus
hello
affiche le début du script
Ajouter un commentaire
Réponse
+0
moins plus
$> 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.
Ajouter un commentaire
Réponse
+0
moins plus
j'imagine qu'il y a un ./configure avant le make, il s'est bien terminé ?
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
tu es dans quel shell quand tu lances ton make ?
echo $SHELL ?
en csh ?
Ajouter un commentaire
Réponse
+0
moins plus
C'est un tcsh, donc oui c'est comme csh pourquoi?
Ajouter un commentaire
Réponse
+0
moins plus
essaye de passer en ksh avant le make

$ ksh
$ make
Ajouter un commentaire
Réponse
+0
moins plus
Ç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?!
Ajouter un commentaire
Réponse
+0
moins plus
faire un diff entre les 2 makefile pour voir les différences
Ajouter un commentaire
Réponse
+0
moins plus
C'est déjà fait, il y a trop de différences, c'est impossible de trouver quelque chose.
Ajouter un commentaire
Réponse
+0
moins plus
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 :(
Ajouter un commentaire
Réponse
+0
moins plus
vérifier qu'il n'y a pas d'espaces en fin de lignes après le \
Ajouter un commentaire
Réponse
+0
moins plus
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.
$>
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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 ;)
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « SNORT 2.8 sur AIX 5.3 » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?