SNORT 2.8 sur AIX 5.3

Résolu
zqnder Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 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.
A voir également:

16 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
affiche le début du script
0
zqnder Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
$> 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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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   Statut Membre Dernière intervention  
 
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
tu es dans quel shell quand tu lances ton make ?
echo $SHELL ?
en csh ?
0
zqnder Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
C'est un tcsh, donc oui c'est comme csh pourquoi?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
essaye de passer en ksh avant le make

$ ksh
$ make
0
zqnder Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Ç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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
faire un diff entre les 2 makefile pour voir les différences
0
zqnder Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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   Statut Membre Dernière intervention  
 
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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   Statut Membre Dernière intervention  
 
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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