it's repuduzeable on my machine. message: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -I../../../../src/video_out/vidix -I../../../../src/video_out/libdha -I../../../../src/video_out/libdha -mtune=athlon -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-loops=4 -falign-jumps=4 -mpreferred-stack-boundary=2 -fexpensive-optimizations -fschedule-insns2 -fno-strict-aliasing -ffast-math -funroll-loops -finline-functions -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -DENABLE_IPV6 -O3 -march=athlon-xp -pipe -frename-registers -ffunction-sections -c pm3_vid.c -o .libs/pm3_vid.o pm3_vid.c:52: error: static declaration of 'pm3_reg_base' follows non-static declaration pm3_regs.h:1190: error: previous declaration of 'pm3_reg_base' was here pm3_vid.c: In function 'pm3_setup_overlay': pm3_vid.c:305: warning: pointer targets in passing argument 3 of 'compute_scale_factor' differ in signedness pm3_vid.c:305: warning: pointer targets in passing argument 4 of 'compute_scale_factor' differ in signedness pm3_vid.c: In function 'vixConfigPlayback': pm3_vid.c:414: warning: pointer of type 'void *' used in arithmetic pm3_vid.c: In function 'pm3_setup_bydma': pm3_vid.c:501: warning: pointer targets in passing argument 3 of 'bm_virt_to_bus' differ in signedness make[5]: *** [pm3_vid.lo] Error 1 make[5]: Leaving directory `/var/portage/portage/xine-lib-1.0.1-r1/work/xine-lib-1.0.1/src/video_out/vidix/drivers' this flags are setted for xine-lib: +X +aac +aalib +alsa (-altivec) +arts* -cle266 -debug +directfb +dvd +dxr3 +esd +fbcon -ffmpeg +flac +gnome -i8x0 +ipv6 -libcaca +mng +nls +nvidia +opengl +oss +png +samba +sdl +speex +theora +v4l -vcd +vidix +vorbis* -win32codecs -xinerama +xv +xvmc
Which version of gcc are you using?
i've forgotten: i use gcc-4.0.0! i think, this should be a possible way: i don't know, because there's a new error. --- src/video_out/vidix/drivers/pm3_vid.c~ 2005-04-26 10:09:11.000000000 +0200 +++ src/video_out/vidix/drivers/pm3_vid.c 2005-04-29 18:03:25.230524952 +0200 @@ -49,7 +49,7 @@ static pciinfo_t pci_info; -static void *pm3_reg_base; +void *pm3_reg_base; static void *pm3_mem; static int pm3_vidmem = PM3_VIDMEM; ############### i don't know, if this is the right way, because, it was a static var. the new error: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -I../../../../lib -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -mtune=athlon -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-loops=4 -falign-jumps=4 -mpreferred-stack-boundary=2 -fexpensive-optimizations -fschedule-insns2 -fno-strict-aliasing -ffast-math -finline-functions -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -DENABLE_IPV6 -O3 -march=athlon-xp -pipe -frename-registers -ffunction-sections -c cputest.c -o .libs/cputest.o In file included from ../dsputil.h:31, from cputest.c:5: ../common.h:73: error: array type has incomplete element type ../common.h:75: error: array type has incomplete element type make[5]: *** [cputest.lo] Error 1 make[5]: Leaving directory `/var/portage/portage/xine-lib-1.0.1-r1/work/xine-lib-1.0.1/src/libffmpeg/libavcodec/i386'
I'll take care of this tonight.
Ok I have a patch to fix vidix compilation, but seems not to work here. If you don't need vidix, disable it to fix the bug.
the second error isn't vidix! it's libffmpeg/libavcodec.
For ffmpeg just use the external one, fixing it for gcc4 would be an overkill (and next xine would probably use a more recent ffmpeg already fixed).
Fixed in CVS the vidix error. ffmpeg is a WONTFIX as upstream is updating internal ffmpeg. Just use the external one in the mean time.