First of all, I really can't find the mailing lists for AVIfile on
avifle.sourceforge.net
I only found this email, and that's why I am sending this here. Where can I read this
mailing list archives?
I wanted to post some issues that I have with the latest AVIfile and compiling. I will
attach them below and into a file, but I am not 100% sure this is the place for them,
so if it's not, please forgive ;)
--------------------------------------------
Before you flame me to death, I know these lins shows up when I run ./configure:
checking C compiler version... gcc egcs-2.91.66
configure: warning:
*** outdated version of GCC compiler is used, compilation may fail
*** - upgrade to 2.95.3 or better is recommended
But please bare with me: if we can easily fix these issues, then we have
better backwards compatibility for AVIfile. If you can take a look below
and help, then please advise. If I can fix the compile issues, and
someone could tell me how to detect an old GCC inside the code then I
can make a patch with #ifdefs to handle these older compilers.
-----------------------------------------------------------------------------
I have found some compile errors/problems with AVIfile from CVS 2002/10/09:
Reading specs from /usr/lib/gcc-lib/i386-slackware-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 Linux (egcs-1.1.2 release)
and self-compiled QT 2.3.2, 2.4.19 kernel, X11 4.1.0 glibc2.1
compiled with: ./configure && make
-----------------------------------------------------------------------------
1)
c++ -DHAVE_CONFIG_H -I. -I. -I../../include -I/usr/local/include
-I/usr/local/include/SDL -D_REENTRANT -I../subtitles -Wall -Wno-unused -I../../include
-g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe -Wp,-MD,.deps/aviplay.pp -c -fPIC
-DPIC aviplay.cpp -o aviplay.lo
In file included from ../../include/aviplay.h:14,
from aviplay_impl.h:7,
from aviplay.cpp:8:
../../include/avm_args.h:41: field `list' has incomplete type
make[2]: *** [aviplay.lo] Error 1
make[2]: Leaving directory `/mnt/a/AVIfile/avifile/lib/aviplay'
I bypassed this by commenting out like 41
-----------------------------------------------------------------------------
2)
Making all in dshow
make[4]: Entering directory `/mnt/a/AVIfile/avifile/plugins/libwin32/loader/dshow'
/bin/sh ../../../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../../../../include -DAVIFILE -I./.. -Wall -Wno-unused -I../../../../include -g
-O2 -mcpu=i686 -march=i686 -ffast-math -pipe -c DS_Filter.c
gcc -DHAVE_CONFIG_H -I. -I. -I../../../../include -DAVIFILE -I./.. -Wall -Wno-unused
-I../../../../include -g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe
-Wp,-MD,.deps/DS_Filter.pp -c -fPIC -DPIC DS_Filter.c -o DS_Filter.lo
In file included from DS_Filter.c:7:
../win32.h:14: badly punctuated parameter list in `#define'
make[4]: *** [DS_Filter.lo] Error 1
make[4]: Leaving directory `/mnt/a/AVIfile/avifile/plugins/libwin32/loader/dshow
I bypassed this by commenting out lines 13-15
-----------------------------------------------------------------------------
3)
make[1]: Entering directory `/mnt/a/AVIfile/avifile/player'
c++ -DHAVE_CONFIG_H -I. -I. -I../include -I/opt/qt/include -I/usr/local/include
-I/usr/local/include/SDL -D_REENTRANT -I/usr/X11R6/include -I../libavqt
-DQT_THREAD_SUPPORT -DSHARE_PATH=\"/usr/local/share/avifile0.7\" -Wall
-Wno-unused -I../include -g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe -c
playercontrol.cpp
playercontrol.cpp: In method `void PlayerControl::openSlot()':
playercontrol.cpp:583: no matching function for call to `QStringList::size ()'
playercontrol.cpp:589: no matching function for call to `QStringList::size ()'
playercontrol.cpp:590: no matching function for call to `QStringList::size ()'
make[1]: *** [playercontrol.o] Error 1
make[1]: Leaving directory `/mnt/a/AVIfile/avifile/player'
I cannot bypass these errors because looking into my:
/opt/qt-2.3.2/include/qstringlist.h
class QStringList _really_ does not have a method called size(). I didn't see
the class being overloaded anywhere else..so I dunno if I have the wrong
version of QT or some other issue ...
Also when I tried: ./configure --disable-qt it didn't really disable QT !!
(this is what the README file says in order to disable QT).
I had to use: ./configure --with-qt=no in order to disable QT support.
Please update the README file, unless I have missed something..
-----------------------------------------------------------------------------
4)
mkdir .libs
c++ -g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe -o .libs/avibench benchmark.o
../../lib/.libs/libaviplay.so -lnsl -ldl -lz -lnsl -ldl -lm -lnsl -ldl -lnsl -ldl
-lnsl -ldl -lnsl -ldl -lnsl -ldl -lnsl -ldl -L/usr/local/lib -lSDL -lpthread
-L/usr/X11R6/lib -lSM -lICE -lXxf86dga -lXxf86vm -lXi -lXft -lXv -lXinerama -lXext
-lX11 -lnsl -ldl -lnsl -ldl -lnsl -ldl -lpthread -lnsl -ldl -L/usr/local/lib
-Wl,-rpath,/usr/local/lib -lSDL -lpthread -L/usr/X11R6/lib -lSM -lICE -lXxf86dga
-lXxf86vm -lXi -lXft -lXv -lXinerama -lXext -lX11 -lnsl -ldl -Wl,--rpath
-Wl,/usr/local/lib
../../lib/.libs/libaviplay.so: undefined reference to `mm_flags'
../../lib/.libs/libaviplay.so: undefined reference to `dsputil_set_bit_exact_mmx'
../../lib/.libs/libaviplay.so: undefined reference to `MPV_common_init_mmx'
../../lib/.libs/libaviplay.so: undefined reference to `dsputil_init_mmx'
collect2: ld returned 1 exit status
make[2]: *** [avibench] Error 1
make[2]: Leaving directory `/mnt/a/AVIfile/avifile/samples/misc'
This I get once I try to compile without QT.. Any ideas ?
-----------------------------------------------------------------------------
I know this gcc is an old one, but up until these issues appeared AVIfile
worked great on this setup (no runtime issues seemingly due to the compiler
mis-compilations or other issues w/ optimization. In other words no runtime
issues whatsoever with 2.91.66).
So if you can make AVIfile compile again with this older compiler it would be
really helpful for some of us who for various reasons can't run the lastest
wiz-bang Linux distros/setups, and at the same time AVIfile will have a lot
better backwards compatibility issues.
Thanks in advance for any info/help/useful comments.
tony
--
Get your free email from www.linuxmail.org
Powered by Outblaze
Before you flame me to death, I know these lins shows up when I run ./configure:
checking C compiler version... gcc egcs-2.91.66
configure: warning:
*** outdated version of GCC compiler is used, compilation may fail
*** - upgrade to 2.95.3 or better is recommended
But please bare with me: if we can easily fix these issues, then we have
better backwards compatibility for AVIfile. If you can take a look below
and help, then please advise. If I can fix the compile issues, and
someone could tell me how to detect an old GCC inside the code then I
can make a patch with #ifdefs to handle these older compilers.
-----------------------------------------------------------------------------
I have found some compile errors/problems with AVIfile from CVS 2002/10/09:
Reading specs from /usr/lib/gcc-lib/i386-slackware-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 Linux (egcs-1.1.2 release)
and self-compiled QT 2.3.2, 2.4.19 kernel, X11 4.1.0 glibc2.1
compiled with: ./configure && make
-----------------------------------------------------------------------------
1)
c++ -DHAVE_CONFIG_H -I. -I. -I../../include -I/usr/local/include
-I/usr/local/include/SDL -D_REENTRANT -I../subtitles -Wall -Wno-unused -I../../include
-g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe -Wp,-MD,.deps/aviplay.pp -c -fPIC
-DPIC aviplay.cpp -o aviplay.lo
In file included from ../../include/aviplay.h:14,
from aviplay_impl.h:7,
from aviplay.cpp:8:
../../include/avm_args.h:41: field `list' has incomplete type
make[2]: *** [aviplay.lo] Error 1
make[2]: Leaving directory `/mnt/a/AVIfile/avifile/lib/aviplay'
I bypassed this by commenting out like 41
-----------------------------------------------------------------------------
2)
Making all in dshow
make[4]: Entering directory `/mnt/a/AVIfile/avifile/plugins/libwin32/loader/dshow'
/bin/sh ../../../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I.
-I../../../../include -DAVIFILE -I./.. -Wall -Wno-unused -I../../../../include -g
-O2 -mcpu=i686 -march=i686 -ffast-math -pipe -c DS_Filter.c
gcc -DHAVE_CONFIG_H -I. -I. -I../../../../include -DAVIFILE -I./.. -Wall -Wno-unused
-I../../../../include -g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe
-Wp,-MD,.deps/DS_Filter.pp -c -fPIC -DPIC DS_Filter.c -o DS_Filter.lo
In file included from DS_Filter.c:7:
../win32.h:14: badly punctuated parameter list in `#define'
make[4]: *** [DS_Filter.lo] Error 1
make[4]: Leaving directory `/mnt/a/AVIfile/avifile/plugins/libwin32/loader/dshow
I bypassed this by commenting out lines 13-15
-----------------------------------------------------------------------------
3)
make[1]: Entering directory `/mnt/a/AVIfile/avifile/player'
c++ -DHAVE_CONFIG_H -I. -I. -I../include -I/opt/qt/include -I/usr/local/include
-I/usr/local/include/SDL -D_REENTRANT -I/usr/X11R6/include -I../libavqt
-DQT_THREAD_SUPPORT -DSHARE_PATH=\"/usr/local/share/avifile0.7\" -Wall
-Wno-unused -I../include -g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe -c
playercontrol.cpp
playercontrol.cpp: In method `void PlayerControl::openSlot()':
playercontrol.cpp:583: no matching function for call to `QStringList::size ()'
playercontrol.cpp:589: no matching function for call to `QStringList::size ()'
playercontrol.cpp:590: no matching function for call to `QStringList::size ()'
make[1]: *** [playercontrol.o] Error 1
make[1]: Leaving directory `/mnt/a/AVIfile/avifile/player'
I cannot bypass these errors because looking into my:
/opt/qt-2.3.2/include/qstringlist.h
class QStringList _really_ does not have a method called size(). I didn't see
the class being overloaded anywhere else..so I dunno if I have the wrong
version of QT or some other issue ...
Also when I tried: ./configure --disable-qt it didn't really disable QT !!
(this is what the README file says in order to disable QT).
I had to use: ./configure --with-qt=no in order to disable QT support.
Please update the README file, unless I have missed something..
-----------------------------------------------------------------------------
4)
mkdir .libs
c++ -g -O2 -mcpu=i686 -march=i686 -ffast-math -pipe -o .libs/avibench benchmark.o
../../lib/.libs/libaviplay.so -lnsl -ldl -lz -lnsl -ldl -lm -lnsl -ldl -lnsl -ldl
-lnsl -ldl -lnsl -ldl -lnsl -ldl -lnsl -ldl -L/usr/local/lib -lSDL -lpthread
-L/usr/X11R6/lib -lSM -lICE -lXxf86dga -lXxf86vm -lXi -lXft -lXv -lXinerama -lXext
-lX11 -lnsl -ldl -lnsl -ldl -lnsl -ldl -lpthread -lnsl -ldl -L/usr/local/lib
-Wl,-rpath,/usr/local/lib -lSDL -lpthread -L/usr/X11R6/lib -lSM -lICE -lXxf86dga
-lXxf86vm -lXi -lXft -lXv -lXinerama -lXext -lX11 -lnsl -ldl -Wl,--rpath
-Wl,/usr/local/lib
../../lib/.libs/libaviplay.so: undefined reference to `mm_flags'
../../lib/.libs/libaviplay.so: undefined reference to `dsputil_set_bit_exact_mmx'
../../lib/.libs/libaviplay.so: undefined reference to `MPV_common_init_mmx'
../../lib/.libs/libaviplay.so: undefined reference to `dsputil_init_mmx'
collect2: ld returned 1 exit status
make[2]: *** [avibench] Error 1
make[2]: Leaving directory `/mnt/a/AVIfile/avifile/samples/misc'
This I get once I try to compile without QT.. Any ideas ?
-----------------------------------------------------------------------------
I know this gcc is an old one, but up until these issues appeared AVIfile
worked great on this setup (no runtime issues seemingly due to the compiler
mis-compilations or other issues w/ optimization. In other words no runtime
issues whatsoever with 2.91.66).
So if you can make AVIfile compile again with this older compiler it would be
really helpful for some of us who for various reasons can't run the lastest
wiz-bang Linux distros/setups, and at the same time AVIfile will have a lot
better backwards compatibility issues.
Thanks in advance for any info/help/useful comments.
tony