Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 576746 - dev-libs/libcec-3.0.1: does not configure when raspberry-pi USE flag is enabled
Summary: dev-libs/libcec-3.0.1: does not configure when raspberry-pi USE flag is enabled
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Ian Whyman (thev00d00) (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-08 08:14 UTC by Miroslav Šulc
Modified: 2016-05-22 10:01 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,6.53 KB, text/x-log)
2016-03-08 08:14 UTC, Miroslav Šulc
Details
raspberry-pi.patch (raspberry-pi.patch,1.23 KB, patch)
2016-03-08 08:16 UTC, Miroslav Šulc
Details | Diff
raspberry-pi.patch (raspberry-pi.patch,915 bytes, patch)
2016-04-02 08:08 UTC, Miroslav Šulc
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Miroslav Šulc gentoo-dev 2016-03-08 08:14:35 UTC
Created attachment 427712 [details]
build.log

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
RPI_BCM_HOST
    linked by target "cec" in directory /var/tmp/portage/dev-libs/libcec-3.0.1/work/libcec-libcec-3.0.1/src/libcec
RPI_VCHIQ_ARM
    linked by target "cec" in directory /var/tmp/portage/dev-libs/libcec-3.0.1/work/libcec-libcec-3.0.1/src/libcec
RPI_VCOS
    linked by target "cec" in directory /var/tmp/portage/dev-libs/libcec-3.0.1/work/libcec-libcec-3.0.1/src/libcec


i suppose the solution is described here: https://github.com/Pulse-Eight/libcec#raspberry-pi


# emerge --info '=dev-libs/libcec-3.0.1::gentoo'
Portage 2.2.27 (python 2.7.11-final-0, hardened/linux/arm/armv7a, gcc-5.3.0, glibc-2.22-r2, 4.1.19-v7+ armv7l)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.1.19-v7+-armv7l-ARMv7_Processor_rev_5_-v7l-with-gentoo-2.2
KiB Mem:      996812 total,    457556 free
KiB Swap:    2097148 total,   2084792 free
Timestamp of repository gentoo: Mon, 07 Mar 2016 12:30:02 +0000
sh bash 4.3_p42-r2
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p42-r2::gentoo
dev-lang/perl:            5.22.1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo
dev-util/cmake:           3.4.3::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.20.5::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.69-r1::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r2::gentoo
Repositories:

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

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="arm ~arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv7a-hardfloat-linux-gnueabi"
CFLAGS="-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
CHOST="armv7a-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /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="-O2 -pipe -march=armv7-a"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="cs_CZ.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
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="/var/tmp"
USE="acl alsa arm armv5te armv6 armv6t2 armvfp berkdb bzip2 cli cracklib crypt cxx dbus dri gdbm gles hardened iconv ipv6 modules ncurses neon nls nptl openmp pam pax_kernel pcre pic pie raspberry-pi readline seccomp session ssl ssp unicode upower urandom xattr xtpax zlib" 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="none" 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"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Miroslav Šulc gentoo-dev 2016-03-08 08:16:49 UTC
Created attachment 427714 [details, diff]
raspberry-pi.patch

with this patch libcec compiles fine. i've also updated dependencies as without it the included directories might not exist.
Comment 2 Ian Whyman (thev00d00) (RETIRED) gentoo-dev 2016-03-08 08:18:43 UTC
Hmm thats changed since they switched to CMake.

Where do we install those files to? I assume somewhere in /opt?
Comment 3 Ian Whyman (thev00d00) (RETIRED) gentoo-dev 2016-03-08 08:21:24 UTC
Sigh, didn't see the patch.

Thanks!
Comment 4 Miroslav Šulc gentoo-dev 2016-04-02 08:08:34 UTC
Created attachment 429472 [details, diff]
raspberry-pi.patch

i found out the original patch is broken. it just disables rpi support completely. i misunderstood the github documentation page.

this is correct patch that includes raspberrypi-userland (i removed raspberrypi-userland-bin as it is obsolete and unmaintained) and sets correctly paths to raspberrypi-userland using bcm_host.pc file which is part of raspberrypi-userland one of the deps of libcec as raspberrypi-userland does not provide .pc file.

now detection finally works:

# cec-client -l
libCEC version: 3.0.1, git revision: <unknown>, compiled on So dub  2 08:04:21 UTC 2016 by portage@rpi.fordfrog.com on Linux 4.1.20-v7+ (armv7l), features: P8_USB, P8_detect, randr, 'RPi'
Found devices: 1

device:              1
com port:            RPI
vendor id:           2708
product id:          1001
firmware version:    1
type:                Raspberry Pi
Comment 5 Ian Whyman (thev00d00) (RETIRED) gentoo-dev 2016-04-02 10:51:14 UTC
This is great thanks.

Will include this in 3.1.0 bump.
Comment 6 Ian Whyman (thev00d00) (RETIRED) gentoo-dev 2016-04-02 11:58:11 UTC
Will be in the tree shortly.
Comment 7 Miroslav Šulc gentoo-dev 2016-04-03 11:24:57 UTC
the patch should be applied to libcec-3.0.1 aswell because libcec-3.0.1 depends on libplatform-1* (platform) whereas libcec-3.1.0 depends on libplatform-2* (p8-platform). kodi-16 and its plugins need platform and cannot build against p8-platform. so it still needs to use libcec-3.0.1 even with libcec-3.1.0 being in tree.

also wrt libcec, the above means that libcec-3.0.1 does not build against p8-platform and libcec-3.1.0 does not build against platform so libcec platform deps should be restricted to appropriate versions.

sorry for little bit hijacking this issue. but as it is related and easy to fix, i hope it's ok.
Comment 8 Patrice Clement gentoo-dev 2016-04-03 15:10:58 UTC
This commit broke the tree:

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

https://qa-reports.gentoo.org/output/gentoo-ci/f2a1c1c/output.html#dev-libs/libcec

I'm going to revert it for the time being. Please find a proper solution.
Comment 9 Oleh 2016-04-26 04:25:51 UTC
ok, i'd agree with Miroslav about libcec-3.1.0 having some issues but libcec-3.0.1, which is in tree, need bcm_host pkgconf fix added back, because it makes libcec compiling on ARM.
About revert and nonsolvable deps:
raspberry-pi USE flag must be masked for all arches, except ARM. Currently, it is in package.use.mask and only for media-video/mpv. This means raspberry-pi USE not really masked on rest of arches. Correct place for this would be base/use.mask. Or, it can be in package.use.mask but with */* entry.

grepping results.

base/package.use.mask:media-video/mpv raspberry-pi
arch/arm/package.use.stable.mask:media-video/mpv raspberry-pi
arch/arm/package.use.mask:media-video/mpv -raspberry-pi
Comment 10 Ian Whyman (thev00d00) (RETIRED) gentoo-dev 2016-05-22 10:01:04 UTC
Recommitted, sorry for the delay.