wandenberg/nginx-video-thumbextractor-module

Got errors when make install

zikoops opened this issue · 18 comments

Hello there,

I have got some errors when trying to install this module.

/tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module.c In file included from /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module.c:28: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:27:34: error: libavformat/avformat.h: No such file or directory /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:28:32: error: libswscale/swscale.h: No such file or directory /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:29:34: error: libavfilter/avfilter.h: No such file or directory /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:30:36: error: libavfilter/buffersink.h: No such file or directory /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:31:35: error: libavfilter/buffersrc.h: No such file or directory /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:32:21: error: jpeglib.h: No such file or directory In file included from /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module.c:28: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:39: error: expected ‘)’ before ‘cinfo’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:41: error: expected declaration specifiers or ‘...’ before ‘AVFormatContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:41: error: expected declaration specifiers or ‘...’ before ‘AVCodecContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:42: error: expected declaration specifiers or ‘...’ before ‘AVFormatContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:42: error: expected declaration specifiers or ‘...’ before ‘AVCodecContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:42: error: expected declaration specifiers or ‘...’ before ‘AVFilterGraph’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:42: error: expected declaration specifiers or ‘...’ before ‘AVFilterContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:42: error: expected declaration specifiers or ‘...’ before ‘AVFilterContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:43: error: expected ‘)’ before ‘*’ token /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:44: error: expected declaration specifiers or ‘...’ before ‘AVFormatContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:44: error: expected declaration specifiers or ‘...’ before ‘AVCodecContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:44: error: expected declaration specifiers or ‘...’ before ‘AVFrame’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: In function ‘ngx_http_video_thumbextractor_seek_data_from_file’: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:50: error: ‘AVSEEK_SIZE’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:50: error: (Each undeclared identifier is reported only once /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:50: error: for each function it appears in.) cc1: warnings being treated as errors /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: In function ‘ngx_http_video_thumbextractor_read_data_from_file’: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:69: error: implicit declaration of function ‘AVERROR’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: In function ‘ngx_http_video_thumbextractor_get_thumb’: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:83: error: ‘AVFormatContext’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:83: error: ‘pFormatCtx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:84: error: ‘AVCodecContext’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:84: error: ‘pCodecCtx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:85: error: ‘AVCodec’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:85: error: ‘pCodec’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:86: error: ‘AVFrame’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:86: error: ‘pFrame’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:89: error: ‘AVIOContext’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:89: error: ‘pAVIOCtx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:92: error: ‘AVFilterContext’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:92: error: ‘buffersink_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:93: error: ‘buffersrc_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:94: error: ‘AVFilterGraph’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:94: error: ‘filter_graph’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:121: error: implicit declaration of function ‘avformat_alloc_context’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:122: error: implicit declaration of function ‘av_malloc’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:122: error: cast to pointer from integer of different size /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:128: error: implicit declaration of function ‘avio_alloc_context’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:137: error: implicit declaration of function ‘avformat_open_input’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:144: error: implicit declaration of function ‘avformat_find_stream_info’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:149: error: ‘float_t’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:149: error: expected ‘)’ before ‘pFormatCtx’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:156: error: implicit declaration of function ‘av_find_best_stream’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:156: error: ‘AVMEDIA_TYPE_VIDEO’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:163: error: implicit declaration of function ‘avcodec_alloc_context3’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:164: error: implicit declaration of function ‘avcodec_parameters_to_context’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:166: error: ‘AVDictionary’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:166: error: ‘dict’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:168: error: implicit declaration of function ‘av_dict_set’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:171: error: implicit declaration of function ‘avcodec_open2’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:176: error: too many arguments to function ‘setup_parameters’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:178: error: too many arguments to function ‘setup_filters’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:183: error: implicit declaration of function ‘av_frame_alloc’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:190: error: too many arguments to function ‘get_frame’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:191: error: ‘AV_PICTURE_TYPE_NONE’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:196: error: implicit declaration of function ‘filter_frame’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:233: error: implicit declaration of function ‘av_frame_free’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:237: error: implicit declaration of function ‘avcodec_close’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:238: error: implicit declaration of function ‘avcodec_free_context’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:242: error: implicit declaration of function ‘avformat_close_input’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:246: error: implicit declaration of function ‘av_freep’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:250: error: implicit declaration of function ‘avfilter_graph_free’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: In function ‘ngx_http_video_thumbextractor_init_libraries’: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:260: error: implicit declaration of function ‘av_register_all’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:261: error: implicit declaration of function ‘avfilter_register_all’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:262: error: implicit declaration of function ‘av_log_set_level’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:262: error: ‘AV_LOG_ERROR’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: In function ‘ngx_http_video_thumbextractor_jpeg_compress’: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:269: error: storage size of ‘cinfo’ isn’t known /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:270: error: storage size of ‘jerr’ isn’t known /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:271: error: ‘JSAMPROW’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:271: error: expected ‘;’ before ‘row_pointer’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:275: error: implicit declaration of function ‘jpeg_std_error’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:276: error: implicit declaration of function ‘jpeg_create_compress’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:277: error: implicit declaration of function ‘ngx_http_video_thumbextractor_jpeg_memory_dest’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:282: error: ‘JCS_RGB’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:284: error: implicit declaration of function ‘jpeg_set_defaults’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:294: error: implicit declaration of function ‘jpeg_set_quality’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:299: error: implicit declaration of function ‘jpeg_simple_progression’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:302: error: implicit declaration of function ‘jpeg_start_compress’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:305: error: ‘row_pointer’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:306: error: implicit declaration of function ‘jpeg_write_scanlines’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:309: error: implicit declaration of function ‘jpeg_finish_compress’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:310: error: implicit declaration of function ‘jpeg_destroy_compress’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:270: error: unused variable ‘jerr’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:269: error: unused variable ‘cinfo’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: At top level: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:317: error: field ‘pub’ has incomplete type /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:326: error: expected ‘)’ before ‘cinfo’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:337: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ngx_http_video_thumbextractor_empty_output_buffer’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:355: error: expected ‘)’ before ‘cinfo’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:363: error: expected ‘)’ before ‘cinfo’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:382: error: expected ‘)’ before ‘*’ token /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:389: error: expected ‘)’ before ‘*’ token /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:395: error: expected declaration specifiers or ‘...’ before ‘AVFormatContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:395: error: expected declaration specifiers or ‘...’ before ‘AVCodecContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: In function ‘setup_parameters’: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:397: error: ‘pFormatCtx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:397: error: ‘AV_TIME_BASE’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: At top level: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:422: error: expected declaration specifiers or ‘...’ before ‘AVFormatContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:422: error: expected declaration specifiers or ‘...’ before ‘AVCodecContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:422: error: expected declaration specifiers or ‘...’ before ‘AVFilterGraph’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:422: error: expected declaration specifiers or ‘...’ before ‘AVFilterContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:422: error: expected declaration specifiers or ‘...’ before ‘AVFilterContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: In function ‘setup_filters’: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:424: error: ‘AVFilterGraph’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:424: error: ‘filter_graph’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:426: error: ‘AVFilterContext’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:426: error: ‘transpose_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:427: error: ‘transpose_cw_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:428: error: ‘scale_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:429: error: ‘crop_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:430: error: ‘tile_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:431: error: ‘format_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:443: error: ‘AVDictionaryEntry’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:443: error: ‘rotate’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:443: error: implicit declaration of function ‘av_dict_get’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:443: error: ‘pFormatCtx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:450: error: implicit declaration of function ‘display_aspect_ratio’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:450: error: ‘pCodecCtx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:451: error: implicit declaration of function ‘display_width’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:491: error: ‘fg’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:491: error: implicit declaration of function ‘avfilter_graph_alloc’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:496: error: ‘AVRational’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:496: error: expected ‘;’ before ‘time_base’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:500: error: ‘time_base’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:503: error: implicit declaration of function ‘avfilter_graph_create_filter’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:503: error: ‘buffersrc_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:503: error: implicit declaration of function ‘avfilter_get_by_name’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:547: error: ‘buffersink_ctx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:554: error: implicit declaration of function ‘avfilter_link’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:580: error: implicit declaration of function ‘avfilter_graph_config’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: At top level: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:589: error: expected ‘)’ before ‘*’ token /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:608: error: expected declaration specifiers or ‘...’ before ‘AVFormatContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:608: error: expected declaration specifiers or ‘...’ before ‘AVCodecContext’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:608: error: expected declaration specifiers or ‘...’ before ‘AVFrame’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c: In function ‘get_frame’: /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:610: error: ‘AVPacket’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:610: error: expected ‘;’ before ‘packet’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:615: error: ‘pFormatCtx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:617: error: ‘float_t’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:617: error: expected ‘)’ before ‘pFormatCtx’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:621: error: implicit declaration of function ‘av_seek_frame’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:621: error: ‘AVSEEK_FLAG_BACKWARD’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:628: error: implicit declaration of function ‘av_read_frame’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:628: error: ‘packet’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:632: error: implicit declaration of function ‘avcodec_send_packet’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:632: error: ‘pCodecCtx’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:633: error: implicit declaration of function ‘avcodec_receive_frame’ /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:633: error: ‘pFrame’ undeclared (first use in this function) /tmp/nginx-video-thumbextractor-module/src/ngx_http_video_thumbextractor_module_utils.c:645: error: implicit declaration of function ‘av_packet_unref’ make[1]: *** [objs/addon/src/ngx_http_video_thumbextractor_module.o] Error 1 make[1]: Leaving directory /tmp/nginx-1.10.1'
make: *** [build] Error 2
`

I have installed FFMPEG & libjpeg already.
Here is result when I run ffmpeg -version

`
ffmpeg version N-86909-g4158fba Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-18)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags='-L/root/ffmpeg_build/lib -ldl' --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil 55. 69.100 / 55. 69.100
libavcodec 57.102.100 / 57.102.100
libavformat 57. 76.100 / 57. 76.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 95.100 / 6. 95.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100

