On Mon, 2005-04-18 at 09:59 -0300, Casimiro de Almeida Barreto wrote: > > Other example: while compiling libquicktime... > > gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include/quicktime > -I../../include -I../../include/ -DMMX -O3 -funroll-all-loops > -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 > -falign-functions=2 -finline-functions -Wall -Winline -march=pentium > -O3 -funroll-all-loops -fomit-frame-pointer -falign-loops=2 > -falign-jumps=2 -falign-functions=2 -finline-functions -Wall -Winline > -MT RTjpeg.lo -MD -MP -MF .deps/RTjpeg.Tpo -c RTjpeg.c -fPIC -DPIC > -o .libs/RTjpeg.o Wow. I agree with arjan's speculation about needing a newer binutils. At the same time, this command line is a bit over the top. Never mind that most of the arguments that typically are part of CFLAGS are specified twice -- which can't be a good sign, but probably won't actually hurt anything -- you should probably consider using "-O2" instead of "-O3". -O3 has _never_ been something that sees significant testing on the scale -O2 does, and simply is not recommended for use. > In file included from RTjpeg.c:40: > RTjpeg.h:99: warning: 'packed' attribute ignored That means you've got a structure declared with __attribute__((packed)), but that structure would be naturally behave as if it were packed. > RTjpeg.c: In function 'RTjpeg_b2s': > RTjpeg.c:101: error: invalid lvalue in assignment This is because you're casting an lvalue, which isn't valid in C. > RTjpeg.c: In function 'RTjpeg_compressYUV420': > RTjpeg.c:2503: warning: pointer targets in initialization differ in > signedness > RTjpeg.c:2505: warning: pointer targets in initialization differ in > signedness > RTjpeg.c:2506: warning: pointer targets in initialization differ in > signedness > RTjpeg.c:2518: warning: pointer targets in passing argument 2 of > 'RTjpeg_dctY' differ in signedness These would appear to be the bugs that the code is trying to mask by illegally casting an lvalue. -- Peter