Page 1 of 1

Multiple Definitions in libavutil during make of ZM on debia

Posted: Wed May 03, 2006 8:20 pm
by wolfram
Hello all,
I am running, sorry I try to install and run zoneminder on debian sarge.
What I did was the installation of the ffmpeg stuff from ffmpeg cvs.
Then I made the ZM
#./configure

which find everythink ok.
and after that

I tried the # make:
Here is the output and I have no idea on how to solve that correctlly:

# make
make all-recursive
make[1]: Entering directory `/usr/local/src/ZoneMinder-1.22.1'
Making all in src
make[2]: Entering directory `/usr/local/src/ZoneMinder-1.22.1/src'
g++ -g -O2 -L/usr/lib -L/usr/lib/mysql -o zmc zmc.o zm.o zm_db.o zm_config.o zm_coord.o zm_box.o zm_poly. o zm_image.o zm_event.o zm_zone.o zm_camera.o zm_local_camera.o zm_remote_camera.o zm_file_camera.o zm_monitor .o zm_user.o zm_mpeg.o zm_jpeg.o zm_regexp.o zm_signal.o zm_buffer.o zm_debug.o -lavformat -lavcodec -lavutil -lpcre -lcrypto -lmysqlclient -ldl -lz -ljpeg
/usr/local/lib/libavutil.a(mathematics.o)(.rodata+0x0):/usr/local/src/ffmpeg/libavutil/mathematics.c:50: multi ple definition of `ff_sqrt_tab'
/usr/lib/libavcodec.a(utils.o)(.rodata+0x0): first defined here
/usr/local/lib/libavutil.a(mathematics.o)(.rodata+0x80):/usr/local/src/ffmpeg/libavutil/mathematics.c:68: mult iple definition of `ff_log2_tab'
/usr/lib/libavcodec.a(utils.o)(.rodata+0x80): first defined here
/usr/local/lib/libavutil.a(mathematics.o)(.text+0x0): In function `av_rescale_rnd':
/usr/local/src/ffmpeg/libavutil/mathematics.c:50: multiple definition of `av_rescale_rnd'
/usr/lib/libavcodec.a(utils.o)(.text+0x1c80): first defined here
/usr/bin/ld: Warning: size of symbol `av_rescale_rnd' changed from 1090 in /usr/lib/libavcodec.a(utils.o) to 9 81 in /usr/lib/libavcodec.a(utils.o)
/usr/local/lib/libavutil.a(mathematics.o)(.text+0x3e0): In function `ff_gcd':
/usr/local/src/ffmpeg/libavutil/mathematics.c:45: multiple definition of `ff_gcd'
/usr/lib/libavcodec.a(utils.o)(.text+0x1070): first defined here
/usr/local/lib/libavutil.a(mathematics.o)(.text+0x440): In function `av_rescale':
/usr/local/src/ffmpeg/libavutil/mathematics.c:102: multiple definition of `av_rescale'
/usr/lib/libavcodec.a(utils.o)(.text+0x20d0): first defined here
/usr/bin/ld: Warning: size of symbol `av_rescale' changed from 1012 in /usr/lib/libavcodec.a(utils.o) to 65 in /usr/lib/libavcodec.a(utils.o)
/usr/lib/libavcodec.a(dtsdec.o)(.text+0x33d): In function `dts_decode_frame':
: undefined reference to `dts_frame'
/usr/lib/libavcodec.a(dtsdec.o)(.text+0x395): In function `dts_decode_frame':
: undefined reference to `dts_blocks_num'
/usr/lib/libavcodec.a(dtsdec.o)(.text+0x3bf): In function `dts_decode_frame':
: undefined reference to `dts_block'
/usr/lib/libavcodec.a(dtsdec.o)(.text+0x3fd): In function `dts_decode_frame':
: undefined reference to `dts_samples'
/usr/lib/libavcodec.a(dtsdec.o)(.text+0x485): In function `dts_decode_frame':
: undefined reference to `dts_syncinfo'
/usr/lib/libavcodec.a(dtsdec.o)(.text+0x51e): In function `dts_decode_init':
: undefined reference to `dts_init'
collect2: ld returned 1 exit status