`

Hi. You have installed FFmpeg in a not default folder (--prefix=/root/ffmpeg_build).
So you must set the same path in the compiler flags for Nginx. You can check how to do that on its documentation.

I have same problem. So, how to set path param to ffmpeg_build when build nginx? Thank you!

Take a look here http://nginx.org/en/docs/configure.html. Look for --with-cc-opt. Would be something like --with-cc-opt="-I /root/ffmpeg_build/include"

Thank you. I builed successful. And how to get thumb of video on path: /home/mypc/video.mp4

The easiest way is to configure the root folder to point to the desired folder, like

location ~ /thumbs(.*) {
        video_thumbextractor;
        video_thumbextractor_video_filename    $1;
        video_thumbextractor_video_second      $arg_second;
        video_thumbextractor_image_width       $arg_width;
        video_thumbextractor_image_height      $arg_height;
        root /home/mypc;
    }

I suggest you to not use a folder where there are other files than the videos you want to expose thumbs for security reasons.

You can find information like that on Nginx documentation.

I follow your config but just get 400 Bad Request, with url:
http://192.168.0.3:8080/thumbs/video.mp4?second=10

Where I was wrong?

Look at the error logs. Probably there is a message to help you. (maybe necessary change the log level to INFO or DEBUG)

The old issue has been solved but i got a new issue.
Please help me to solve this:

objs/addon/src/ngx_http_video_thumbextractor_module.o
objs/ngx_modules.o
-Wl,-rpath,/root/bin/ -Wl,-E -ldl -lpthread -lpthread -lcrypt -L/usr/local/lib -lluajit-5.1 -lm -lcrypto -ldl -lpthread -lrt -lavformat -lavcodec -lavutil -lavfilter -lswscale -lswresample -lpostproc -ljpeg -lpcre -lssl -lcrypto -ldl -lz
-Wl,-E
/usr/bin/ld: cannot find -lavformat
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/tmp/nginx-1.10.1'
make: *** [build] Error 2

The reason is the same. Since you set a custom path for FFmpeg you must add --with-ld-opt="-L /root/ffmpeg_build/lib" to be possible for Nginx to find the libraries. And possibly you will need to export the LD_LIBRARY_PATH environment variable when trying to execute the Nginx

Thanks for your quickly support!
This is my nginx configure command:

./configure --with-ld-opt="-Wl,-rpath,/usr/local/lib/" --with-ld-opt="-L /root/ffmpeg_build/lib" --with-cc-opt="-I /root/ffmpeg_build/include" --with-http_flv_module --with-file-aio --with-threads --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_secure_link_module --with-stream --with-stream_ssl_module --add-module=/tmp/ngx_devel_kit-0.3.0 --add-module=/tmp/lua-nginx-module-0.10.9rc8 --add-module=/tmp/nginx-vod-module --add-module=/tmp/nginx-video-thumbextractor-module

I ran it and continue met some errors like this:

-L /root/ffmpeg_build/lib -Wl,-E -ldl -lpthread -lpthread -lcrypt -L/usr/local/lib -lluajit-5.1 -lm -lcrypto -ld -Wl,-E /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): In functionfdk_aac_decode_frame':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:322: undefined reference to aacDecoder_Fill' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:328: undefined reference to aacDecoder_DecodeFrame'
/root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): In function get_stream_info': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:88: undefined reference to aacDecoder_GetStreamInfo'
/root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): In function fdk_aac_decode_flush': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:366: undefined reference to aacDecoder_SetParam'
/root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): In function fdk_aac_decode_close': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:201: undefined reference to aacDecoder_Close'
/root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): In function fdk_aac_decode_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:213: undefined reference to aacDecoder_Open'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:220: undefined reference to aacDecoder_ConfigRaw' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:227: undefined reference to aacDecoder_SetParam'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:251: undefined reference to aacDecoder_SetParam' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:260: undefined reference to aacDecoder_AncDataInit'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:269: undefined reference to aacDecoder_SetParam' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:276: undefined reference to aacDecoder_SetParam'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:283: undefined reference to aacDecoder_SetParam' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:290: undefined reference to aacDecoder_SetParam'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:297: undefined reference to aacDecoder_SetParam' /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o): In function aac_encode_close':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:97: undefined reference to aacEncClose' /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o): In function aac_encode_frame':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:357: undefined reference to aacEncEncode' /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o): In function aac_encode_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:114: undefined reference to aacEncOpen' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:123: undefined reference to aacEncoder_SetParam'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:130: undefined reference to aacEncoder_SetParam' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:138: undefined reference to aacEncoder_SetParam'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:172: undefined reference to aacEncoder_SetParam' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:179: undefined reference to aacEncoder_SetParam'
/root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o):/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:197: more und
/root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o): In function aac_encode_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:276: undefined reference to aacEncEncode'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:282: undefined reference to aacEncInfo' /root/ffmpeg_build/lib/libavcodec.a(libmp3lame.o): In function mp3lame_encode_frame':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:224: undefined reference to lame_encode_flush' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:200: undefined reference to lame_encode_buffer'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:203: undefined reference to lame_encode_buffer_int' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:216: undefined reference to lame_encode_buffer_float'
/root/ffmpeg_build/lib/libavcodec.a(libmp3lame.o): In function mp3lame_encode_close': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:87: undefined reference to lame_close'
/root/ffmpeg_build/lib/libavcodec.a(libmp3lame.o): In function mp3lame_encode_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:99: undefined reference to lame_init'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:103: undefined reference to lame_set_num_channels' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:104: undefined reference to lame_set_mode'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:107: undefined reference to lame_set_in_samplerate' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:108: undefined reference to lame_set_out_samplerate'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:112: undefined reference to lame_set_quality' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:116: undefined reference to lame_set_VBR'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:117: undefined reference to lame_set_VBR_quality' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:121: undefined reference to lame_set_VBR'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:122: undefined reference to lame_set_VBR_mean_bitrate_kbps' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:124: undefined reference to lame_set_brate'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:130: undefined reference to lame_set_lowpassfreq' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:133: undefined reference to lame_set_bWriteVbrTag'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:136: undefined reference to lame_set_disable_reservoir' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:139: undefined reference to lame_init_params'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:145: undefined reference to lame_get_encoder_delay' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libmp3lame.c:148: undefined reference to lame_get_framesize'
/root/ffmpeg_build/lib/libavcodec.a(libopusdec.o): In function libopus_flush': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:186: undefined reference to opus_multistream_decoder_ctl'
/root/ffmpeg_build/lib/libavcodec.a(libopusdec.o): In function libopus_decode': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:151: undefined reference to opus_multistream_decode_float'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:147: undefined reference to opus_multistream_decode' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:156: undefined reference to opus_strerror'
/root/ffmpeg_build/lib/libavcodec.a(libopusdec.o): In function libopus_decode_close': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:129: undefined reference to opus_multistream_decoder_destroy'
/root/ffmpeg_build/lib/libavcodec.a(libopusdec.o): In function libopus_decode_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:95: undefined reference to opus_multistream_decoder_create'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:99: undefined reference to opus_strerror' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:105: undefined reference to opus_multistream_decoder_ctl'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusdec.c:107: undefined reference to opus_strerror' /root/ffmpeg_build/lib/libavcodec.a(libopusenc.o): In function libopus_encode':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:466: undefined reference to opus_multistream_encode' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:462: undefined reference to opus_multistream_encode_float'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:471: undefined reference to opus_strerror' /root/ffmpeg_build/lib/libavcodec.a(libopusenc.o): In function libopus_encode_close':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:509: undefined reference to opus_multistream_encoder_destroy' /root/ffmpeg_build/lib/libavcodec.a(libopusenc.o): In function libopus_encode_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:327: undefined reference to opus_multistream_encoder_create' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:337: undefined reference to opus_multistream_surround_encoder_create
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:344: undefined reference to opus_strerror' /root/ffmpeg_build/lib/libavcodec.a(libopusenc.o): In function libopus_configure_encoder':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:118: undefined reference to opus_multistream_encoder_ctl' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:120: undefined reference to opus_strerror'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:125: undefined reference to opus_multistream_encoder_ctl' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:128: undefined reference to opus_strerror'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:131: undefined reference to opus_multistream_encoder_ctl' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:133: undefined reference to opus_strerror'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:136: undefined reference to opus_multistream_encoder_ctl' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:139: undefined reference to opus_strerror'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:142: undefined reference to opus_multistream_encoder_ctl' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:145: undefined reference to opus_strerror'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:150: undefined reference to opus_multistream_encoder_ctl' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:153: undefined reference to opus_strerror'
/root/ffmpeg_build/lib/libavcodec.a(libopusenc.o): In function libopus_encode_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:389: undefined reference to opus_multistream_encoder_ctl'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:391: undefined reference to opus_strerror' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libopusenc.c:405: undefined reference to opus_multistream_encoder_destroy'
/root/ffmpeg_build/lib/libavcodec.a(libvorbisenc.o): In function libvorbis_encode_frame': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:287: undefined reference to vorbis_analysis_buffer'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:294: undefined reference to vorbis_analysis_wrote' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:310: undefined reference to vorbis_analysis_blockout'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:311: undefined reference to vorbis_analysis' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:313: undefined reference to vorbis_bitrate_addblock'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:317: undefined reference to vorbis_bitrate_flushpacket' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:302: undefined reference to vorbis_analysis_wrote'
/root/ffmpeg_build/lib/libavcodec.a(libvorbisenc.o): In function libvorbis_encode_close': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:180: undefined reference to vorbis_analysis_wrote'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:182: undefined reference to vorbis_block_clear' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:183: undefined reference to vorbis_dsp_clear'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:184: undefined reference to vorbis_info_clear' /root/ffmpeg_build/lib/libavcodec.a(libvorbisenc.o): In function libvorbis_encode_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:203: undefined reference to vorbis_info_init' /root/ffmpeg_build/lib/libavcodec.a(libvorbisenc.o): In function libvorbis_setup':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:98: undefined reference to vorbis_encode_setup_vbr' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:107: undefined reference to vorbis_encode_setup_managed'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:114: undefined reference to vorbis_encode_ctl' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:121: undefined reference to vorbis_encode_ctl'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:127: undefined reference to vorbis_encode_ctl' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:160: undefined reference to vorbis_encode_setup_init'
/root/ffmpeg_build/lib/libavcodec.a(libvorbisenc.o): In function libvorbis_encode_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:208: undefined reference to vorbis_analysis_init'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:214: undefined reference to vorbis_block_init' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:220: undefined reference to vorbis_comment_init'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:222: undefined reference to vorbis_comment_add_tag' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:224: undefined reference to vorbis_analysis_headerout'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisenc.c:257: undefined reference to vorbis_comment_clear' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function decode_frame':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:182: undefined reference to vpx_codec_decode' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function vpx_decode':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:242: undefined reference to vpx_codec_get_frame' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function decode_frame':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:182: undefined reference to vpx_codec_decode' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:183: undefined reference to vpx_codec_error'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:184: undefined reference to vpx_codec_error_detail' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function vpx_decode':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:244: undefined reference to vpx_codec_get_frame' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function decode_frame':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:183: undefined reference to vpx_codec_error' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function vpx_decode':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:222: undefined reference to vpx_codec_vp8_dx_algo' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:222: undefined reference to vpx_codec_vp9_dx_algo'
/root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function vpx_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:54: undefined reference to vpx_codec_version_str'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:55: undefined reference to vpx_codec_build_config' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:57: undefined reference to vpx_codec_dec_init_ver'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:60: undefined reference to vpx_codec_error' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function vp9_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:323: undefined reference to vpx_codec_vp9_dx_algo' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function vp8_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:304: undefined reference to vpx_codec_vp8_dx_algo' /root/ffmpeg_build/lib/libavcodec.a(libvpxdec.o): In function vpx_free':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:295: undefined reference to vpx_codec_destroy' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxdec.c:297: undefined reference to vpx_codec_destroy'
/root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function vpx_encode': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:1037: undefined reference to vpx_codec_encode'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:1045: undefined reference to vpx_codec_encode' /root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function queue_frames':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:904: undefined reference to vpx_codec_get_cx_data' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:906: undefined reference to vpx_codec_get_cx_data'
/root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function log_encoder_error': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:152: undefined reference to vpx_codec_error'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:153: undefined reference to vpx_codec_error_detail' /root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function codecctl_int':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:262: undefined reference to vpx_codec_control_' /root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function vpx_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:465: undefined reference to vpx_codec_get_caps' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:468: undefined reference to vpx_codec_version_str'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:469: undefined reference to vpx_codec_build_config' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:474: undefined reference to vpx_codec_enc_config_default'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:475: undefined reference to vpx_codec_err_to_string' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:644: undefined reference to vpx_codec_enc_init_ver'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:652: undefined reference to vpx_codec_enc_init_ver' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:737: undefined reference to vpx_img_wrap'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:745: undefined reference to vpx_img_wrap' /root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function vp9_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:1209: undefined reference to vpx_codec_vp9_cx' /root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function codecctl_intp':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:284: undefined reference to vpx_codec_control_' /root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function vpx_free':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:308: undefined reference to vpx_codec_destroy' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:310: undefined reference to vpx_codec_destroy'
/root/ffmpeg_build/lib/libavcodec.a(libvpxenc.o): In function vp8_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpxenc.c:1180: undefined reference to vpx_codec_vp8_cx'
/root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function X264_frame': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:280: undefined reference to x264_picture_init'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:282: undefined reference to x264_bit_depth' /root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function reconfig_encoder':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:266: undefined reference to x264_encoder_reconfig' /root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function X264_frame':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:342: undefined reference to x264_encoder_delayed_frames' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:336: undefined reference to x264_encoder_encode'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:336: undefined reference to x264_encoder_encode' /root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function reconfig_encoder':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:181: undefined reference to x264_encoder_reconfig' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:186: undefined reference to x264_encoder_reconfig'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:193: undefined reference to x264_encoder_reconfig' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:213: undefined reference to x264_encoder_reconfig'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:219: undefined reference to x264_encoder_reconfig' /root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function X264_frame':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:342: undefined reference to x264_encoder_delayed_frames' /root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function reconfig_encoder':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:206: undefined reference to x264_encoder_reconfig' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:199: undefined reference to x264_encoder_reconfig'
/root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function X264_frame': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:336: undefined reference to x264_encoder_encode'
/root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function X264_init_static': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:892: undefined reference to x264_bit_depth'
/root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function X264_close': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:392: undefined reference to x264_encoder_close'
/root/ffmpeg_build/lib/libavcodec.a(libx264.o): In function X264_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:467: undefined reference to x264_param_default'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:472: undefined reference to x264_param_default_preset' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:494: undefined reference to x264_param_parse'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:524: undefined reference to x264_param_parse' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:585: undefined reference to x264_levels'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:583: undefined reference to x264_levels' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:623: undefined reference to x264_param_parse'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:624: undefined reference to x264_param_parse' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:625: undefined reference to x264_param_parse'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:626: undefined reference to x264_param_parse' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:674: undefined reference to x264_param_apply_fastfirstpass'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:730: undefined reference to x264_param_apply_profile' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:782: undefined reference to x264_param_parse'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:784: undefined reference to x264_param_parse' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:796: undefined reference to x264_param_parse'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:814: undefined reference to x264_encoder_open_152' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:823: undefined reference to x264_encoder_headers'
/root/ffmpeg_build/lib/libavcodec.a(libx265.o): In function libx265_encode_init_csp': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx265.c:380: undefined reference to x265_api_get_131'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx265.c:382: undefined reference to x265_api_get_131' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx265.c:384: undefined reference to x265_api_get_131'
/root/ffmpeg_build/lib/libavcodec.a(libx265.o): In function libx265_encode_init': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libx265.c:82: undefined reference to x265_api_get_131'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libx265.c:84: undefined reference to x265_api_get_131' /root/ffmpeg_build/lib/libavcodec.a(libvpx.o): In function ff_vp9_init_static':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpx.c:74: undefined reference to vpx_codec_version' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpx.c:75: undefined reference to vpx_codec_version'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpx.c:75: undefined reference to vpx_codec_version' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpx.c:79: undefined reference to vpx_codec_version'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpx.c:80: undefined reference to vpx_codec_version' /root/ffmpeg_build/lib/libavcodec.a(libvpx.o):/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpx.c:80: more undefined referenc /root/ffmpeg_build/lib/libavcodec.a(libvpx.o): In function ff_vp9_init_static':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpx.c:82: undefined reference to vpx_codec_vp9_cx' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvpx.c:82: undefined reference to vpx_codec_get_caps'
/root/ffmpeg_build/lib/libavfilter.a(avf_showcqt.o): In function common_uninit': /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:147: undefined reference to av_fft_end'
/root/ffmpeg_build/lib/libavfilter.a(avf_showcqt.o): In function plot_cqt': /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:1151: undefined reference to av_fft_permute'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:1152: undefined reference to av_fft_calc' /root/ffmpeg_build/lib/libavfilter.a(avf_showcqt.o): In function render_freetype':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:522: undefined reference to FT_Init_FreeType' /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:525: undefined reference to FT_New_Face'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:528: undefined reference to FT_Set_Char_Size' /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:531: undefined reference to FT_Load_Char'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:534: undefined reference to FT_Set_Char_Size' /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:543: undefined reference to FT_Load_Char'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:573: undefined reference to FT_Done_Face' /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:574: undefined reference to FT_Done_FreeType'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:579: undefined reference to FT_Done_Face' /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:580: undefined reference to FT_Done_FreeType'
/root/ffmpeg_build/lib/libavfilter.a(avf_showcqt.o): In function config_output': /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showcqt.c:1383: undefined reference to av_fft_init'
/root/ffmpeg_build/lib/libavfilter.a(avf_showfreqs.o): In function config_output': /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showfreqs.c:184: undefined reference to av_fft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showfreqs.c:185: undefined reference to av_fft_init' /root/ffmpeg_build/lib/libavfilter.a(avf_showfreqs.o): In function plot_freqs':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showfreqs.c:402: undefined reference to av_fft_permute' /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showfreqs.c:403: undefined reference to av_fft_calc'
/root/ffmpeg_build/lib/libavfilter.a(avf_showfreqs.o): In function uninit': /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showfreqs.c:485: undefined reference to av_fft_end'
/root/ffmpeg_build/lib/libavfilter.a(avf_showspectrum.o): In function run_channel_fft': /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showspectrum.c:482: undefined reference to av_fft_permute'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showspectrum.c:483: undefined reference to av_fft_calc' /root/ffmpeg_build/lib/libavfilter.a(avf_showspectrum.o): In function config_output':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showspectrum.c:348: undefined reference to av_fft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showspectrum.c:355: undefined reference to av_fft_init'
/root/ffmpeg_build/lib/libavfilter.a(avf_showspectrum.o): In function uninit': /tmp/ffmpeg_sources/ffmpeg/libavfilter/avf_showspectrum.c:235: undefined reference to av_fft_end'
/root/ffmpeg_build/lib/libavfilter.a(f_select.o): In function config_input': /tmp/ffmpeg_sources/ffmpeg/libavfilter/f_select.c:242: undefined reference to av_pixelutils_get_sad_fn'
/root/ffmpeg_build/lib/libavfilter.a(f_sendcmd.o): In function init': /tmp/ffmpeg_sources/ffmpeg/libavfilter/f_sendcmd.c:390: undefined reference to av_file_map'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/f_sendcmd.c:398: undefined reference to av_file_unmap' /tmp/ffmpeg_sources/ffmpeg/libavfilter/f_sendcmd.c:403: undefined reference to av_file_unmap'
/root/ffmpeg_build/lib/libavfilter.a(vaf_spectrumsynth.o): In function config_output': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vaf_spectrumsynth.c:189: undefined reference to av_fft_init'
/root/ffmpeg_build/lib/libavfilter.a(vaf_spectrumsynth.o): In function synth_window': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vaf_spectrumsynth.c:360: undefined reference to av_fft_permute'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vaf_spectrumsynth.c:361: undefined reference to av_fft_calc' /root/ffmpeg_build/lib/libavfilter.a(vaf_spectrumsynth.o): In function uninit':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vaf_spectrumsynth.c:499: undefined reference to av_fft_end' /root/ffmpeg_build/lib/libavfilter.a(vf_curves.o): In function parse_psfile':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_curves.c:357: undefined reference to av_file_map' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_curves.c:398: undefined reference to av_file_unmap'
/root/ffmpeg_build/lib/libavfilter.a(vf_deshake.o): In function init': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_deshake.c:347: undefined reference to av_pixelutils_get_sad_fn'
/root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function load_textfile': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:573: undefined reference to av_file_map'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:587: undefined reference to av_file_unmap' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:581: undefined reference to av_file_unmap'
/root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function load_glyph': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:319: undefined reference to FT_Load_Char'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:330: undefined reference to FT_Get_Glyph' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:344: undefined reference to FT_Glyph_To_Bitmap'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:336: undefined reference to FT_Glyph_StrokeBorder' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:337: undefined reference to FT_Glyph_To_Bitmap'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:356: undefined reference to FT_Glyph_Get_CBox' /root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function glyph_enu_free':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:790: undefined reference to FT_Done_Glyph' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:791: undefined reference to FT_Done_Glyph'
/root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function draw_text': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:1367: undefined reference to FT_Get_Kerning'
/root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function set_fontsize': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:383: undefined reference to FT_Set_Pixel_Sizes'
/root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function uninit': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:814: undefined reference to FT_Done_Face'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:815: undefined reference to FT_Stroker_Done' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:816: undefined reference to FT_Done_FreeType'
/root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function init': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:738: undefined reference to FT_Init_FreeType'
/root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function load_font_file': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:453: undefined reference to FT_New_Face'
/root/ffmpeg_build/lib/libavfilter.a(vf_drawtext.o): In function init': /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:751: undefined reference to FT_Stroker_New'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_drawtext.c:755: undefined reference to FT_Stroker_Set' /root/ffmpeg_build/lib/libavfilter.a(vf_fftfilt.o): In function rdft_horizontal':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:99: undefined reference to av_rdft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:109: undefined reference to av_rdft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:111: undefined reference to av_rdft_end' /root/ffmpeg_build/lib/libavfilter.a(vf_fftfilt.o): In function rdft_vertical':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:118: undefined reference to av_rdft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:128: undefined reference to av_rdft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:130: undefined reference to av_rdft_end' /root/ffmpeg_build/lib/libavfilter.a(vf_fftfilt.o): In function irdft_vertical':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:136: undefined reference to av_rdft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:138: undefined reference to av_rdft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:145: undefined reference to av_rdft_end' /root/ffmpeg_build/lib/libavfilter.a(vf_fftfilt.o): In function irdft_horizontal':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:152: undefined reference to av_rdft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:154: undefined reference to av_rdft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_fftfilt.c:163: undefined reference to av_rdft_end' /root/ffmpeg_build/lib/libavfilter.a(vf_framerate.o): In function config_input':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_framerate.c:572: undefined reference to av_pixelutils_get_sad_fn' /root/ffmpeg_build/lib/libavfilter.a(vf_minterpolate.o): In function config_input':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_minterpolate.c:373: undefined reference to av_pixelutils_get_sad_fn' /root/ffmpeg_build/lib/libavfilter.a(vf_mpdecimate.o): In function init':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_mpdecimate.c:148: undefined reference to av_pixelutils_get_sad_fn' /root/ffmpeg_build/lib/libavfilter.a(vf_spp.o): In function config_input':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_spp.c:337: undefined reference to avcodec_dct_init' /root/ffmpeg_build/lib/libavfilter.a(vf_spp.o): In function child_class_next':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_spp.c:49: undefined reference to avcodec_dct_get_class' /root/ffmpeg_build/lib/libavfilter.a(vf_spp.o): In function init_dict':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_spp.c:463: undefined reference to avcodec_dct_alloc' /root/ffmpeg_build/lib/libavfilter.a(vsrc_cellauto.o): In function uninit':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vsrc_cellauto.c:213: undefined reference to av_file_unmap' /root/ffmpeg_build/lib/libavfilter.a(vsrc_cellauto.o): In function init_pattern_from_file':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vsrc_cellauto.c:148: undefined reference to av_file_map' /root/ffmpeg_build/lib/libavfilter.a(vsrc_life.o): In function uninit':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vsrc_life.c:274: undefined reference to av_file_unmap' /root/ffmpeg_build/lib/libavfilter.a(vsrc_life.o): In function init_pattern_from_file':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vsrc_life.c:169: undefined reference to av_file_map' /root/ffmpeg_build/lib/libavfilter.a(af_afftfilt.o): In function config_input':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afftfilt.c:101: undefined reference to av_fft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afftfilt.c:102: undefined reference to av_fft_init'
/root/ffmpeg_build/lib/libavfilter.a(af_afftfilt.o): In function filter_frame': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afftfilt.c:241: undefined reference to av_fft_permute'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afftfilt.c:242: undefined reference to av_fft_calc' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afftfilt.c:261: undefined reference to av_fft_permute'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afftfilt.c:262: undefined reference to av_fft_calc' /root/ffmpeg_build/lib/libavfilter.a(af_afftfilt.o): In function uninit':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afftfilt.c:357: undefined reference to av_fft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afftfilt.c:358: undefined reference to av_fft_end'
/root/ffmpeg_build/lib/libavfilter.a(af_afir.o): In function fir_channel': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afir.c:74: undefined reference to av_rdft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afir.c:93: undefined reference to av_rdft_calc' /root/ffmpeg_build/lib/libavfilter.a(af_afir.o): In function convert_coeffs':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afir.c:204: undefined reference to av_rdft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afir.c:205: undefined reference to av_rdft_init'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afir.c:241: undefined reference to av_rdft_calc' /root/ffmpeg_build/lib/libavfilter.a(af_afir.o): In function uninit':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afir.c:450: undefined reference to av_rdft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_afir.c:457: undefined reference to av_rdft_end'
/root/ffmpeg_build/lib/libavfilter.a(af_atempo.o): In function yae_xcorr_via_rdft': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:631: undefined reference to av_rdft_calc'
/root/ffmpeg_build/lib/libavfilter.a(af_atempo.o): In function yae_flush': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:932: undefined reference to av_rdft_calc'
/root/ffmpeg_build/lib/libavfilter.a(af_atempo.o): In function yae_apply': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:841: undefined reference to av_rdft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:873: undefined reference to av_rdft_calc' /root/ffmpeg_build/lib/libavfilter.a(af_atempo.o): In function yae_release_buffers':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:229: undefined reference to av_rdft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:232: undefined reference to av_rdft_end'
/root/ffmpeg_build/lib/libavfilter.a(af_atempo.o): In function yae_reset': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:286: undefined reference to av_rdft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:289: undefined reference to av_rdft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:292: undefined reference to av_rdft_init'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_atempo.c:298: undefined reference to av_rdft_init' /root/ffmpeg_build/lib/libavfilter.a(af_firequalizer.o): In function common_uninit':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:145: undefined reference to av_rdft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:146: undefined reference to av_rdft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:147: undefined reference to av_rdft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:148: undefined reference to av_rdft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:149: undefined reference to av_fft_end' /root/ffmpeg_build/lib/libavfilter.a(af_firequalizer.o): In function fast_convolute':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:212: undefined reference to av_rdft_calc' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:221: undefined reference to av_rdft_calc'
/root/ffmpeg_build/lib/libavfilter.a(af_firequalizer.o): In function generate_kernel': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:559: undefined reference to av_rdft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:607: undefined reference to av_rdft_calc' /root/ffmpeg_build/lib/libavfilter.a(af_firequalizer.o): In function dump_fir':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:330: undefined reference to av_rdft_calc' /root/ffmpeg_build/lib/libavfilter.a(af_firequalizer.o): In function fast_convolute2':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:254: undefined reference to av_fft_permute' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:255: undefined reference to av_fft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:275: undefined reference to av_fft_permute' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:276: undefined reference to av_fft_calc'
/root/ffmpeg_build/lib/libavfilter.a(af_firequalizer.o): In function config_input': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:667: undefined reference to av_rdft_init'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:667: undefined reference to av_rdft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:684: undefined reference to av_rdft_init'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:688: undefined reference to av_rdft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_firequalizer.c:670: undefined reference to av_fft_init'
/root/ffmpeg_build/lib/libavfilter.a(af_headphone.o): In function headphone_fast_convolute': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:285: undefined reference to av_fft_permute'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:286: undefined reference to av_fft_calc' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:296: undefined reference to av_fft_permute'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:297: undefined reference to av_fft_calc' /root/ffmpeg_build/lib/libavfilter.a(af_headphone.o): In function convert_coeffs':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:414: undefined reference to av_fft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:415: undefined reference to av_fft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:416: undefined reference to av_fft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:417: undefined reference to av_fft_init'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:418: undefined reference to av_fft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:419: undefined reference to av_fft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:420: undefined reference to av_fft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:421: undefined reference to av_fft_init'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:526: undefined reference to av_fft_permute' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:527: undefined reference to av_fft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:529: undefined reference to av_fft_permute' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:530: undefined reference to av_fft_calc'
/root/ffmpeg_build/lib/libavfilter.a(af_headphone.o): In function uninit': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:753: undefined reference to av_fft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:754: undefined reference to av_fft_end' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:755: undefined reference to av_fft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_headphone.c:756: undefined reference to av_fft_end' /root/ffmpeg_build/lib/libavfilter.a(af_superequalizer.o): In function filter_frame':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_superequalizer.c:211: undefined reference to av_rdft_calc' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_superequalizer.c:225: undefined reference to av_rdft_calc'
/root/ffmpeg_build/lib/libavfilter.a(af_superequalizer.o): In function make_fir': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_superequalizer.c:178: undefined reference to av_rdft_calc'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_superequalizer.c:178: undefined reference to av_rdft_calc' /root/ffmpeg_build/lib/libavfilter.a(af_superequalizer.o): In function uninit':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_superequalizer.c:309: undefined reference to av_rdft_end' /root/ffmpeg_build/lib/libavfilter.a(af_superequalizer.o): In function equ_init':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_superequalizer.c:138: undefined reference to av_rdft_init' /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_superequalizer.c:139: undefined reference to av_rdft_init'
/root/ffmpeg_build/lib/libavfilter.a(af_superequalizer.o): In function uninit': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_superequalizer.c:310: undefined reference to av_rdft_end'
/root/ffmpeg_build/lib/libavfilter.a(af_surround.o): In function config_output': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_surround.c:177: undefined reference to av_rdft_init'
/root/ffmpeg_build/lib/libavfilter.a(af_surround.o): In function config_input': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_surround.c:146: undefined reference to av_rdft_init'
/root/ffmpeg_build/lib/libavfilter.a(af_surround.o): In function fft_channel': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_surround.c:1082: undefined reference to av_rdft_calc'
/root/ffmpeg_build/lib/libavfilter.a(af_surround.o): In function ifft_channel': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_surround.c:1095: undefined reference to av_rdft_calc'
/root/ffmpeg_build/lib/libavfilter.a(af_surround.o): In function uninit': /tmp/ffmpeg_sources/ffmpeg/libavfilter/af_surround.c:1171: undefined reference to av_rdft_end'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/af_surround.c:1174: undefined reference to av_rdft_end' /root/ffmpeg_build/lib/libavcodec.a(libvorbisdec.o): In function oggvorbis_decode_close':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:191: undefined reference to vorbis_block_clear' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:192: undefined reference to vorbis_dsp_clear'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:193: undefined reference to vorbis_info_clear' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:194: undefined reference to vorbis_comment_clear'
/root/ffmpeg_build/lib/libavcodec.a(libvorbisdec.o): In function oggvorbis_decode_frame': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:169: undefined reference to vorbis_synthesis'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:175: undefined reference to vorbis_synthesis_pcmout' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:179: undefined reference to vorbis_synthesis_read'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:170: undefined reference to vorbis_synthesis_blockin' /root/ffmpeg_build/lib/libavcodec.a(libvorbisdec.o): In function oggvorbis_decode_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:48: undefined reference to vorbis_info_init' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:49: undefined reference to vorbis_comment_init'
/root/ffmpeg_build/lib/libavcodec.a(libvorbisdec.o): In function oggvorbis_decode_close': /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:191: undefined reference to vorbis_block_clear'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:192: undefined reference to vorbis_dsp_clear' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:193: undefined reference to vorbis_info_clear'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:194: undefined reference to vorbis_comment_clear' /root/ffmpeg_build/lib/libavcodec.a(libvorbisdec.o): In function oggvorbis_decode_init':
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:97: undefined reference to vorbis_synthesis_headerin' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:97: undefined reference to vorbis_synthesis_headerin'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:97: undefined reference to vorbis_synthesis_headerin' /tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:109: undefined reference to vorbis_synthesis_init'
/tmp/ffmpeg_sources/ffmpeg/libavcodec/libvorbisdec.c:110: undefined reference to vorbis_block_init' /root/ffmpeg_build/lib/libavfilter.a(vf_selectivecolor.o): In function parse_psfile':
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_selectivecolor.c:193: undefined reference to av_file_map' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_selectivecolor.c:234: undefined reference to av_file_unmap'
/tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_selectivecolor.c:234: undefined reference to av_file_unmap' /tmp/ffmpeg_sources/ffmpeg/libavfilter/vf_selectivecolor.c:234: undefined reference to av_file_unmap'
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory /tmp/nginx-1.10.1' make: *** [build] Error 2

Seems to be a problem in the way you compiled your FFmpeg. Nothing related to the module or Nginx. Try to compile the FFmpeg and its dependencies using the shared flag. Or install an FFmpeg package already built for your OS.

Normally, where is FFmpeg located on CentOs?
Thanks @wandenberg

I meant, FFmpeg should be installed in what directory to easier compile with nginx?

Don't know the CentOs in deep. Common directories are /usr/[lib|include] and /usr/local/[lib|include].
But as I said before, the problem is not only the location but the way you are building the libraries.
Try to build them using the enabled-shared option or use a package that someone did for CentOs.

@zikoops Hello,
Did you solve this issue?
please tell me how did you solve this. 😄

Hi @astroshim what issues are you having to build the module? Which OS are you using?
If possible use a Docker or Vagrant to be easier to share and reproduce the issue.

Hello there,

I have got some errors when trying to install this module.

error:
objs/src/http/modules/ngx_http_upstream_least_conn_module.o
objs/src/http/modules/ngx_http_upstream_keepalive_module.o
objs/src/http/modules/ngx_http_upstream_zone_module.o
objs/addon/src/ngx_http_video_thumbextractor_module.o
objs/ngx_modules.o
-L /app/run/app/ffmpeg/lib -ldl -lpthread -lcrypt -lavformat -lavcodec -lavutil -lavfilter -lswscale -lswresample -lpostproc -ljpeg -lpcre -lz
-Wl,-E
/usr/bin/ld: cannot find -lpostproc
collect2: error: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make[1]: Leaving directory `/app/soft-package/nginx-1.14.0'
make: *** [build] Error 2

command:

./configure --prefix=/app/run/app/nginxserver --conf-path=/app/run/app/nginxserver/conf/nginx.conf --with-cc-opt="-I /etc/ImageMagick" --add-module=/app/run/app/nginxModule/nginx-video-thumbextractor-module-master --with-cc-opt="-I /app/run/app/ffmpeg/include" --with-ld-opt="-L /app/run/app/ffmpeg/lib"

nginx config:
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)
configure arguments: --prefix=/app/run/app/nginxserver

ffmpeg config:
ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
configuration: --prefix=/app/run/app/ffmpeg --disable-ffserver --disable-ffplay --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100

Seems that you FFMpeg installation is not providing the required library postproc.
Can you check it? I can try to help more if you inform which OS you are using. Also if possible try to do it using a Docker image, then is easier to "share" the server.