Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 608148 - =www-client/chromium-57.0.2987.21[widevine] file collision with =www-plugins/chrome-binary-plugins-57.0.2987.21_beta[widevine]
Summary: =www-client/chromium-57.0.2987.21[widevine] file collision with =www-plugins/...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-03 19:03 UTC by Steffen Hau
Modified: 2017-03-12 17:08 UTC (History)
6 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 Steffen Hau 2017-02-03 19:03:16 UTC
* 
 * Detected file collision(s):
 * 
 *      /usr/lib64/chromium-browser/libwidevinecdm.so
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * www-client/chromium-57.0.2987.21:0::gentoo
 *      /usr/lib64/chromium-browser/libwidevinecdm.so
 * 
 * Package 'www-plugins/chrome-binary-plugins-57.0.2987.21_beta' NOT
 * merged due to file collisions. If necessary, refer to your elog
 * messages for the whole content of the above message.

Looks like www-client/chromium-57.0.2987.21[widevine] now comes with /usr/lib64/chromium-browser/libwidevinecdm.so.
Comment 1 Mike Gilbert gentoo-dev 2017-02-03 20:52:13 UTC
That's... interesting.

It was probably introduced here.

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7b214d802b93e71f715298bcaffc1590541bca6

commit e7b214d802b93e71f715298bcaffc1590541bca6
Author: Pawel Hajdan, Jr <phajdan.jr@gentoo.org>
Date:   Tue Jan 3 21:42:01 2017 +0000

    www-client/chromium: add support for component build

    This addresses bug #601590 by David Kredba .

 www-client/chromium/chromium-57.0.2950.4.ebuild | 9 +++++++--
 www-client/chromium/metadata.xml                | 1 +
 2 files changed, 8 insertions(+), 2 deletions(-)
Comment 2 Steffen Hau 2017-02-03 22:02:40 UTC
htpc ~ # time emerge -pv chromium

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] www-client/chromium-57.0.2987.21::gentoo  USE="custom-cflags kerberos (pic) proprietary-codecs suid system-ffmpeg system-libvpx tcmalloc widevine -component-build -cups -gconf -gnome-keyring (-gtk3) -hangouts (-neon) -pulseaudio (-selinux) {-test}" L10N="de -am -ar -bg -bn -ca -cs -da -el -en-GB -es -es-419 -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 -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh-CN -zh-TW" 0 KiB

component-build is disabled. I have now uninstalled www-plugins/chrome-binary-plugins and put it in /etc/portage/profiles/package.provided in order to satisfy "widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )" and I'm no longer able to play Videos on Amazon Prime. It says connection problems, irrespectively of what I've chosen to watch while firefox does not complain and plays the videos.
Comment 3 Steffen Hau 2017-02-03 22:41:30 UTC
(In reply to Steffen Hau from comment #2)
> component-build is disabled. I have now uninstalled
> www-plugins/chrome-binary-plugins and put it in
> /etc/portage/profiles/package.provided in order to satisfy "widevine? (
> www-plugins/chrome-binary-plugins[widevine(-)] )" and I'm no longer able to
> play Videos on Amazon Prime. It says connection problems, irrespectively of
> what I've chosen to watch while firefox does not complain and plays the
> videos.
The installed libwidevinecdm.so is significantly smaller then the one shipped in the .deb package:
192     /usr/lib64/chromium-browser/libwidevinecdm.so
vs
5640    /var/tmp/portage/www-plugins/chrome-binary-plugins-57.0.2987.21_beta/image/usr/lib64/chromium/libwidevinecdm.so


