Motion - Support Question 2006x 11x 17x 025432

undefined symbol: NeAACDecOpen when trying to run motion

Question

Every time I try to run motion I get an error message

I am using Slackware 11 with the 2.4.33 kernel. I installed a motion binary package from www.linuxpackages.net. It was version 3.2.7 of motion. Also when attempting to compile 3.2.7 I get a similar error msg.

I have ffmpeg version 20061004 mysql version 5.0.24a and postgresql version 8.1.5

The two error messages are what get attempting to run the precompile binary and then compiling 3.2.7. Following that is my .configure and make.

motion: symbol lookup error: /usr/lib/libavcodec.so: undefined symbol: NeAACDecOpen


checking for Darwin... no
checking for *BSD... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for pthread_create in -lpthread... yes
checking for libjpeg-mmx... skipping
checking for jpeg_set_defaults in -ljpeg... yes
checking for ffmpeg autodetecting... found
checking for ffmpeg headers... found
checking for MySQL... yes
checking for PostgreSQL... yes
checking for PQcmdTuples in -lpq... yes
checking for PQoidValue in -lpq... yes
checking for PQclientEncoding in -lpq... yes
checking for pg_encoding_to_char in -lpq... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for unistd.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking linux/videodev.h usability... yes
checking linux/videodev.h presence... yes
checking for linux/videodev.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for short int... yes
checking size of short int... 2
checking for int... yes
checking size of int... 4
checking for an ANSI C-conforming const... yes
Detected CPU: Pentium III (Coppermine)
CPU optimization: -march=pentium3 -mfpmath=sse -msse  -mmmx
checking for bswap instruction... yes
configure: creating ./config.status
config.status: creating motion.init-FreeBSD.sh
config.status: creating motion.init-Debian
config.status: creating motion.init-RH
config.status: creating motion.spec
config.status: creating Makefile

   ************************
   *   Configure status   *
   ************************

OS             :     Linux
pthread Support:     Yes
jpeg Support:        Yes
V4L included:        Yes
FFmpeg Support:      Yes
MYSQL Support:       Yes
PostgreSQL Support:  Yes

CFLAGS:  -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/
usr/include -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx
LIBS: -lm  -lpthread -ljpeg -L/usr/lib -lavformat -lavcodec -lm -lz -L/usr/lib -lmysqlclient -lz -L/us
r/lib -lpq
LDFLAGS:   -L/usr/lib

Install prefix:       /usr/local

Welcome to the setup procedure for Motion, the motion detection daemon! If you get
error messages during this procedure, please report them to the mailing list. The
Motion Guide contains all information you should need to get Motion up and running.
Run "make updateguide" to download the latest version of the Motion Guide.

Version:  3.2.7
Platform: Linux (if this is incorrect, please read README.FreeBSD)

Generating dependencies, please wait...

Compiling Motion object files...
--------------------------------------------------------------------------------
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o motion.o motion.c
In file included from ffmpeg.h:5,
                 from motion.c:9:
/usr/include/ffmpeg/avformat.h:247: warning: `AVFrac' is deprecated (declared at /usr/include/ffmpeg/a
vformat.h:100)
/usr/include/ffmpeg/avformat.h:403: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:406: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:411: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:416: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:417: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:418: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:418: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o conf.o conf.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o draw.o draw.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o video.o video.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o netcam.o netcam.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o netcam_ftp.o netcam_ftp.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o netcam_jpeg.o netcam_jpeg.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o netcam_wget.o netcam_wget.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o track.o track.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o alg.o alg.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o event.o event.c
In file included from ffmpeg.h:5,
                 from event.c:12:
/usr/include/ffmpeg/avformat.h:247: warning: `AVFrac' is deprecated (declared at /usr/include/ffmpeg/a
vformat.h:100)
/usr/include/ffmpeg/avformat.h:403: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:406: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:411: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:416: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:417: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:418: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:418: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o picture.o picture.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o rotate.o rotate.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o webhttpd.o webhttpd.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o webcam.o webcam.c
gcc -g -O2 -DHAVE_FFMPEG -I/usr/include/ffmpeg -DHAVE_MYSQL -I/usr/include/mysql -DHAVE_PGSQL -I/usr/i
nclude -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=pentium3 -mfpmath=sse -msse  -mmmx -Wall -DVERSION=\"3
.2.7\" -D_REENTRANT -Dsysconfdir=\"/usr/local/etc\"   -c -o ffmpeg.o ffmpeg.c
In file included from ffmpeg.h:5,
                 from ffmpeg.c:15:
