Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 576372 - www-client/chromium-50.0.2657.0 fails to compile with system ffmpeg
Summary: www-client/chromium-50.0.2657.0 fails to compile with system ffmpeg
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-03 19:28 UTC by Paweł Hajdan, Jr. (RETIRED)
Modified: 2016-07-10 10:16 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2016-03-03 19:28:30 UTC
FAILED: x86_64-pc-linux-gnu-g++ -MMD -MF obj/third_party/webrtc/modules/video_coding/codecs/h264/webrtc_h264.h264.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D_FILE_OFFSET_BIT
S=64 -DDISABLE_NACL -DCHROMIUM_BUILD -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE
_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTI
FICATIONS -DENABLE_TOPCHROME_MD=1 -DUSE_UDEV -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE
=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIV
E_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_HANGOUT_SERVICES_EXTENSION=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DWEBRTC_RESTRICT_LOGGING -DEXPAT_RELATIVE_PATH -DWEBRTC_CHROMIUM_BUILD -DLOGGING_INSIDE_WEBRTC -DWEBRTC_POSIX -DWEBRTC_LINUX -DWEBRTC_USE_H264 -D__STDC_CONSTANT_MACROS -DUSE_SYSTEM_FFMPEG -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen/shim_headers/libevent/target -Igen -I../.. -I../../third_party/webrtc_overrides -I../../third_party -I../../third_party/webrtc/common_video/include -I../../third_party/webrtc/common_video/libyuv/include -I../../third_party/libyuv/include -I../../third_party/libyuv -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-strict-aliasing -Wall -Wno-extra -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-unused-local-typedefs -m64 -march=x86-64 -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -O2 -pipe -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -Wno-narrowing  -c ../../third_party/webrtc/modules/video_coding/codecs/h264/h264.cc -o obj/third_party/webrtc/modules/video_coding/codecs/h264/webrtc_h264.h264.o
<command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
In file included from ../../third_party/webrtc/modules/video_coding/codecs/h264/h264.cc:15:0:
../../third_party/webrtc/modules/video_coding/codecs/h264/h264_decoder_impl.h:18:51: fatal error: third_party/ffmpeg/libavcodec/avcodec.h: No such file or directory
compilation terminated.
Comment 1 Klaus Kusche 2016-03-26 14:07:39 UTC
Same here.

It's not just this single header file, the build accesses many libav headers.

I symlinked all /usr/include/libav* directories to 
work/chromium-50.0.2661.37/third_party/ffmpeg
(in case of libavcodec, I symlinked the files within it, not the dir)
and restarted the emerge. Seems to work for me...
Comment 2 Steev Klimaszewski (RETIRED) gentoo-dev 2016-03-27 23:21:17 UTC
While masking is a good thing, this has broken the build for both arm and arm64;

It seems that the internal ffmpeg is passing incorrect compiler triples.  On armv7 it seems to be passing armv7a-cros-linux-gnueabi and on arm64 it is passing aarch64-linux-gnu

/usr/bin/aarch64-linux-gnu-gcc -O2 -pipe -march=armv8-a -mcpu=cortex-a53 -march=armv8-a -c -o /var/tmp/portage/www-client/chromium-51.0.2687.0/work/temp/ffconf.S29j3FwS.o /var/tmp/portage/www-client/chromium-51.0.2687.0/work/temp/ffconf.vRUKgKpA.c
/var/tmp/portage/www-client/chromium-51.0.2687.0/work/chromium-51.0.2687.0/third_party/ffmpeg/configure: line 850: /usr/bin/aarch64-linux-gnu-gcc: No such file or directory
C compiler test failed.

It seems that even when compiling natively on the hardware, the ffmpeg script passes --enable-cross-compile and --cross-prefix=/usr/bin/aarch64-linux-gnu-
Comment 3 PV 2016-04-09 22:03:34 UTC
Same here:

media-video/ffmpeg-2.8.6:0/54.56.56::gentoo  USE="X encode gpl hardcoded-tables opus postproc threads vdpau vorbis vpx x264 xvid zlib -aac -aacplus -alsa (-altivec) -amr -amrenc (-armv5te) (-armv6) (-armv6t2) (-armvfp) -bluray -bs2b -bzip2 -cdio -celt -cpudetection -debug -doc -examples -faac -fdk -flite -fontconfig -frei0r -fribidi -gme -gnutls -gsm -iconv -iec61883 -ieee1394 -jack -jpeg2k -ladspa -libass -libcaca -libressl -librtmp -libsoxr -libv4l -lzma (-mipsdspr1) (-mipsdspr2) (-mipsfpu) -modplug -mp3 (-neon) -network -openal -opengl -openssl -oss -pic -pulseaudio -quvi -samba -schroedinger -sdl -snappy -speex -ssh -static-libs {-test} -theora -truetype -twolame -v4l -vaapi -wavpack -webp -x265 -xcb -zvbi" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 sse4_1 ssse3 -3dnow -3dnowext -avx -avx2 -fma3 -fma4 -sse4_2 -xop" FFTOOLS="-aviocat -cws2fws -ffescape -ffeval -ffhash -fourcc2pixfmt -graph2dot -ismindex -pktdumper -qt-faststart -sidxindex -trasher"

www-client/chromium-50.0.2661.66::gentoo [48.0.2564.116::gentoo] USE="(pic) proprietary-codecs system-ffmpeg -cups -custom-cflags -gn -gnome -gnome-keyring (-gtk3) -hangouts -hidpi -hotwording -kerberos (-neon) -pulseaudio (-selinux) -tcmalloc* {-test} -widevine" LINGUAS="ru -am -ar -bg -bn -ca -cs -da -de -el -en_GB -es -es_LA -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -ja -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt_BR -pt_PT -ro -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh_CN -zh_TW"

What I've done to fix it localy:

1. Start emerge chromium, wait for unpack
2. Run in other term: ln -s /usr/include/libav* /var/tmp/portage/www-client/chromium-50.0.2661.66/work/chromium-50.0.2661.66/third_party/ffmpeg/
Comment 4 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2016-04-15 15:49:42 UTC
Uploaded https://codereview.chromium.org/1894443003 to address this.
Comment 5 PV 2016-04-16 17:31:23 UTC
(In reply to Paweł Hajdan, Jr. from comment #4)
> Uploaded https://codereview.chromium.org/1894443003 to address this.

Patch working, emerge successful.
Thank you.