Hi,
i managed to compile avifile 0.6 on mandrake and wanted to give a short 
report:

Problem 1) Qtlibs not found although they where there

configure balks with the error:
/root/tmp/ccSpT2dr.o: In function `main':
/root/Packets/avi/avifile-0.6.0.20011003/foo/conftest.C:4: undefined 
reference to `QMovie::QMovie()'
/root/Packets/avi/avifile-0.6.0.20011003/foo/conftest.C:5: undefined 
reference to `QMovie::setSpeed(int)'
/root/Packets/avi/avifile-0.6.0.20011003/foo/conftest.C:6: undefined 
reference to `QMovie::~QMovie()'
/root/Packets/avi/avifile-0.6.0.20011003/foo/conftest.C:6: undefined 
reference to `QMovie::~QMovie()'
collect2: ld returned 1 exit status

As someone already posted to the list, this is a gcc-3.0.1 Problem.
you can install gcc-2.96 parallel to 3.0.1, the links in 
/etc/alternatives point to the deafault
(2.96 or 3.0.1) binaries. Then apparently it is not sufficient to only 
link -lqt-mt, since
qt-mt needs stuff from qt and fails to load it automatically. So make it 
link -lqt too:

export CC=gcc-2.96
export CXX=g++-2.96
export LIBS=-lqt

should do the job, to be sure also do

export GCC=gcc-2.96
export GCXX=g++-2.96
export LDFLAGS=-lqt

then remove the config.cache if there is one and do

./configure --with-qt-dir=/usr/lib/qt2

or whereever you qtlib is if that isn't found automatically.


Problem 2) failed to compile  dsputil_mmx_avg.lo
this is the same as mentioned in
http://www.mail-archive.com/avifile%40prak.org/msg00883.html
and throws a lot of errors like

In file included from dsputil_mmx.c:49:
dsputil_mmx_avg.h: In function `put_pixels_x2_3dnow':
dsputil_mmx_avg.h:51: Can't find a register in class `GENERAL_REGS' 
while reloading `asm'.

after reading http://gcc.gnu.org/ml/gcc-bugs/2000-04/msg00773.html
i gave -O2 a try and it worked.

I think it happens when many arguments are passed to/from an
assembler-part, so additional
registered are needed/preferred for argument passing.

One can either redo the compile for the specific files where errors
occur with -O2 or -shared, and continue making, or before configure do:

export CFLAGS=-O2
export CXXFLAGS=-O2

note that compiling with -O2 might trigger another error with some libc 
(see faq) but for me
it didn't (or i didn't run into it yet).
                                                     
to sumarize:

export CC=gcc-2.96
export CXX=g++-2.96
export LIBS=-lqt
export CFLAGS=-O2
export CXXFLAGS=-O2

export GCC=gcc-2.96
export GCXX=g++-2.96
export LDFLAGS=-lqt

rm config.cache
./configure --with-qt-dir=/usr/lib/qt2

make
make install

This did the job for me.
I used:
avifile-0.6.0.20011013
gcc-2.96-0.65mdk
gcc-c++-2.96-0.65mdk
binutils-2.11.90.0.8-6mdk

libqt2-static-devel-2.3.1-15mdk
libqt2-devel-2.3.1-15mdk
libqt2-2.3.1-15mdk

libimlib1-devel-1.9.11-7mdk
libimlib1-1.9.11-7mdk
libpng3-1.2.0-3mdk
libpng3-devel-1.2.0-3mdk

The qt-lib seems to be linked against the imlib and that again against 
libpng.
Note that libimlib1-devel-1.9.11-7mdk is linked against libpng3 while
libimlib1-devel-1.9.11-5mdk links vs. libpng2. See to it, that qt-lib, 
imlib and
libpng are consistent, also later updating to newer imlib probably means
compiling again.
I do *NOT* recommend updating imlib if you didn't yet, until the executables
you need are linked against that new imlib too, since all executables linked
against the previous (libimlib1-devel-1.9.11-5mdk and older, don't know 
about 6mdk)
version will then show up a lot of errors (they used headers from 
libpng2 and
then have to work with libpng3) to see what is affected do 'rpm -e 
--test libimlib'
and 'rpm -e --test libpng2' anything that shows up in both lists probably
will spit a lot of annnoying errors after updateing beyond 
libimlib1-devel-1.9.11-7mdk.
(enlightenment would bugger me with lots of errors and no backgroundimage).
But the qt-lib that comes with the mdk 8.1-pre should do the job just 
fine, no
need to ask for that trouble until Mandrake sorted it out and the rpms 
are consistent
again.



_______________________________________________
Avifile mailing list
[EMAIL PROTECTED]
http://prak.org/mailman/listinfo/avifile

Reply via email to