From patchwork Sat Oct 14 10:48:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Himsley X-Patchwork-Id: 5560 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp1667926jah; Sat, 14 Oct 2017 03:49:00 -0700 (PDT) X-Received: by 10.28.208.129 with SMTP id h123mr3834191wmg.25.1507978140047; Sat, 14 Oct 2017 03:49:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507978140; cv=none; d=google.com; s=arc-20160816; b=gn6XA230Owgji+xI83fE4d/MejHKhiVLdzP59UALGKU9ZHx45XmvtRBswCZB8o2oJ7 U/9Ln50EhQB+SbOOUrWoj0Grhoh0cc42f649qGD/OV/lmWNhVzDPzU4mSnB4jWeVuvy9 PEN9iWfiGDXiJwN9i6+WwUT5w2hlOt6Dy9qyKoUhxk1iZmcdfSp+ut7avfxzSFWHGJNI L9tPaXLGyl1wHBm6U7t/I4MhkryU9HhXQ+BTZzv5zoork7lljOan80I4xcJKzHs2P1PA VI9oLcJ4qw9ZGHHBig+kBIfrWnLIZj5O+i2BSHqsDLtPhMIZzY+II7ghuIS1hhiH5mHB lPHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:to:message-id:date:from:references:in-reply-to :mime-version:dkim-signature:delivered-to:arc-authentication-results; bh=Jt5C+DyjVThLBlGJQA5Ja4H19P8Rk2lG/clC/W4jsQE=; b=GK+4EN35PRebbqtsvPW0CFccTzPNop8FSFbBYzENV3fwaCZ/OA+6MKr9WmGrXONzJ7 mS6LJef0jPcla2WRaSXwTS0sOISZyv+vg3KiCPO5HneefUld5Zm9B2HBj7eE9BjBtecd fwqPXYKZTpKNrMkvjM+TkKI5YWSxcNBSvf4RMDxZ0VNYgZSGT3ayxFDrCAUdgRd29iC/ nPAytA8V6fS4go4a8M76yzQOlUOAJra9xVb1bTqOVkaMCZ2HhVYYp5DDdWS2x5sNdStm Otn0o9hJrG6FOU6wOMNXOLLq/fqi31SJP5y7gBgoU250M7UwP4VZDqVPQvzs2aeHfK58 72gg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=mkIs67IT; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 1si2492421wrq.164.2017.10.14.03.48.59; Sat, 14 Oct 2017 03:49:00 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=mkIs67IT; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 96B4B68A13C; Sat, 14 Oct 2017 13:48:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f174.google.com (mail-qt0-f174.google.com [209.85.216.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8FB72689FE8 for ; Sat, 14 Oct 2017 13:48:48 +0300 (EEST) Received: by mail-qt0-f174.google.com with SMTP id 1so23857065qtn.3 for ; Sat, 14 Oct 2017 03:48:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=evndyYM56i+uRX43oXb1a/APKbe0LxVBR+lQUZdUpxQ=; b=mkIs67ITz8Mb1S1/yR6u+yiwRKZWrNx5BC8v+TWO6vvPciE3Ok87m6yHcdGef+BZ/+ PymRiUHj5lg1o1yu85smvJ9LBXF/PKGfQ6I2hxzbd7cXQyRTELiWAa3/V5b5Ce+lIGPb QDTshgsKy68ucsMSbuh4qZidi9WqX9my0PhyKLYKp30lQ8QAxuTNM3pJvucMIdyzcPH8 9HtoZm+iCgQPD3Ge0AsThubWpt3uE7IOR2Mrjlpmm3DhxvJjl/0PViEcvd1V5Z5//tLL IJAQWtcRva+lUhvTk400LUhtd+6i2Ru/3BUFFvbzO9ppVXQlzorG8ygZ6jN8YtYLXRvU 6kOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=evndyYM56i+uRX43oXb1a/APKbe0LxVBR+lQUZdUpxQ=; b=jOmvZeftIy7L5E2L+8Beq3PIrZGpYKZVdKPJe6C4Ql5oo++xyyp0dH0cVfnlfU56PD G88ElwmZwi6DAzsuntyEtH1cZ4cj8SpsTlcecFpO7fZ8J6KM06APsixTpgQJ2OP8ig70 dNXYUXAIxM9GE6WPEjKhe1V7qdAxLbkXBisKYdHczD7WLu3YNDvVJY0RGkh1OyDQ7rYg 36L8d9B5Sg5DfB14cbSv5IkPlwXixYPSz9Gd8gDhZCjAY+LWmVAUO1FnWnMR7xGL0o8t EDw3adobsmF7pOEYNmtuy2n5VHNUjxGYpDmGip0P+m4ZTiD4V39/6zjgcwxKAt816UCP e/jg== X-Gm-Message-State: AMCzsaUQKcExTeXja7ZMU5STFjWK9EpK9XFUHErSXL8nP3x54kv9CJWF eBVCGpshNnxLwFobsaFCA0ykyJuE12bVT8k9bb+S7BFE X-Google-Smtp-Source: ABhQp+RFwXQEhqPxBgXaw18PuzB+BtKGvQfGnesfzvJnuJRAS5IPvY8dfcBSnhimSH5fXzLi/7NRW9IegCiGynYjXN0= X-Received: by 10.200.15.49 with SMTP id e46mr1786166qtk.150.1507978130556; Sat, 14 Oct 2017 03:48:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.103.228 with HTTP; Sat, 14 Oct 2017 03:48:49 -0700 (PDT) In-Reply-To: References: From: Mark Himsley Date: Sat, 14 Oct 2017 11:48:49 +0100 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] Configure: commit 6dfcbd80ad446ff163b47f2bf432bbf706436ea8 broke my builds X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Update: for me with my specific set of libraries, I have had to apply this patch to configure in order to make configure accept my configuration parameters: specifically changes to mp3lame, openjpeg 1.5, x265 and xvid. -enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame +enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame -lm enabled libmysofa && require libmysofa "mysofa.h" mysofa_load -lmysofa enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc || check_lib libnpp npp.h nppGetLibVersion -lnppi -lnppc || @@ -6027,7 +6027,7 @@ enabled libopenjpeg && { { check_lib libopenjpeg openjpeg-2.3/openjpeg.h o { check_lib libopenjpeg openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || check_lib libopenjpeg openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || { check_lib libopenjpeg openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || - { check_lib libopenjpeg openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + { check_lib libopenjpeg openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -lm -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || { check_lib libopenjpeg openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || die "ERROR: libopenjpeg not found"; } enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create @@ -6096,10 +6096,10 @@ enabled libx264 && { use_pkg_config libx264 x264 "stdint.h x264.h" x26 require_cpp_condition x264.h "X264_BUILD >= 118" && { check_cpp_condition x264.h "X264_MPEG2" && enable libx262; } -enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get && +enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get -lpthread && require_cpp_condition x265.h "X265_BUILD >= 68" enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode -lxavs -enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore +enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore -lpthread -lm enabled libzimg && require_pkg_config libzimg "zimg >= 2.3.0" zimg.h zimg_get_api_version enabled libzmq && require_pkg_config libzmq libzmq zmq.h zmq_ctx_new enabled libzvbi && require libzvbi libzvbi.h vbi_decoder_new -lzvbi && On 14 October 2017 at 11:00, Mark Himsley wrote: > I build FFmpeg and all the libraries I need every night. Since 08:00 > BST on 12-Oct-2017 that build has not worked, the previous build on > 11-Oct-2017 worked. > > My configure command for building 64bit Linux that is run on an Ubuntu > 16.04 system, which worked on Wednesday but not on Thursday, is: > > ./configure --extra-version=static_x86_64-pc-linux-gnu > --extra-cflags="--static -static" --extra-libs="-static" > --pkg-config-flags="--static" --cross-prefix= --arch=x86_64 > --target-os=linux --prefix="/opt/bbc/ff_lib" --enable-gpl > --enable-nonfree --disable-ffplay --disable-dxva2 --enable-libmp3lame > --enable-libfdk-aac --enable-libspeex --enable-libtheora > --enable-libvorbis --enable-libopus --enable-libopenjpeg > --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 > > (yes, the configure contains options, like cross-prefix and arch and > target that are not necessarily normally needed, but I build for > Linux, Windows 32 and 64 bit static binaries and macOS static binary > with the same configure command but with different variable > substitutions) > > The configure.log extract is: > > ... > require libmp3lame >= 3.98.3 lame/lame.h lame_set_VBR_quality -lmp3lame > check_lib libmp3lame lame/lame.h lame_set_VBR_quality -lmp3lame > check_func_headers lame/lame.h lame_set_VBR_quality -lmp3lame > check_ld cc -lmp3lame > check_cc > BEGIN /tmp/ffconf.Daqbd9DA/test.c > 1 #include > 2 #include > 3 long check_lame_set_VBR_quality(void) { return (long) > lame_set_VBR_quality; } > 4 int main(void) { int ret = 0; > 5 ret |= ((intptr_t)check_lame_set_VBR_quality) & 0xFFFF; > 6 return ret; } > END /tmp/ffconf.Daqbd9DA/test.c > gcc --static -static -I/opt/bbc/ff_lib/include -D_ISOC99_SOURCE > -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 > -D_XOPEN_SOURCE=600 --static -static -I/opt/bbc/ff_lib/include > --static -static -std=c11 -fomit-frame > -pointer -pthread -I/opt/bbc/ff_lib/include -c -o > /tmp/ffconf.Daqbd9DA/test.o /tmp/ffconf.Daqbd9DA/test.c > gcc -L/opt/bbc/ff_lib/lib -static -Wl,--as-needed -Wl,-z,noexecstack > -o /tmp/ffconf.Daqbd9DA/test /tmp/ffconf.Daqbd9DA/test.o -lmp3lame > -static > /opt/bbc/ff_lib/lib/libmp3lame.a(gain_analysis.o): In function `AnalyzeSamples': > gain_analysis.c:(.text+0xedd): undefined reference to `log10' > /opt/bbc/ff_lib/lib/libmp3lame.a(gain_analysis.o): In function `analyzeResult': > gain_analysis.c:(.text+0x12aa): undefined reference to `ceil' > /opt/bbc/ff_lib/lib/libmp3lame.a(lame.o): In function `filter_coef': > lame.c:(.text+0xb1): undefined reference to `cos' > /opt/bbc/ff_lib/lib/libmp3lame.a(lame.o): In function `lame_init_params': > lame.c:(.text+0x320c): undefined reference to `pow' > lame.c:(.text+0x3463): undefined reference to `powf' > /opt/bbc/ff_lib/lib/libmp3lame.a(lame.o): In function `lame_print_internals': > lame.c:(.text+0x4613): undefined reference to `log10' > ... > > Etc. Which suggests to me that -lm is missing. > > When I checkout 58143b15adda6391ec07f3eb19e80ed91d801edd, the parent > of 6dfcbd80ad446ff163b47f2bf432bbf706436ea8, my configure works. > When I checkout 6dfcbd80ad446ff163b47f2bf432bbf706436ea8 my configure fails. > > > If I edit configure to add -lm to the mp3lame tests, which works for > that library, the next library test fails in a similar way. I think > 6dfcbd80ad446ff163b47f2bf432bbf706436ea8 has done sevear damage to the > configuration of FFmpeg. I wonder if building static was considered, > or whether my configure command line is not passing the right > parameters to make a static builds. > > -- > Mark Himsley diff --git a/configure b/configure index dfbc251..67c012d 100755 --- a/configure +++ b/configure @@ -6008,7 +6008,7 @@ enabled libkvazaar && require_pkg_config libkvazaar "kvazaar >= 0.8.1" kv enabled libmfx && { use_pkg_config libmfx libmfx "mfx/mfxvideo.h" MFXInit || { require libmfx "mfx/mfxvideo.h" MFXInit -llibmfx && warn "using libmfx without pkg-config"; } } enabled libmodplug && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load