Project

General

Profile

Link error on Debian (Raspberry Pi)

Added by Jan Mrázek about 9 years ago

Hello,

I am trying to build the newest Tvheadend from source on Raspberry Pi. I think I have all the neccessary libraries, however I cannot link it together:

/tmp/tvheadend/build.linux/src/plumbing/transcoding.o: In function `create_video_filter':
/tmp/tvheadend-build/tvheadend/src/plumbing/transcoding.c:1115: undefined reference to `avfilter_graph_parse_ptr'
/tmp/tvheadend-build/tvheadend/src/plumbing/transcoding.c:1093: undefined reference to `av_int_list_length_for_size'

What am I doing wrong?


Replies (7)

RE: Link error on Debian (Raspberry Pi) - Added by Prof Yaffle about 9 years ago

If you've built it previously, try removing libav_static or running make distclean first

RE: Link error on Debian (Raspberry Pi) - Added by Jan Mrázek about 9 years ago

I tried running it and it didn't help. Where is the libav_static directory located? I cannot find it in the root of the sources...

This is the list of ffmpeg related libraries on my system:

  libavcodec                               56.60.100
  libavutil                                54.31.100
  libavformat                              56.40.101
  libavfilter                              5.40.101
  libavresample                            2.1.0

RE: Link error on Debian (Raspberry Pi) - Added by Prof Yaffle about 9 years ago

Apologies - I leapt to a conclusion.

If you're relying on the libraries on your system, you're likely to end up with problems. Try building with static ffmpeg, and then you'll download and build a more recent version - that's what will appear in libav_static in the root of your git clone.

You need to add AUTOBUILD_CONFIGURE_EXTRA="--enable-libffmpeg_static" if you're building a deb, or otherwise add this to configure ... I run on an Intel 64 platform, so don't know what the options would be, I'm afraid.

RE: Link error on Debian (Raspberry Pi) - Added by Jan Mrázek about 9 years ago

I tried to remove all the FFmpeg related libraries and compile them from source. Even the configure scirpt complained there's no libavresample, it generated Makefile and compiled just fine.

RE: Link error on Debian (Raspberry Pi) - Added by Icarus XinHong about 9 years ago

Looks like I have the same error. How did you solve it ? (beginner)

src/plumbing/transcoding.c: In function ‘create_video_filter’:
src/plumbing/transcoding.c:1093:3: error: implicit declaration of function ‘av_opt_set_int_list’ [-Werror=implicit -function-declaration]
src/plumbing/transcoding.c:1115:3: error: implicit declaration of function ‘avfilter_graph_parse_ptr’ [-Werror=imp licit-function-declaration]
cc1: all warnings being treated as errors
Makefile:562: recipe for target '/home/pi/temp/tvheadend/build.linux/src/plumbing/transcoding.o' failed
make: *** [/home/pi/temp/tvheadend/build.linux/src/plumbing/transcoding.o] Error 1

RE: Link error on Debian (Raspberry Pi) - Added by Jan Mrázek about 9 years ago

I uninstalled all the FFmpeg related libraries (list is on FFmpeg github).

Then I cloned https://github.com/FFmpeg/FFmpeg, `./configure && make`, `sudo make install`. Then I reconfigured Tvheadend ignoring all the errors.

RE: Link error on Debian (Raspberry Pi) - Added by Icarus XinHong about 9 years ago

Thanks for the tip, it's working

    (1-7/7)