/usr/include/ffmpeg/avformat.h:247: warning: `AVFrac' is deprecated (declared at /usr/include/ffmpeg/a
vformat.h:100)
/usr/include/ffmpeg/avformat.h:403: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:406: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:411: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:416: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:417: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm
peg/avformat.h:388)
/usr/include/ffmpeg/avformat.h:418: warning: `AVImageFormat' is deprecated (declared at /usr/include/f
fmpeg/avformat.h:409)
/usr/include/ffmpeg/avformat.h:418: warning: `AVImageInfo' is deprecated (declared at /usr/include/ffm                                       peg/avformat.h:388)
ffmpeg.c:26:4: warning: #warning **************************************************
ffmpeg.c:27:4: warning: #warning Your version of FFmpeg is newer than version 0.4.8
ffmpeg.c:28:4: warning: #warning Newer versions of ffmpeg do not support MPEG1 with
ffmpeg.c:29:4: warning: #warning non-standard framerate. MPEG1 will be disabled for
ffmpeg.c:30:4: warning: #warning normal video output. You can still use mpeg4 and
ffmpeg.c:31:4: warning: #warning and mpeg4ms which are both better in terms of size
ffmpeg.c:32:4: warning: #warning and quality. MPEG1 is always used for timelapse.
ffmpeg.c:33:4: warning: #warning Please read the Motion Guide for more information.
ffmpeg.c:34:4: warning: #warning Note that this is not an error message!
ffmpeg.c:35:4: warning: #warning **************************************************
--------------------------------------------------------------------------------
Motion object files compiled.

Linking Motion...
--------------------------------------------------------------------------------
gcc -L/usr/lib -o motion motion.o conf.o draw.o video.o netcam.o netcam_ftp.o netcam_jpeg.o netcam_wge                                       t.o track.o alg.o event.o picture.o rotate.o webhttpd.o webcam.o ffmpeg.o -lm  -lpthread -ljpeg -L/usr                                       /lib -lavformat -lavcodec -lm -lz -L/usr/lib -lmysqlclient -lz -L/usr/lib -lpq
/usr/lib/libavcodec.so: undefined reference to `NeAACDecDecode'
/usr/lib/libavcodec.so: undefined reference to `NeAACDecGetCurrentConfiguration'
/usr/lib/libavcodec.so: undefined reference to `NeAACDecInit'
/usr/lib/libavcodec.so: undefined reference to `NeAACDecOpen'
/usr/lib/libavcodec.so: undefined reference to `NeAACDecGetErrorMessage'
/usr/lib/libavcodec.so: undefined reference to `NeAACDecInit2'
/usr/lib/libavcodec.so: undefined reference to `NeAACDecSetConfiguration'
collect2: ld returned 1 exit status
make: *** [motion] Error 1


Environment

Motion version: 3.2.7
ffmpeg version: 0.4.9pre1
Libraries: ffmpeg, mysql, postgresql
Server OS: Slackware 11 2.4.3

-- JohnBall - 17 Nov 2006

Answer

From what I can see all around Motion is OK.

But something is missing in the ffmpeg libs. Probably some dependency that is not satisfied.

You have two options. Either find out what is missing.

Or uninstall the ffmpeg and compile your own. If that is what you did you may try a newer version of ffmpeg. I compiled a fresh SVN checkout from the ffmpeg project two days ago and it compiled fine. And Motion compiled fine with it also.

All the deprecation warnings you get are OK and can be ignored. Another silly thing from the ffmpeg team.

I just Googled for the error. Some links

So common problem. And with a solution. If you do not use ffmpeg for anything else, uninstalling it and building latest SVN from source will probably work.

Remember to build ffmpeg with ./configure --enable-shared followed by make and make install.

-- KennethLavrsen - 17 Nov 2006
Topic revision: r2 - 17 Nov 2006, KennethLavrsen
Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Please do not email Kenneth for support questions (read why). Use the Support Requests page or join the Mailing List.
This website only use harmless session cookies. See Cookie Policy for details. By using this website you accept the use of these cookies.