1

Voilà, j'ai un petit souci de compilation, avec un code parfaitement valide :
Ça ne marche pas :
gcc -I$HOME/Applications/include -L$HOME/Applications/lib/ -O3 -c -o simulator.o simulator.c  2>&1 | grep -v "missing initializer" | grep -v "near initialization for ‘_log_ev.ap’"
make: *** [simulator.o] Erreur 1


Ça marche :
gcc -I$HOME/Applications/include -L$HOME/Applications/lib/ -g -O0 -Wshadow -Wcast-align -Waggregate-return -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wredundant-decls -Wnested-externs -Wpointer-arith -Wwrite-strings -finline-functions --pedantic -Wall -Wextra -c -o worker_controller.o worker_controller.c 2>&1 | grep -v "missing initializer" | grep -v "near initialization for ‘_log_ev.ap’"

Ça marche aussi :
gcc -I$HOME/Applications/include -L$HOME/Applications/lib/ -O3 -c -o simulator.o simulator.c  
gcc -I$HOME/Applications/include -L$HOME/Applications/lib/ -O3 -c -o worker_sender.o worker_sender.c  
gcc -I$HOME/Applications/include -L$HOME/Applications/lib/ -O3 -c -o worker_receiver.o worker_receiver.c  
gcc -I$HOME/Applications/include -L$HOME/Applications/lib/ -O3 -c -o worker_computer.o worker_computer.c  
gcc -I$HOME/Applications/include -L$HOME/Applications/lib/ -O3 -c -o worker_controller.o worker_controller.c  
gcc -I$HOME/Applications/include -L$HOME/Applications/lib/ -O3 simulator.o worker_sender.o worker_receiver.o worker_computer.o worker_controller.o  -lm -lsimgrid  -o simulator 


Du coup, je ne comprends pas trop pourquoi le 2>&1 influence le comportement de GCC pour la première compilation hum Auriez-vous des idées ?

Je soupçonne un problème avec Make, mais je ne pas trop pourquoi... grep qui ne renvoie rien et c'est interprété comme une erreur ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

2

Par curiosité, tu as essayé de remplacer les grep par autre chose pour voir ce que ça fait ? (Genre cat)
(D'ailleurs c'est normal ce "make" qui apparaît quand tu apelles "gcc" ? confus)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

3

Le problème:
$ cat < /dev/null | grep -v hello
$ echo $?
1

S'il n'y a rien en entrée, grep sort une erreur et make s'arrête smile

4

5

Ah ok, merci happy
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

6

Suffit de rajouter un caractère bidon dans le flux pour que grep ne renvoie pas d'erreur ?

7

8

D'ailleurs, ça marchera pas dans son cas, il a deux grep imbriqués, le second foirera. Il faudrait ajouter une fois la chaine qui n'est pas filtrée par le premier.