htpc ~ #  emerge --info chromium
Portage 2.3.3 (python 3.5.2-final-0, default/linux/amd64/13.0/systemd, gcc-6.3.0, glibc-2.23-r3, 4.9.7-HAUIHAU x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.9.7-HAUIHAU-x86_64-Intel-R-_Core-TM-_i3-4330_CPU_@_3.50GHz-with-gentoo-2.3
KiB Mem:     7809436 total,    212416 free
KiB Swap:    8388604 total,   8373292 free
Timestamp of repository gentoo: Fri, 03 Feb 2017 21:30:01 +0000
sh bash 4.3_p48-r1
ld GNU gold (Gentoo 2.27 p1.0 2.27) 1.12
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1_rc4::gentoo
dev-lang/python:          2.7.12::gentoo, 3.5.2::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.27::gentoo
sys-devel/gcc:            6.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.9::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

hauihau
    location: /usr/local/portage/hauihau
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O3 -pipe -flto=5 -fuse-linker-plugin"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O3 -pipe -flto=5 -fuse-linker-plugin -fno-delete-null-pointer-checks -flifetime-dse=1"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=n --keep-going=y --quiet-build=y --quiet-fail=y --with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fakeroot fixlafiles merge-sync metadata-transfer news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.utf8"
LC_ALL="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -march=native -O3 -pipe -flto=5 -fuse-linker-plugin -Wl,--hash-style=gnu,--gc-sections,--icf=safe"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/home/gentoo/tmp/"
USE="X a52 aac aalib acl alsa amd64 avx avx2 bash-completion berkdb bluray branding bzip2 cairo caps cdda cddb cdparanoia cdr cli cracklib crypt curl cxx dbus dga dri dts dv dvd egl encode exif ffmpeg flac fontconfig fortran ftp gd gdbm gif gmp gstreamer iconv icu imagemagick imlib ipv6 jpeg jpeg2k lame libcaca libnotify libsamplerate lzma lzo mad matroska mmx mmxext mng modules mp3 mpeg mtp multilib musepack ncurses nls nptl nsplugin ogg openal opengl openmp pam pcre pdf png policykit qt5 quicktime readline seccomp session sndfile spell sse sse2 sse3 sse4 sse4_1 sse4_2 ssl ssse3 svg syslog systemd tcpd theora threads tiff truetype udev unicode usb v4l vaapi vcd vim-syntax vorbis wavpack wayland webkit x264 xattr xcb xcomposite xinerama xml xmp xorg xosd xpm xv xvid zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python3_5" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="3.5"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

www-client/chromium-57.0.2987.21::gentoo was built with the following:
USE="custom-cflags kerberos (pic) proprietary-codecs suid system-ffmpeg system-libvpx tcmalloc widevine -component-build -cups -gconf -gnome-keyring (-gtk3) -hangouts (-neon) -pulseaudio (-selinux) -test" ABI_X86="64" L10N="de -am -ar -bg -bn -ca -cs -da -el -en-GB -es -es-419 -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 -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh-CN -zh-TW"
CFLAGS="-march=native -O2 -pipe -flto=5 -fuse-linker-plugin -fno-lto"
CXXFLAGS="-march=native -O2 -pipe -flto=5 -fuse-linker-plugin -fno-delete-null-pointer-checks -flifetime-dse=1 -fno-lto -fno-delete-null-pointer-checks"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -march=native -O2 -pipe -flto=5 -fuse-linker-plugin -Wl,--hash-style=gnu,--gc-sections,--icf=safe -fno-lto"
Comment 4 Steffen Hau 2017-02-04 11:39:33 UTC
I tried to find any differences between 56 and 57 which may cause that libwidevine.so gets installed, but had no luck.


To verify, wether my FLAGS cause the issue with playing DRM encrypted videos, I've now recompiled chromium without any optimizations by using

CFLAGS="-march=native -pipe"
CXXFLAGS="${CFLAGS} -fno-delete-null-pointer-checks -flifetime-dse=1"
LDFLAGS="${CFLAGS} -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"

Result: I still can't play any videos on Amazon Prime. It also looks like the .deb Package has a slightly newer version of libwidevine.so (checked with strings):

www-client/chromium-57.0.2987.21: 1.4.8.0
www-plugins/chrome-binary-plugins-57.0.2987.21_beta: 1.4.8.970
www-client/firefox: 1.4.8.903 (found in ${HOME}.mozilla/firefox/<profile>/gmp-widevinecdm)

I first tried the one from chrome-binary-plugins by copying it to /usr/lib64/chromium-browser/libwidevinecdm.so and Amazon Prime videos played without any error. I repeated it with the one from Firefox and also no errors.

Could someone please verify if the libwidevinecdm.so shipped with chromium-57 works for them?
Comment 5 Mike Gilbert gentoo-dev 2017-02-04 19:00:47 UTC
I dropped libwidevinecdm.so from chrome-binary-plugins. Please let me know if this breaks widevine support in chromium.
Comment 6 Jouni Kosonen 2017-02-05 00:29:12 UTC
(In reply to Mike Gilbert from comment #5)
> I dropped libwidevinecdm.so from chrome-binary-plugins. 

I haven't tried rebuilding either package yet but to me it looks like after 
commit 62cf495a54341e663828e1e7902fb3ced39b3d76
both www-plugins/chrome-binary-plugins-57.0.2987.21_beta[widewine]
and www-client/chromium-57.0.2987.21[widewine]
would try to install /usr/lib64/chromium-browser/libwidevinecdmadapter.so

 76080 bytes when coming from the plugin,
104216 bytes when coming from the browser.
Comment 7 Mike Gilbert gentoo-dev 2017-02-05 05:10:17 UTC
I have reverted the previous commit.
Comment 8 Mike Gilbert gentoo-dev 2017-02-05 05:29:59 UTC
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28820fb831d9074924d4dc8e2dc56022fcfbf70c

commit 28820fb831d9074924d4dc8e2dc56022fcfbf70c
Author: Mike Gilbert <floppym@gentoo.org>
Date:   Sun Feb 5 00:23:16 2017 -0500

    www-client/chromium: don't install libwidevinecdm*.so
    
    Bug: https://bugs.gentoo.org/608148
    Package-Manager: Portage-2.3.3_p49, Repoman-2.3.1_p42

 www-client/chromium/chromium-57.0.2987.21.ebuild | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42c74fb0e12f1e3f567f2802a6094ad809a4ee8d

commit 42c74fb0e12f1e3f567f2802a6094ad809a4ee8d
Author: Mike Gilbert <floppym@gentoo.org>
Date:   Sun Feb 5 00:27:57 2017 -0500

    www-plugins/chrome-binary-plugins: libwidevinecdmadapter.so symlink
    
    Bug: https://bugs.gentoo.org/608148
    Package-Manager: Portage-2.3.3_p49, Repoman-2.3.1_p42

 .../chrome-binary-plugins-57.0.2987.19_alpha.ebuild                  | 5 +----
 .../chrome-binary-plugins-57.0.2987.21_beta.ebuild                   | 5 +----
 2 files changed, 2 insertions(+), 8 deletions(-)
Comment 9 Mike Gilbert gentoo-dev 2017-02-05 05:33:59 UTC
I probably should have revbumped/added blockers for this change, but I really don't want to force all chromium users to rebuild.

If you are still hitting a file collision, please remove /usr/lib64/chromium-browser/libwidevinecdm*.so manually and then try again.
Comment 10 Steffen Hau 2017-02-05 13:18:08 UTC
(In reply to Jouni Kosonen from comment #6)
> I haven't tried rebuilding either package yet but to me it looks like after 
> commit 62cf495a54341e663828e1e7902fb3ced39b3d76
> both www-plugins/chrome-binary-plugins-57.0.2987.21_beta[widewine]
> and www-client/chromium-57.0.2987.21[widewine]
> would try to install /usr/lib64/chromium-browser/libwidevinecdmadapter.so
> 
>  76080 bytes when coming from the plugin,
> 104216 bytes when coming from the browser.
This one is not the source of the problems.


(In reply to Mike Gilbert from comment #9)
> I probably should have revbumped/added blockers for this change, but I
> really don't want to force all chromium users to rebuild.
> 
> If you are still hitting a file collision, please remove
> /usr/lib64/chromium-browser/libwidevinecdm*.so manually and then try again.
Thanks a lot Mike, it works now. Though it would have been sufficient to just remove libwidevinecdm.so.

Should we do anything regarding the not working libwidevinecdm.so from a chromium-57 source build?
Comment 11 Dennis Schridde 2017-03-12 15:32:39 UTC
I run into the same issue with www-client/chromium-56.0.2924.76-r1 and www-plugins/chrome-binary-plugins-57.0.2987.98:

 * Messages for package www-plugins/chrome-binary-plugins-57.0.2987.98:                                                                                                                                                                                                                                                                                                    
 *                                                                                                                                                               
 * Detected file collision(s):                                                                                                                                                                                       
 *                                                                                                                                                                                                                                               
 *      /usr/lib64/chromium-browser/libwidevinecdmadapter.so                         
 *                                                                                                          
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * www-client/chromium-56.0.2924.76-r1:0::gentoo
 *      /usr/lib64/chromium-browser/libwidevinecdmadapter.so
Comment 12 Mike Gilbert gentoo-dev 2017-03-12 17:08:20 UTC
commit 9ba7295e0e09ed3976809a4d33e0adc7d79df42f
Author: Mike Gilbert <floppym@gentoo.org>
Date:   Sun Mar 12 13:03:58 2017 -0400

    www-client/chromium: update chrome-binary-plugins blocker
    
    Package-Manager: Portage-2.3.3_p79, Repoman-2.3.1_p72

 www-client/chromium/chromium-57.0.2987.98.ebuild | 2 +-
 www-client/chromium/chromium-58.0.3029.6.ebuild  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit cc43186d19352bb78060eea125884be20bc42722
Author: Mike Gilbert <floppym@gentoo.org>
Date:   Sun Mar 12 12:50:49 2017 -0400

    www-plugins/chrome-binary-plugins: add blocker on old chromium
    
    Bug: https://bugs.gentoo.org/608148
    Package-Manager: Portage-2.3.3_p79, Repoman-2.3.1_p72

 .../chrome-binary-plugins/chrome-binary-plugins-57.0.2987.98.ebuild     | 2 ++
 .../chrome-binary-plugins-57.0.2987.98_beta.ebuild                      | 2 ++
 .../chrome-binary-plugins-58.0.3029.14_alpha.ebuild                     | 2 ++
 3 files changed, 6 insertions(+)