dickontoo / omxtx

OpenMAX transcoder for the Raspberry Pi
GNU General Public License v2.0
117 stars 36 forks source link

Doesn't seem to compile anymore #10

Open rickarddahlstrand opened 10 years ago

rickarddahlstrand commented 10 years ago

I get this error when trying to compile on an update system.

root@sovrum:~/dd/omxtx# make gcc -Wall -Wno-format -g -I/opt/vc/include/IL -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -DSTANDALONE -DSTDC_CONSTANT_MACROS -DSTDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -L/usr/local/lib -I/usr/local/include -c omxtx.c omxtx.c:281:26: warning: ‘enum CodecID’ declared inside parameter list [enabled by default] omxtx.c:281:34: error: parameter 1 (‘id’) has incomplete type omxtx.c: In function ‘filter’: omxtx.c:785:4: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1095) [-Wdeprecated-declarations] omxtx.c:785:4: warning: ‘av_destruct_packet’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:3436) [-Wdeprecated-declarations] omxtx.c:788:9: warning: unused variable ‘err’ [-Wunused-variable] omxtx.c: In function ‘freepacket’: omxtx.c:1214:2: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1095) [-Wdeprecated-declarations] omxtx.c:1214:2: warning: ‘av_destruct_packet’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:3436) [-Wdeprecated-declarations] omxtx.c: In function ‘main’: omxtx.c:1659:5: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1095) [-Wdeprecated-declarations] make: *\ [omxtx.o] Error 1

dickontoo commented 10 years ago

Odd.

This is after an rpi-update just now:

rpi:/home/dickon/src/omxtxtoo/omxtx/ (0) 3 $ make gcc -Wall -Wno-format -g -I/opt/vc/include/IL -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -DSTANDALONE -DSTDC_CONSTANT_MACROS -DSTDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -L/usr/local/lib -I/usr/local/include -c omxtx.c
omxtx.c: In function ‘filter’:
omxtx.c:788:9: warning: unused variable ‘err’ [-Wunused-variable]
gcc -Xlinker -L/opt/vc/lib/ -Xlinker -L/usr/local/lib -Xlinker -R/usr/local/lib -lavformat -lavcodec -lavutil -lopenmaxil -lbcm_host -lvcos -lpthread -o omxtx omxtx.o rpi:/home/dickon/src/omxtxtoo/omxtx/ (0) 4 $ gcc --version gcc (Debian 4.6.3-14+rpi1) 4.6.3 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

rpi:/home/dickon/src/omxtxtoo/omxtx/ (0) 5 $

You probably need a newer libav*. I forget the version I'm using.

yyolk commented 10 years ago

I am getting the same error on Arch linux.

Probably because I don't have the libav

@dickontoo @rickarddahlstrand Can I ask what distro you both are using? Have you had success in compiling it with updating libav?

dickontoo commented 10 years ago

Raspbian for me. There's a suitable libav at http://newsplodge.fluff.org/~dickon/ffmpeg.tar.bz2 which is simply a tarball of the build tree of the version I used at the time. It'll need unpacking and a 'make install'ing.

yyolk commented 10 years ago

Thanks for the package! Still compiling… but will report back.

yyolk commented 10 years ago

The ffmpeg package you provided was a nice step forward. But I'm still getting an error when trying to compile omxtx.

Different errors than before though:

