[Solved] make errors: FFMpeg undefined reference to ...

Support for running, installing or compiling OpenMW

Before you submit a bug report for the first time, please read: Bug reporting guidelines
Locked
jetimms
Posts: 6
Joined: 30 Jan 2013, 13:10

[Solved] make errors: FFMpeg undefined reference to ...

Post by jetimms »

Hi.

I thought I had installed and compiled all of the necessary libraries, but I am getting the below errors in the make stage (cmake ran without errors.)

I've googled and found something saying that FFmpeg is a C library and therefore all .h includes must be wrapped in an "C extern" block. Is this true? If so, how is this done, or better yet how do I find out where?

Any ideas? Thanks!

Code: Select all

[ 67%] Building CXX object apps/openmw/CMakeFiles/openmw.dir/engine.cpp.o       
Linking CXX executable ../../openmw                                             
/usr/local/lib/libavformat.a(allformats.o): In function `av_register_all':      
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/allformats.c:61: undefined reference to `avcodec_register_all'
/usr/local/lib/libavformat.a(dv.o): In function `avpriv_dv_produce_packet':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/dv.c:364: undefined reference to `avpriv_dv_frame_profile'
/usr/local/lib/libavformat.a(dv.o): In function `dv_read_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/dv.c:511: undefined reference to `avpriv_dv_frame_profile'
/usr/local/lib/libavformat.a(dv.o): In function `dv_frame_offset':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/dv.c:413: undefined reference to `avpriv_dv_codec_profile'
/usr/local/lib/libavformat.a(dvenc.o): In function `dv_init_mux':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/dvenc.c:317: undefined reference to `avpriv_dv_codec_profile'
/usr/local/lib/libavformat.a(flacdec.o): In function `flac_read_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/flacdec.c:178: undefined reference to `avpriv_flac_parse_block_header'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/flacdec.c:216: undefined reference to `avpriv_flac_parse_streaminfo'
/usr/local/lib/libavformat.a(flacenc.o): In function `flac_write_trailer':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/flacenc.c:106: undefined reference to `avpriv_flac_is_extradata_valid'
/usr/local/lib/libavformat.a(flacenc_header.o): In function `ff_flac_write_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/flacenc_header.c:37: undefined reference to `avpriv_flac_is_extradata_valid'
/usr/local/lib/libavformat.a(frmdec.o): In function `frm_read_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/frmdec.c:64: undefined reference to `avpriv_find_pix_fmt'
/usr/local/lib/libavformat.a(isom.o): In function `ff_mp4_read_dec_config_descr':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/isom.c:460: undefined reference to `avpriv_mpeg4audio_get_config'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/isom.c:464: undefined reference to `avpriv_mpa_freq_tab'
/usr/local/lib/libavformat.a(latmenc.o): In function `latm_decode_extradata':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/latmenc.c:63: undefined reference to `avpriv_mpeg4audio_get_config'
/usr/local/lib/libavformat.a(latmenc.o): In function `latm_write_packet':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/latmenc.c:196: undefined reference to `avpriv_copy_bits'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/latmenc.c:198: undefined reference to `avpriv_align_put_bits'
/usr/local/lib/libavformat.a(latmenc.o): In function `latm_write_frame_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/latmenc.c:123: undefined reference to `avpriv_copy_bits'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/latmenc.c:129: undefined reference to `avpriv_copy_pce_data'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/latmenc.c:119: undefined reference to `avpriv_copy_bits'
/usr/local/lib/libavformat.a(latmenc.o): In function `latm_write_packet':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/latmenc.c:194: undefined reference to `avpriv_copy_bits'
/usr/local/lib/libavformat.a(matroskadec.o): In function `matroska_read_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/matroskadec.c:1650: undefined reference to `avpriv_mpeg4audio_sample_rates'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/matroskadec.c:1650: undefined reference to `avpriv_mpeg4audio_sample_rates'
/usr/local/lib/libavformat.a(matroskaenc.o): In function `put_xiph_codecpriv':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/matroskaenc.c:432: undefined reference to `avpriv_split_xiph_headers'
/usr/local/lib/libavformat.a(matroskaenc.o): In function `get_aac_sample_rates':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/matroskaenc.c:452: undefined reference to `avpriv_mpeg4audio_get_config'
/usr/local/lib/libavformat.a(mov.o): In function `mov_read_dac3':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mov.c:650: undefined reference to `avpriv_ac3_channel_layout_tab'
/usr/local/lib/libavformat.a(mov.o): In function `mov_read_dec3':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mov.c:677: undefined reference to `avpriv_ac3_channel_layout_tab'
/usr/local/lib/libavformat.a(mp3dec.o): In function `check':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3dec.c:266: undefined reference to `avpriv_mpegaudio_decode_header'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3dec.c:266: undefined reference to `avpriv_mpegaudio_decode_header'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3dec.c:266: undefined reference to `avpriv_mpegaudio_decode_header'
/usr/local/lib/libavformat.a(mp3dec.o): In function `mp3_parse_vbr_tags':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3dec.c:128: undefined reference to `avpriv_mpegaudio_decode_header'
/usr/local/lib/libavformat.a(mp3dec.o): In function `mp3_read_probe':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3dec.c:68: undefined reference to `avpriv_mpa_decode_header'
/usr/local/lib/libavformat.a(mp3enc.o): In function `mp3_write_audio_packet':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:272: undefined reference to `avpriv_mpegaudio_decode_header'
/usr/local/lib/libavformat.a(mp3enc.o): In function `mp3_write_xing':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:136: undefined reference to `avpriv_mpa_freq_tab'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:136: undefined reference to `avpriv_mpa_freq_tab'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:136: undefined reference to `avpriv_mpa_freq_tab'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:167: undefined reference to `avpriv_mpegaudio_decode_header'
/usr/local/lib/libavformat.a(mp3enc.o):/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mp3enc.c:167: more undefined references to `avpriv_mpegaudio_decode_header' follow
/usr/local/lib/libavformat.a(mpegtsenc.o): In function `mpegts_write_packet_internal':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mpegtsenc.c:1100: undefined reference to `avpriv_mpv_find_start_code'
/usr/local/lib/libavformat.a(mxfenc.o): In function `mxf_parse_dnxhd_frame':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/mxfenc.c:1415: undefined reference to `avpriv_dnxhd_get_frame_size'
/usr/local/lib/libavformat.a(nutenc.o): In function `find_expected_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/nutenc.c:64: undefined reference to `avpriv_mpa_freq_tab'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/nutenc.c:73: undefined reference to `avpriv_mpa_bitrate_tab'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/nutenc.c:64: undefined reference to `avpriv_mpa_freq_tab'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/nutenc.c:73: undefined reference to `avpriv_mpa_bitrate_tab'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/nutenc.c:64: undefined reference to `avpriv_mpa_freq_tab'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/nutenc.c:73: undefined reference to `avpriv_mpa_bitrate_tab'
/usr/local/lib/libavformat.a(oggenc.o): In function `ogg_write_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggenc.c:484: undefined reference to `avpriv_split_xiph_headers'
/usr/local/lib/libavformat.a(oggenc.o): In function `ogg_build_flac_headers':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggenc.c:314: undefined reference to `avpriv_flac_is_extradata_valid'
/usr/local/lib/libavformat.a(oggparsedirac.o): In function `dirac_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggparsedirac.c:40: undefined reference to `avpriv_dirac_parse_sequence_header'
/usr/local/lib/libavformat.a(oggparseflac.o): In function `flac_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggparseflac.c:59: undefined reference to `avpriv_flac_parse_streaminfo'
/usr/local/lib/libavformat.a(oggparsevorbis.o): In function `vorbis_packet':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggparsevorbis.c:322: undefined reference to `avpriv_vorbis_parse_reset'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggparsevorbis.c:325: undefined reference to `avpriv_vorbis_parse_frame'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggparsevorbis.c:334: undefined reference to `avpriv_vorbis_parse_frame'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggparsevorbis.c:356: undefined reference to `avpriv_vorbis_parse_frame'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggparsevorbis.c:351: undefined reference to `avpriv_vorbis_parse_reset'
/usr/local/lib/libavformat.a(oggparsevorbis.o): In function `vorbis_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/oggparsevorbis.c:296: undefined reference to `avpriv_vorbis_parse_extradata'
/usr/local/lib/libavformat.a(rtpdec_jpeg.o): In function `jpeg_create_huffman_table':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/usr/local/lib/libavformat.a(rtpdec_jpeg.o):/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: more undefined references to `avpriv_mjpeg_bits_dc_luminance' follow
/usr/local/lib/libavformat.a(rtpdec_jpeg.o): In function `jpeg_create_huffman_table':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:96: undefined reference to `avpriv_mjpeg_val_dc'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:220: undefined reference to `avpriv_mjpeg_val_dc'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/usr/local/lib/libavformat.a(rtpdec_jpeg.o):/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: more undefined references to `avpriv_mjpeg_bits_dc_chrominance' follow
/usr/local/lib/libavformat.a(rtpdec_jpeg.o): In function `jpeg_create_huffman_table':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_luminance'
/usr/local/lib/libavformat.a(rtpdec_jpeg.o):/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: more undefined references to `avpriv_mjpeg_bits_dc_luminance' follow
/usr/local/lib/libavformat.a(rtpdec_jpeg.o): In function `jpeg_create_huffman_table':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_dc_chrominance'
/usr/local/lib/libavformat.a(rtpdec_jpeg.o):/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: more undefined references to `avpriv_mjpeg_bits_dc_chrominance' follow
/usr/local/lib/libavformat.a(rtpdec_jpeg.o): In function `jpeg_create_huffman_table':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:96: undefined reference to `avpriv_mjpeg_val_dc'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:220: undefined reference to `avpriv_mjpeg_val_dc'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_luminance'
/usr/local/lib/libavformat.a(rtpdec_jpeg.o):/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: more undefined references to `avpriv_mjpeg_bits_ac_luminance' follow
/usr/local/lib/libavformat.a(rtpdec_jpeg.o): In function `jpeg_create_huffman_table':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:96: undefined reference to `avpriv_mjpeg_val_ac_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:220: undefined reference to `avpriv_mjpeg_val_ac_luminance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: undefined reference to `avpriv_mjpeg_bits_ac_chrominance'
/usr/local/lib/libavformat.a(rtpdec_jpeg.o):/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:92: more undefined references to `avpriv_mjpeg_bits_ac_chrominance' follow
/usr/local/lib/libavformat.a(rtpdec_jpeg.o): In function `jpeg_create_huffman_table':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:96: undefined reference to `avpriv_mjpeg_val_ac_chrominance'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpdec_jpeg.c:220: undefined reference to `avpriv_mjpeg_val_ac_chrominance'
/usr/local/lib/libavformat.a(rtpenc_mpv.o): In function `ff_rtp_send_mpegvideo':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpenc_mpv.c:59: undefined reference to `avpriv_mpv_find_start_code'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/rtpenc_mpv.c:59: undefined reference to `avpriv_mpv_find_start_code'
/usr/local/lib/libavformat.a(sdp.o): In function `xiph_extradata2config':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:283: undefined reference to `avpriv_split_xiph_headers'
/usr/local/lib/libavformat.a(sdp.o): In function `latm_context2config':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:373: undefined reference to `avpriv_mpeg4audio_sample_rates'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:373: undefined reference to `avpriv_mpeg4audio_sample_rates'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:373: undefined reference to `avpriv_mpeg4audio_sample_rates'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:373: undefined reference to `avpriv_mpeg4audio_sample_rates'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:373: undefined reference to `avpriv_mpeg4audio_sample_rates'
/usr/local/lib/libavformat.a(sdp.o):/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:373: more undefined references to `avpriv_mpeg4audio_sample_rates' follow
/usr/local/lib/libavformat.a(sdp.o): In function `extradata2psets':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:171: undefined reference to `av_bitstream_filter_init'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:187: undefined reference to `av_bitstream_filter_filter'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:188: undefined reference to `av_bitstream_filter_close'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/sdp.c:183: undefined reference to `av_bitstream_filter_close'
/usr/local/lib/libavformat.a(spdifdec.o): In function `spdif_get_offset_and_codec':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/spdifdec.c:60: undefined reference to `avpriv_aac_parse_header'
/usr/local/lib/libavformat.a(spdifenc.o): In function `spdif_header_dts':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/spdifenc.c:255: undefined reference to `avpriv_dca_sample_rates'
/usr/local/lib/libavformat.a(spdifenc.o): In function `spdif_header_aac':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/spdifenc.c:354: undefined reference to `avpriv_aac_parse_header'
/usr/local/lib/libavformat.a(takdec.o): In function `tak_read_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/takdec.c:119: undefined reference to `avpriv_tak_parse_streaminfo'
/usr/local/lib/libavformat.a(utils.o): In function `ff_free_stream':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:3193: undefined reference to `av_parser_close'
/usr/local/lib/libavformat.a(utils.o): In function `ff_read_frame_flush':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:1624: undefined reference to `av_parser_close'
/usr/local/lib/libavformat.a(utils.o): In function `has_decode_delay_been_guessed':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:916: undefined reference to `avpriv_h264_has_num_reorder_frames'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:916: undefined reference to `avpriv_h264_has_num_reorder_frames'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:916: undefined reference to `avpriv_h264_has_num_reorder_frames'
/usr/local/lib/libavformat.a(utils.o): In function `parse_packet':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:1285: undefined reference to `av_parser_parse2'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:1352: undefined reference to `av_parser_close'
/usr/local/lib/libavformat.a(utils.o): In function `read_frame_internal':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:1423: undefined reference to `av_parser_init'
/usr/local/lib/libavformat.a(utils.o): In function `avformat_find_stream_info':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:2702: undefined reference to `av_parser_init'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:2981: undefined reference to `avcodec_pix_fmt_to_codec_tag'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:2982: undefined reference to `ff_raw_pix_fmt_tags'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:2982: undefined reference to `avpriv_find_pix_fmt'
/usr/local/lib/libavformat.a(utils.o): In function `estimate_timings_from_pts':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:2303: undefined reference to `av_parser_close'
/usr/local/lib/libavformat.a(utils.o): In function `ff_read_frame_flush':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:1624: undefined reference to `av_parser_close'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:1624: undefined reference to `av_parser_close'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:1624: undefined reference to `av_parser_close'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/utils.c:1624: undefined reference to `av_parser_close'
/usr/local/lib/libavformat.a(ac3dec.o): In function `ac3_eac3_probe':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/ac3dec.c:58: undefined reference to `avpriv_ac3_parse_header'
/usr/local/lib/libavformat.a(adtsenc.o): In function `adts_decode_extradata':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/adtsenc.c:50: undefined reference to `avpriv_mpeg4audio_get_config'
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/adtsenc.c:82: undefined reference to `avpriv_copy_pce_data'
/usr/local/lib/libavformat.a(adxdec.o): In function `adx_read_header':
/home/jetimms/Downloads/FFmpeg/ffmpeg/libavformat/adxdec.c:90: undefined reference to `avpriv_adx_decode_header'
/usr/local/lib/libMyGUI.OgrePlatform.a(MyGUI_OgreDataManager.cpp.o): In function `Ogre::SharedPtr<std::vector<Ogre::FileInfo, std::allocator<Ogre::FileInfo> > >::destroy()':
MyGUI_OgreDataManager.cpp:(.text._ZN4Ogre9SharedPtrISt6vectorINS_8FileInfoESaIS2_EEE7destroyEv[Ogre::SharedPtr<std::vector<Ogre::FileInfo, std::allocator<Ogre::FileInfo> > >::destroy()]+0x65): undefined reference to `Ogre::NedAllocImpl::deallocBytes(void*)'
MyGUI_OgreDataManager.cpp:(.text._ZN4Ogre9SharedPtrISt6vectorINS_8FileInfoESaIS2_EEE7destroyEv[Ogre::SharedPtr<std::vector<Ogre::FileInfo, std::allocator<Ogre::FileInfo> > >::destroy()]+0x8a): undefined reference to `Ogre::NedAllocImpl::deallocBytes(void*)'
MyGUI_OgreDataManager.cpp:(.text._ZN4Ogre9SharedPtrISt6vectorINS_8FileInfoESaIS2_EEE7destroyEv[Ogre::SharedPtr<std::vector<Ogre::FileInfo, std::allocator<Ogre::FileInfo> > >::destroy()]+0x53): undefined reference to `Ogre::NedAllocImpl::deallocBytes(void*)'
/usr/local/lib/libMyGUI.OgrePlatform.a(MyGUI_OgreVertexBuffer.cpp.o): In function `Ogre::NedAllocPolicy::deallocateBytes(void*)':
/usr/include/OGRE/OgreMemoryNedAlloc.h:69: undefined reference to `Ogre::NedAllocImpl::deallocBytes(void*)'
/usr/local/lib/libMyGUI.OgrePlatform.a(MyGUI_OgreVertexBuffer.cpp.o): In function `Ogre::AllocatedObject<Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)1> >::operator new(unsigned long)':
/usr/include/OGRE/OgreMemoryNedAlloc.h:65: undefined reference to `Ogre::NedAllocImpl::allocBytes(unsigned long, char const*, int, char const*)'
/usr/local/lib/libMyGUI.OgrePlatform.a(MyGUI_OgreVertexBuffer.cpp.o): In function `MyGUI::OgreVertexBuffer::createVertexBuffer()':
/home/jetimms/Downloads/MyGUI/my-gui/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreVertexBuffer.cpp:33: undefined reference to `Ogre::VertexData::VertexData()'
/usr/local/lib/libMyGUI.OgrePlatform.a(MyGUI_OgreVertexBuffer.cpp.o): In function `Ogre::NedAllocPolicy::deallocateBytes(void*)':
/usr/include/OGRE/OgreMemoryNedAlloc.h:69: undefined reference to `Ogre::NedAllocImpl::deallocBytes(void*)'
collect2: ld returned 1 exit status
make[2]: *** [openmw] Error 1
make[1]: *** [apps/openmw/CMakeFiles/openmw.dir/all] Error 2
make: *** [all] Error 2
[root@mepis11-00 build]#
Last edited by jetimms on 02 Feb 2013, 07:22, edited 1 time in total.
Chris
Posts: 1626
Joined: 04 Sep 2011, 08:33

Re: make errors: FFMpeg undefined reference to (lots of stuf

Post by Chris »

jetimms wrote:I thought I had installed and compiled all of the necessary libraries, but I am getting the below errors in the make stage (cmake ran without errors.)

I've googled and found something saying that FFmpeg is a C library and therefore all .h includes must be wrapped in an "C extern" block. Is this true? If so, how is this done, or better yet how do I find out where?
The 'extern "C"' bit is already handled. It looks like you're linking to libs statically, and those static libs are having trouble finding functions from other libs. Perhaps the library list is incorrectly ordered? Someone else would have to comment on that.
jetimms
Posts: 6
Joined: 30 Jan 2013, 13:10

Re: make errors: FFMpeg undefined reference to (lots of stuf

Post by jetimms »

Should the libraries be linked dynamically, or is statically okay?

Actually, I'm not sure where that part is taken care of, nor the order of the libraries.

Thanks for the quick response.
jetimms
Posts: 6
Joined: 30 Jan 2013, 13:10

Re: make errors: FFMpeg undefined reference to (lots of stuf

Post by jetimms »

I'm reviewing the necessary packages and I realized I do not have Audiere installed. I cannot find it via Synaptic, so I've downloaded the 1.9.3 and 1.9.4 binaries and ran configure/make. I got the following for both:

Code: Select all

In file included from basic_source.h:5,
                 from basic_source.cpp:1:
audiere.h: In function 'void audiere::SplitString(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, const char*, char)':
audiere.h:817: error: 'strchr' was not declared in this scope
audiere.h: In function 'void audiere::GetSupportedFileFormats(std::vector<audiere::FileFormatDesc, std::allocator<audiere::FileFormatDesc> >&)':
audiere.h:846: error: 'strchr' was not declared in this scope
In file included from basic_source.cpp:3:
utility.h: In member function 'void audiere::QueueBuffer::write(void*, int)':
utility.h:164: error: 'memcpy' was not declared in this scope
utility.h: In member function 'int audiere::QueueBuffer::read(void*, int)':
utility.h:170: error: 'memcpy' was not declared in this scope
utility.h:171: error: 'memmove' was not declared in this scope
make[3]: *** [basic_source.lo] Error 1
make[3]: Leaving directory `/home/jetimms/Downloads/Audiere/audiere-1.9.3/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jetimms/Downloads/Audiere/audiere-1.9.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jetimms/Downloads/Audiere/audiere-1.9.3'
make: *** [all] Error 2
$ 
So instead of using the binaries, I downloaded the source. I don't know what to do here. I tried running bootstrap, but it didn't work. Now I'm kind of out of my element. I've tried running ./bootstrap and each of the bourne scripts, but nothing worked.

