Make errors, won't install.

Forum for questions and support relating to the 1.27.x releases only.
Locked
orsty3001
Posts: 49
Joined: Tue Jan 26, 2010 5:55 pm

Make errors, won't install.

Post by orsty3001 »

I'm trying to install zoneminder on Slackware64-current and get these errors when I try invoke make.

Code: Select all

/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/stimie/libav/libavcodec/opusdec.c:377: undefined reference to `avresample_is_open'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/stimie/libav/libavcodec/opusdec.c:221: undefined reference to `avresample_is_open'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_init_resample':
/home/stimie/libav/libavcodec/opusdec.c:163: undefined reference to `avresample_open'
/home/stimie/libav/libavcodec/opusdec.c:169: undefined reference to `avresample_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_frame':
/home/stimie/libav/libavcodec/opusdec.c:236: undefined reference to `avresample_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_flush_resample':
/home/stimie/libav/libavcodec/opusdec.c:118: undefined reference to `avresample_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_subpacket':
/home/stimie/libav/libavcodec/opusdec.c:409: undefined reference to `avresample_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_flush':
/home/stimie/libav/libavcodec/opusdec.c:558: undefined reference to `avresample_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_close':
/home/stimie/libav/libavcodec/opusdec.c:580: undefined reference to `avresample_free'
/usr/local/lib/libavcodec.a(opusdec.o): In function `opus_decode_init':
/home/stimie/libav/libavcodec/opusdec.c:630: undefined reference to `avresample_alloc_context'
/usr/local/lib/libavformat.a(matroskadec.o): In function `matroska_decode_buffer':
/home/stimie/libav/libavformat/matroskadec.c:1138: undefined reference to `BZ2_bzDecompressInit'
/home/stimie/libav/libavformat/matroskadec.c:1152: undefined reference to `BZ2_bzDecompress'
/home/stimie/libav/libavformat/matroskadec.c:1146: undefined reference to `BZ2_bzDecompressEnd'
/home/stimie/libav/libavformat/matroskadec.c:1155: undefined reference to `BZ2_bzDecompressEnd'
collect2: error: ld returned 1 exit status
make[2]: *** [src/nph-zms] Error 1
make[1]: *** [src/CMakeFiles/nph-zms.dir/all] Error 2
make: *** [all] Error 2
Not sure if this is the wrong version of ffmpeg, here are the details.

Code: Select all

ffmpeg version 2.2.1 Copyright (c) 2000-2014 the FFmpeg developers
  built on May  2 2014 16:38:13 with gcc 4.8.2 (GCC)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/man --enable-gpl --enable-version3 --enable-avfilter --enable-avresample --enable-libass --enable-libdc1394 --enable-libgsm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libzvbi --enable-postproc --enable-runtime-cpudetect --enable-vaapi --enable-vdpau --enable-memalign-hack --enable-pthreads --enable-x11grab --enable-bzlib --enable-zlib --enable-shared --enable-static --disable-debug --arch=x86_64 --enable-pic --extra-cflags='-I/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/include -DRUNTIME_CPUDETECT' --extra-ldflags='-L/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/lib64 -ldl -lssl -lcrypto -lz -lusb'
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libavresample   1.  2.  0 /  1.  2.  0
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
mastertheknife
Posts: 678
Joined: Wed Dec 16, 2009 4:32 pm
Location: Israel

Re: Make errors, won't install.

Post by mastertheknife »

Hi,
Your ffmpeg depends on the bz2 library, so we need to include it in our linking process.
If you are using cmake, add -DZM_EXTRA_LIBS="bz2" to your cmake command line.

EDIT: it seems you are also missing another library, a one that contains the avresample_* functions.
Your ffmpeg was built with --enable-avresample, so you will need to download that library and link to it aswell. This should get you going:

Code: Select all

-DZM_EXTRA_LIBS="avresample;bz2"
Kfir Itzhak.
Locked