/root/omxtx-master/omxtx.c:495: undefined reference to `av_strerror'
/root/omxtx-master/omxtx.c:504: undefined reference to `av_rescale_q'
/root/omxtx-master/omxtx.c:511: undefined reference to `av_free_packet'
omxtx.o: In function `dofiltertest':
/root/omxtx-master/omxtx.c:755: undefined reference to `av_bitstream_filter_init'
omxtx.o: In function `filter':
/root/omxtx-master/omxtx.c:778: undefined reference to `av_bitstream_filter_filter'
/root/omxtx-master/omxtx.c:784: undefined reference to `av_free_packet'
/root/omxtx-master/omxtx.c:803: undefined reference to `av_destruct_packet'
omxtx.o: In function `freepacket':
/root/omxtx-master/omxtx.c:1215: undefined reference to `av_free_packet'
/root/omxtx-master/omxtx.c:1216: undefined reference to `av_destruct_packet'
omxtx.o: In function `getnextvideopacket':
/root/omxtx-master/omxtx.c:1224: undefined reference to `av_read_frame'
/root/omxtx-master/omxtx.c:1243: undefined reference to `av_init_packet'
/root/omxtx-master/omxtx.c:1245: undefined reference to `av_free_packet'
omxtx.o: In function `main':
/root/omxtx-master/omxtx.c:1336: undefined reference to `av_register_all'
/root/omxtx-master/omxtx.c:1359: undefined reference to `avformat_open_input'
/root/omxtx-master/omxtx.c:1366: undefined reference to `avformat_find_stream_info'
/root/omxtx-master/omxtx.c:1371: undefined reference to `av_dump_format'
/root/omxtx-master/omxtx.c:1373: undefined reference to `av_find_best_stream'
/root/omxtx-master/omxtx.c:1551: undefined reference to `av_rescale_q'
/root/omxtx-master/omxtx.c:1640: undefined reference to `av_init_packet'
/root/omxtx-master/omxtx.c:1662: undefined reference to `av_rescale_q'
/root/omxtx-master/omxtx.c:1697: undefined reference to `av_free'
/root/omxtx-master/omxtx.c:1720: undefined reference to `av_interleaved_write_frame'
/root/omxtx-master/omxtx.c:1723: undefined reference to `av_strerror'
/root/omxtx-master/omxtx.c:1727: undefined reference to `av_free_packet'
/root/omxtx-master/omxtx.c:1768: undefined reference to `av_free_packet'
/root/omxtx-master/omxtx.c:1778: undefined reference to `av_write_trailer'
/root/omxtx-master/omxtx.c:1781: undefined reference to `avcodec_close'
/root/omxtx-master/omxtx.c:1783: undefined reference to `avio_close'
collect2: error: ld returned 1 exit status
Makefile:17: recipe for target 'omxtx' failed
make: *** [omxtx] Error 1
felixdreinulldrei commented 9 years ago

Thanks Dickontoo for OMXTX. As long as I compile this with ffmpeg 1.06 libraries, everything works well. But maybe there is a little chance for you to update this to work/compile with some more recent ffmpeg version ?? It's just because newer ffmpeg versions handle some kind of .ts streams from receiver much better than the older ffmpegs.

dickontoo commented 9 years ago

Please paste the compile session -- how does it fail?

felixdreinulldrei commented 9 years ago

Hi, here is the paste:

gcc -Wall -Wno-format -g -I/opt/vc/include/IL -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -DSTANDALONE -DSTDC_CONSTANT_MACROS -DSTDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -L/usr/local/lib -I/usr/local/include -c omxtx.c omxtx.c:281:26: warning: ‘enum CodecID’ declared inside parameter list [enabled by default] omxtx.c:281:34: error: parameter 1 (‘id’) has incomplete type omxtx.c: In function ‘filter’: omxtx.c:785:4: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1194) [-Wdeprecated-declarations] omxtx.c:785:4: warning: ‘av_destruct_packet’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:3764) [-Wdeprecated-declarations] omxtx.c:788:9: warning: unused variable ‘err’ [-Wunused-variable] omxtx.c: In function ‘freepacket’: omxtx.c:1214:2: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1194) [-Wdeprecated-declarations] omxtx.c:1214:2: warning: ‘av_destruct_packet’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:3764) [-Wdeprecated-declarations] omxtx.c: In function ‘main’: omxtx.c:1660:5: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1194) [-Wdeprecated-declarations] Makefile:14: recipe for target 'omxtx.o' failed make: *\ [omxtx.o] Error 1

felixdreinulldrei commented 8 years ago

anyone else making it work latest ffmpeg libraries?

jpdavies commented 8 years ago

[UPDATE BELOW!!!] The following worked for me. Some bits commented out, not sure they're needed since I haven't properly re-ran the guide on an un-tangled fresh install of Raspbian Jessie:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-get -y install git make libmp3lame-dev libopenjpeg-dev libschroedinger-dev libspeex-dev libtheora-dev libvorbis-dev libx264-dev #libs for compiling ffmpeg
cd
wget http://ffmpeg.org/releases/ffmpeg-2.8.4.tar.bz2
tar -xf ffmpeg-2.8.4.tar.bz2
cd ffmpeg-2.8.4
./configure --enable-gpl --enable-postproc --enable-pthreads --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-shared --enable-nonfree --enable-libvorbis --enable-libspeex --enable-libschroedinger --enable-avfilter --enable-libopenjpeg --enable-version3 --enable-libmp3lame --enable-runtime-cpudetect --extra-cflags=-I/usr/local/include --extra-ldflags='-L/usr/local/lib -Xlinker -R/usr/local/lib'
make
sudo make install
# sudo apt-get autoclean && sudo apt-get clean && sudo apt-get autoremove
# sudo apt-get -y install libav-dbg libav-doc libav-tools libavcodec-dev libavfilter-dev libavformat-dev libavifile-0.7-dev libavresample-dev libavutil-dev libgroove-dev libswscale-dev # needed for omxtx?
cd
git clone https://github.com/dickontoo/omxtx
cd omxtx
nano omxtx.c

...change...

static int mapcodec(enum CodecID id)

...to...

static int mapcodec(enum AVCodecID id)

...save changes, exit, then...

make

[Update 2016-01-19]

The following works on a fresh install of the "Minibian" Raspbian Jessie image: Make sure the SD card has been resized with this guide. Update the fresh install:

apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade

Get the tools needed for rpi-update:

apt-get -y install curl binutils

Get rpi-update:

curl -L --output /usr/bin/rpi-update https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update && chmod +x /usr/bin/rpi-update

Run the rpi-update tool:

rpi-update

Handy utils for long-running SSH compile sessions:

apt-get -y install screen reptyr

Tools & libs for compiling ffmpeg:

apt-get -y install git bzip2 gcc make libmp3lame-dev libopenjpeg-dev libschroedinger-dev libspeex-dev libtheora-dev libvorbis-dev libx264-dev

Download, extract source, ./configure, make:

wget http://ffmpeg.org/releases/ffmpeg-2.8.4.tar.bz2
tar xjf ffmpeg-2.8.4.tar.bz2
cd ffmpeg-2.8.4
./configure --enable-gpl --enable-postproc --enable-pthreads --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-shared --enable-nonfree --enable-libvorbis --enable-libspeex --enable-libschroedinger --enable-avfilter --enable-libopenjpeg --enable-version3 --enable-libmp3lame --enable-runtime-cpudetect --extra-cflags=-I/usr/local/include --extra-ldflags='-L/usr/local/lib -Xlinker -R/usr/local/lib'
make

...now wait for four hours - it is a LONG compile! Eventually, install ffmpeg, download omxtx source:

make install
cd
git clone https://github.com/dickontoo/omxtx
cd omxtx

Install your favourite text editor:

apt-get -y install nano

Edit the omxtx.c source file:

nano omxtx.c

Change...

static int mapcodec(enum CodecID id)

...to...

static int mapcodec(enum AVCodecID id)

...save and make:

make
nano /boot/config.txt

Modify the GPU memory split:

gpu_mem=128

Finally reboot to load modified configuration:

reboot
ravn commented 7 years ago

I have now followed instructions to install ffmpeg 2.8.2 and try to clone and compile omxtx on a Raspberry 3 with Pixel 1.1 (Jessie Raspberry I think). I get some compilation warnings and the linker fails. I have not seen the "@LIBAVUTIL_54" suffix before. Have I missed a step?

pi@raspberrypi:/media/pi/bd6a11a4-bbe5-4fa0-a5e0-3a0c93924c19/home/pi/git/omxtx $ make
gcc -Wall -Wno-format -g -I/opt/vc/include/IL -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -L/usr/local/lib -I/usr/local/include -c omxtx.c
omxtx.c: In function ‘filter’:
omxtx.c:787:4: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1444) [-Wdeprecated-declarations]
    fp->destruct = av_destruct_packet;
    ^
omxtx.c:787:4: warning: ‘av_destruct_packet’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:4029) [-Wdeprecated-declarations]
omxtx.c:790:9: warning: unused variable ‘err’ [-Wunused-variable]
    char err[256];
         ^
omxtx.c: In function ‘freepacket’:
omxtx.c:1213:2: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1444) [-Wdeprecated-declarations]
  p->destruct = av_destruct_packet;
  ^
omxtx.c:1213:2: warning: ‘av_destruct_packet’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:4029) [-Wdeprecated-declarations]
omxtx.c: In function ‘main’:
omxtx.c:1659:5: warning: ‘destruct’ is deprecated (declared at /usr/local/include/libavcodec/avcodec.h:1444) [-Wdeprecated-declarations]
     pkt.destruct = freepacket;
     ^
gcc -Xlinker -R/opt/vc/lib -L/opt/vc/lib/ -Xlinker -L/usr/local/lib -Xlinker -R/usr/local/lib  -lavformat -lavcodec -lavutil -lopenmaxil -lbcm_host -lvcos -lpthread -o omxtx omxtx.o
/usr/local/lib/libavformat.so: undefined reference to `av_hash_final@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_fifo_alloc_array@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_hash_alloc@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_timecode_make_string@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_dynarray_add_nofree@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_ac3_parse_header2@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_bprint_append_data@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_timecode_make_smpte_tc_string@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_hash_freep@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_hash_update@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_h264_has_num_reorder_frames@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_hash_init@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_find_pix_fmt@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_parse_ratio@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_vorbis_parse_free@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_timecode_get_smpte_from_framenum@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_dict_set_int@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_fifo_freep@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_match_list@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_packet_pack_dictionary@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_escape@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_packet_merge_side_data@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_tea_init@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_opt_ptr@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_pix_fmt_bps_avi@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_tea_crypt@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_asprintf@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_append_path_component@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_dnxhd_get_interlaced@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `avcodec_get_name@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_timecode_init@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_bprintf@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_hash_get_name@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_frame_get_channels@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_add_stable@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_exif_decode_ifd@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_small_strptime@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_get_raw_pix_fmt_tags@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_codec_set_pkt_timebase@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_get_gamma_from_trc@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_pix_fmt_bps_mov@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_realloc_f@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_bprint_chars@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_memdup@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_copy_packet_side_data@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_timecode_init_from_string@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_codec_set_codec_descriptor@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_vorbis_parse_init@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_bprint_clear@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_opt_set_dict2@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_tea_alloc@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_codec_get_codec_descriptor@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_dnxhd_get_frame_size@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_packet_split_side_data@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_gettime_relative@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_frame_get_pkt_duration@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_calloc@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_opt_get_key_value@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_bprint_finalize@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_dict_get_string@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_hash_get_size@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_dynarray_add@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_strtok@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_codec_set_seek_preroll@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_bprint_init@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_bprint_to_extradata@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `avpriv_dca_convert_bitstream@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_dv_codec_profile2@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_tempfile@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_vorbis_parse_reset@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_opt_serialize@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_q2intfloat@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_copy_packet@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_get_media_type_string@LIBAVUTIL_54'
/usr/local/lib/libavformat.so: undefined reference to `av_vorbis_parse_frame_flags@LIBAVCODEC_56'
/usr/local/lib/libavformat.so: undefined reference to `av_timecode_check_frame_rate@LIBAVUTIL_54'
collect2: error: ld returned 1 exit status
Makefile:17: recipe for target 'omxtx' failed
make: *** [omxtx] Error 1
pi@raspberrypi:/media/pi/bd6a11a4-bbe5-4fa0-a5e0-3a0c93924c19/home/pi/git/omxtx $ 
DigitalMediageek commented 5 years ago

I have now followed instructions to install ffmpeg 2.8.2 and try to clone and compile omxtx on a Raspberry 3 with Pixel 1.1 (Jessie Raspberry I think). I get some compilation warnings and the linker fails. I have not seen the "@LIBAVUTIL_54" suffix before. Have I missed a step?

... 8< ... snip
/usr/local/lib/libavformat.so: undefined reference to `av_timecode_check_frame_rate@LIBAVUTIL_54'
collect2: error: ld returned 1 exit status
Makefile:17: recipe for target 'omxtx' failed
make: *** [omxtx] Error 1
pi@raspberrypi:/media/pi/bd6a11a4-bbe5-4fa0-a5e0-3a0c93924c19/home/pi/git/omxtx $ 

I had the same issue when installing libavutil-dev with apt-get and later installing ffmpeg from git. After removing libavutil-dev and doing a fresh install from git, it vanished. Maybe it helps.