It seems to me that I have multiple definitions within the libavutils , BUT I dont know how to repaire that ?
Can anyone give me a hint how to clean this up ?

regards

Posted: Wed May 03, 2006 10:20 pm
by zoneminder
If I had to guess I would say that maybe you installed a new version of ffmpeg which has libavcodec, libavformat and libavutil and then an older one which does not have libavutil but has the definitions in the other library. However you still have the libavutil library file from the other version present. Does that sound plausible?

You are right, BUT who runs ZM on debian ?

Posted: Thu May 04, 2006 7:29 pm
by wolfram
Hello Phil,
yes you are right. But I have no clue how to find which I can delete. I will try to fix the make files of zoneminder that they use just the manual installed ffmpeg sources and not the debian version.
I am almost sure thats just a version problem.

I will try to build the zm manually from THE manual installed ffmpeg. I tell you how far I come

If there are debian sarge users outside somewhere, maybe somebody can post how he got the ZM package to work on the latest sarge version.

CIAO Wolfram

PS: What I dont get is why the hell the ffmpeg maintainers did not update the debian sarge repository to the newest version.
Many debian people are having these problems, also for other sw packages than zm.
The zm debian package what is supposed to be on one of the networks posted herin is not anymore correct and even worth its outdated for the current debian sarge version. Maybe somebody can put a hint somewhere on the zm page.

:?

Posted: Thu May 04, 2006 7:39 pm
by zoneminder
I think you'll find that the ffmpeg people are not big fans of releases at all. The _only_ version they support is the cvs version, which of course can (and usually does) change overnight so it makes it a total pain to keep up. I know a lot of people find it really annoying.

ffmeg installation on debian wih zm solved

Posted: Sat May 06, 2006 6:37 am
by wolfram
Hi Phil,
yes the manual compile of ffmpeg did the trick to solve the avutil problem I had.
Now I will go the rest of the way to zm working...

Phil, I discover it takes less and less time to install zm, once you know what i sneeded.
Maybe I will write a little debian zm install addendum...

Cheers Wolfram

PS: Yes you are right regarding the ffmpeg people. Even though I cannot really understand why.
It should be no problem to run some scripts over night to build the package , once the scripts are created.
And there is A (!!!) packet. but OLD.

Posted: Tue May 09, 2006 3:54 pm
by zoneminder
If you check on another thread there is a user offering a bit of money for anyone who will write an install guide for Debian, so you might want to check that out if you are going to do one anyway.

ffmpeg on debian for zm how to on debian

Posted: Mon Sep 25, 2006 5:49 am
by wolfram
Hello all Pre-Debian Users ;-).

For those who had a similar problem again a more descriptive info what I did to solve the ffmpeg problem.

(please read the complete post first)
the trick is, do NOT use the ffmpeg debian package or any prebuild package what you might find on the web. The ffmpeg people DO NOT !!! provide any package for debian as far as I know. Any package you might find is outdated or does NOT match with your specific installation. Thats my experience.

This means for installing on DEBIAN:

You have to manually build the ffmpeg libs which is in special the libavutils.
so
1. get the latest CVS version of ffmpeg

2. compile and build the package.

3. tell zm to use the new build lib and where it is.

1. run this comand : svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
be sure that your firewall or router supports the routing of svn ports

see here a list of port numbers for subversion
http://en.wikipedia.org/wiki/List_of_TC ... rt_numbers

Put the repository output into /usr/local/src

2. Run the linux commands configure make make install

3. Tell the ZM configure script to use a special ffmpeg
the option when you run the ./configure script is
–with-ffmpeg=<path to ffmpeg root> which is wheer you have build the ffmpeg package

That should work.
I dont remeber the exact order I installed all this, but at the end this was the way I got it to work under debian.

Regards Wolfram

_________________
wolfram