[FFmpeg-devel] [PATCH] configure: check if dlfcn.h is present for ladspa and frei0r, if not abort early

James Almer jamrial at gmail.com
Sun Dec 2 21:04:47 EET 2018


On 12/2/2018 3:53 PM, Paul B Mahol wrote:
> On 12/2/18, James Almer <jamrial at gmail.com> wrote:
>> On 12/2/2018 2:51 PM, Paul B Mahol wrote:
>>> Fixes #4517.
>>>
>>> Signed-off-by: Paul B Mahol <onemda at gmail.com>
>>> ---
>>>  configure | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/configure b/configure
>>> index 2af6c0d797..7c55274efa 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -6065,11 +6065,11 @@ enabled chromaprint       && require chromaprint
>>> chromaprint.h chromaprint_get_v
>>>  enabled decklink          && { require_headers DeckLinkAPI.h &&
>>>                                 { test_cpp_condition DeckLinkAPIVersion.h
>>> "BLACKMAGIC_DECKLINK_API_VERSION >= 0x0a090500" || die "ERROR: Decklink
>>> API version must be >= 10.9.5."; } }
>>>  enabled libndi_newtek     && require_headers Processing.NDI.Lib.h
>>> -enabled frei0r            && require_headers frei0r.h
>>> +enabled frei0r            && require_headers frei0r.h && require_headers
>>> dlfcn.h
>>>  enabled gmp               && require gmp gmp.h mpz_export -lgmp
>>>  enabled gnutls            && require_pkg_config gnutls gnutls
>>> gnutls/gnutls.h gnutls_global_init
>>>  enabled jni               && { [ $target_os = "android" ] &&
>>> check_headers jni.h && enabled pthreads || die "ERROR: jni not found"; }
>>> -enabled ladspa            && require_headers ladspa.h
>>> +enabled ladspa            && require_headers ladspa.h && require_headers
>>> dlfcn.h
>>>  enabled libaom            && require_pkg_config libaom "aom >= 1.0.0"
>>> aom/aom_codec.h aom_codec_version
>>>  enabled lv2               && require_pkg_config lv2 lilv-0 "lilv/lilv.h"
>>> lilv_world_new
>>>  enabled libiec61883       && require libiec61883 libiec61883/iec61883.h
>>> iec61883_cmp_connect -lraw1394 -lavc1394 -lrom1394 -liec61883
>>>
>>
>> Both filters already depend on libdl being present, which also implies
>> dlfcn.h (The check for libdl uses it). How is that not enough?
> 
> Filters != library support enabled
> 
> Please read bug report I linked, it explains it.
> 
> In short not having dflcn.h header would pass those options but would
> disable filters later.
> Proper way is to abort early.

Do those libraries need dlfcn.h, or only the filters? If the former,
then the libraries are not meant to depend on the presence of libdl.
Hence the dep being for the filters.

In any case, since both libraries are only used by one filter each, i
guess this is ok. But instead of adding a new require_headers check just
reuse the existing one to check both headers.


More information about the ffmpeg-devel mailing list