Any ideas? I'm probably barking up the wrong tree since my original error was about FFmpeg, but it is something I think I'm missing.
jetimms
Posts: 6
Joined: 30 Jan 2013, 13:10

Re: make errors: FFMpeg undefined reference to (lots of stuf

Post by jetimms »

Never mind the last question. I figured out that I needed autoconf, automake, and libtool installed via apt-get/Synaptic before ./bootstrap would work.

I found I needed this for OIS too.

This is my first time compiling packages from source, so I didn't know about the above. I'm used to ./configure, ./make, and ./make install, but not ./bootstrap.

Anyhow, when I tried making after bootstrapping/configuring, I got the same error on different lines (later on in the code):

Code: Select all

In file included from midi_null.cpp:1:
audiere.h: In function 'void audiere::SplitString(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, const char*, char)':
audiere.h:1148: error: 'strchr' was not declared in this scope
audiere.h: In function 'void audiere::GetSupportedFileFormats(std::vector<audiere::FileFormatDesc, std::allocator<audiere::FileFormatDesc> >&)':
audiere.h:1177: error: 'strchr' was not declared in this scope
audiere.h: In function 'void audiere::EnumerateCDDevices(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)':
audiere.h:1535: error: 'strlen' was not declared in this scope
make[3]: *** [midi_null.lo] Error 1
make[3]: Leaving directory `/home/jetimms/Downloads/Audiere/audiere/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jetimms/Downloads/Audiere/audiere/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jetimms/Downloads/Audiere/audiere'
make: *** [all] Error 2
Chris
Posts: 1626
Joined: 04 Sep 2011, 08:33

Re: make errors: FFMpeg undefined reference to (lots of stuf

Post by Chris »

You don't need Audiere if you have ffmpeg (which is preferred, since it's the only way to get video playback). If you can't get ffmpeg, then libsndfile+libmpg123 are preferred.
jetimms
Posts: 6
Joined: 30 Jan 2013, 13:10

Re: make errors: FFMpeg undefined reference to (lots of stuf

Post by jetimms »

My first issue was MyGUI was using the dev svn trunk and not the latest stable sources. I grabbed 3.2.0 of those and built them.

The other issue was I was using the dev sources from github, so I grabbed the openmw version 0.20.0 from the downloads link instead.

Also I installed cmake-gui which helped get the makefiles generated for both MyGUI and openmw. For openmw, I did pick FFmpeg via that app, versus mpg123 which fixed the "MWGui::... can't find MyGUI" errors (I'm paraphrasing there), ie. "undefined reference to `MyGUI::EditBox::baseUpdateEnable()'".

I got a good build and install this time. I guess FFmpeg wasn't the problem after all.
jetimms
Posts: 6
Joined: 30 Jan 2013, 13:10

Re: make errors: FFMpeg undefined reference to (lots of stuf

Post by jetimms »

Chris wrote:You don't need Audiere if you have ffmpeg (which is preferred, since it's the only way to get video playback). If you can't get ffmpeg, then libsndfile+libmpg123 are preferred.
Thanks Chris. That makes sense, now.
Locked