ffmpeg build fails only if being built as a dependency of emby-server

Adam Weinberger adamw at adamw.org
Sun Feb 5 15:21:21 UTC 2017


> On 5 Feb, 2017, at 8:07, Ben Woods <woodsb02 at gmail.com> wrote:
> 
> On 9 January 2017 at 23:52, Tsaki Stan <tsakistan at gmail.com> wrote:
> 
>> Hello,
>> 
>> even though it's one of the dependencies that fails (ffmpeg), if I install
>> it separately it compiles just fine. I'm not quite sure who to contact.
>> I've attached the full log if you want to check it out.
>> 
>> 
>> [root at crystal ~]# uname -a
>> FreeBSD crystal 11.0-RELEASE-p2 FreeBSD 11.0-RELEASE-p2 #0: Mon Oct 24
>> 06:55:27 UTC 2016     root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
>> amd64
>> [root at crystal ~]# cat /etc/make.conf
>> OPTIONS_UNSET=X11 OPENGL XCB FONTCONFIG
>> multimedia_ffmpeg_SET=LAME OPUS SMB X265
>> multimedia_ffmpeg_UNSET=VAAPI VDPAU FREI0R
>> graphics_ImageMagick-nox11_UNSET=16BIT_PIXEL PDF
>> [root at crystal ~]# pkg leaf
>> bash-4.4.5
>> dialog4ports-0.1.6
>> pkg-1.9.4_1
>> portmaster-3.17.9_4
>> samba44-4.4.8
>> [root at crystal ~]# pkg autoremove
>> Checking integrity... done (0 conflicting)
>> Nothing to do.
>> [root at crystal ~]# make -C /usr/ports/multimedia/emby-server/ install
>> clean BATCH=yes 2>&1 | tee -a emby_fail.txt
>> ...
>> libavcodec/libavcodec.so: undefined reference to `ff_blockdsp_init_x86'
>> gmake[2]: *** [Makefile:131: ffprobe_g] Error 1
>> gmake[2]: *** Waiting for unfinished jobs....
>> libavcodec/libavcodec.so: undefined reference to `ff_xvid_idct_init_x86'
>> libavcodec/libavcodec.so: undefined reference to `ff_me_cmp_init_x86'
>> libavfilter/libavfilter.so: undefined reference to `ff_hqdn3d_init_x86'
>> libavcodec/libavcodec.so: undefined reference to `ff_h264_pred_init_x86'
>> libavfilter/libavfilter.so: undefined reference to `ff_showcqt_init_x86'
>> libavcodec/libavcodec.so: undefined reference to
>> `ff_mpegvideoencdsp_init_x86'
>> libavfilter/libavfilter.so: undefined reference to `ff_w3fdif_init_x86'
>> libavutil/libavutil.so: undefined reference to `ff_get_cpu_flags_x86'
>> libavcodec/libavcodec.so: undefined reference to `ff_pixblockdsp_init_x86'
>> cc: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>> gmake[2]: *** [Makefile:131: ffmpeg_g] Error 1
>> gmake[2]: Leaving directory '/usr/ports/multimedia/ffmpeg/
>> work/ffmpeg-3.2.2'
>> ===> Compilation failed unexpectedly.
>> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
>> the maintainer.
>> *** Error code 1
>> Stop.
>> make[1]: stopped in /usr/ports/multimedia/ffmpeg
>> *** Error code 1
>> Stop.
>> make: stopped in /usr/ports/multimedia/emby-server
>> [root at crystal ~]#
>> 
>> This works fine:
>> make -C /usr/ports/multimedia/ffmpeg WITH="LAME OPUS SMB X265"
>> WITHOUT="VAAPI VDPAU FREI0R" install clean BATCH=yes &&
>> make -C /usr/ports/graphics/ImageMagick-nox11 WITHOUT="16BIT_PIXEL PDF"
>> installclean BATCH=yes &&
>> make -C /usr/ports/multimedia/emby-server install clean BATCH=yes
>> 
>> Am I doing something wrong?
>> 
>> Thanks
>> 
> 
> 
> Hi Tsaki,
> 
> Thanks for pointing this out. I use poudriere to build my ports, so I had
> never noticed this, but was able to reproduce it today.
> 
> Any porters out there have any idea why multimedia/ffmpeg would fail to
> build when being built as a dependency of multimedia/emby-server, but not
> if it is build directly?

ffmpeg does have a bad habit of finding headers or libraries in LOCALBASE and mistakenly using them instead of its own sources, and perhaps that's what's happening here. Presumably another emby-server dependency is giving ffmpeg this opportunity.

# Adam


-- 
Adam Weinberger
adamw at adamw.org
https://www.adamw.org



More information about the freebsd-ports mailing list