On 9/11/2018 5:29 PM, Giulio Benetti wrote: > When static linking programs using ffmpeg libraries, if linking against > libavutil, -ldrm is listed before -lavutil. This leads to linking failure > due to undefined reference of drmGetVersion() and drmFreeVersion(). > This is why when pkg-config create libavutil.pc doesn't append -ldrm > after -lavutil. > > Create LIBDRM=-ldrm in case libdrm is enabled and add $LIBDRM to > extralibs_avutil.
I'm not sure i understand. libdrm is already added to avutil extralibs, seeing it's listed in the "avutil_suggest" line in configure. I see it's also added to avdevice if kmsgrab_indev is enabled. The -ldrm ldflag, assuming the libdrm pkg-config file is correct, should be in $avutil_extralibs when configure dumps it into extralibs_avutil for the purpose of creating libavutil.pc. > > Signed-off-by: Giulio Benetti <giulio.bene...@micronovasrl.com> > --- > configure | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/configure b/configure > index ef97c6b500..28bc3481bc 100755 > --- a/configure > +++ b/configure > @@ -6057,7 +6057,7 @@ enabled libcaca && require_pkg_config libcaca > caca caca.h caca_create_ > enabled libcodec2 && require libcodec2 codec2/codec2.h codec2_create > -lcodec2 > enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.5.115" > davs2.h davs2_decoder_open > enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 > dc1394/dc1394.h dc1394_new > -enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h > drmGetVersion > +enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h > drmGetVersion && LIBDRM="-ldrm" > enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac > "fdk-aac/aacenc_lib.h" aacEncOpen || > { require libfdk_aac fdk-aac/aacenc_lib.h > aacEncOpen -lfdk-aac && > warn "using libfdk without pkg-config"; } } > @@ -7347,7 +7347,7 @@ rpath=$(enabled rpath && echo "-Wl,-rpath,\${libdir}") > source_path=${source_path} > LIBPREF=${LIBPREF} > LIBSUF=${LIBSUF} > -extralibs_avutil="$avutil_extralibs" > +extralibs_avutil="$avutil_extralibs $LIBDRM" > extralibs_avcodec="$avcodec_extralibs" > extralibs_avformat="$avformat_extralibs" > extralibs_avdevice="$avdevice_extralibs" > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel