Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 631854 - media-tv/v4l-dvb-saa716x-0.0.1_p20170225: saa716x_pci.c:42:8: error: implicit declaration of function ‘pci_enable_msix’
Summary: media-tv/v4l-dvb-saa716x-0.0.1_p20170225: saa716x_pci.c:42:8: error: implicit...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Martin Dummer
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks: 624692
  Show dependency tree
 
Reported: 2017-09-23 16:42 UTC by Thomas Deutschmann (RETIRED)
Modified: 2018-04-04 23:34 UTC (History)
4 users (show)

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


Attachments
build.log (build.log,6.11 KB, text/plain)
2017-09-23 16:42 UTC, Thomas Deutschmann (RETIRED)
Details
change pci_enable_msix to pci_enable_msix_range (v4l-dvb-saa716x-pci_enable_msix_range.patch,648 bytes, patch)
2017-12-27 17:31 UTC, René
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2017-09-23 16:42:24 UTC
Created attachment 496178 [details]
build.log

1) Please check linux-info.eclass usage:

> In general, most checks should be non-fatal. The only time fatal 
> checks should be used is for building kernel modules or cases that a
> compile will fail without the option. 

If you really *need* CONFIG_DVB_CORE, CONFIG_DVB_STV6110x or CONFIG_DVB_STV090x please add a comment to the ebuild indicating that you are aware of this limitation.



2) src_compile() phase throws a

> ln: failed to create symbolic link 'Module.symvers': Permission denied



3) Compilation error:

/var/tmp/portage/media-tv/v4l-dvb-saa716x-0.0.1_p20170225/work/powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media
/common/saa716x/saa716x_pci.c: In function ‘saa716x_enable_msix’:
/var/tmp/portage/media-tv/v4l-dvb-saa716x-0.0.1_p20170225/work/powARman-v4l-dvb-saa716x-3b9fce66666a/linux/drivers/media
/common/saa716x/saa716x_pci.c:42:8: error: implicit declaration of function ‘pci_enable_msix’ [-Werror=implicit-function
-declaration]
  ret = pci_enable_msix(pdev, saa716x->msix_entries, SAA716x_MSI_MAX_VECTORS);
        ^
cc1: some warnings being treated as errors


Please note that I am currently testing on x86 system without CONFIG_DVB_CORE, CONFIG_DVB_STV6110x or CONFIG_DVB_STV090x.
Comment 1 Thomas Deutschmann (RETIRED) gentoo-dev 2017-09-23 16:42:45 UTC
Portage 2.3.8 (python 3.4.5-final-0, default/linux/x86/13.0, gcc-5.4.0, glibc-2.23-r4, 4.12.12-gentoo i686)
=================================================================
System uname: Linux-4.12.12-gentoo-i686-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.3
KiB Mem:     3108120 total,   2337104 free
KiB Swap:     488276 total,    488276 free
Timestamp of repository gentoo: Sat, 23 Sep 2017 15:47:43 +0000
Head commit of repository gentoo: 751d60d0f1fdee1f8c56f1c4dbfc324022e7ddbd

sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.28.1 p1.0) 2.28.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.28::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.15-r2::gentoo
sys-devel/binutils:       2.28-r2::gentoo, 2.28.1::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000

ABI="x86"
ABI_X86="32"
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
ANT_HOME="/usr/share/ant"
ARCH="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt"
CHOST="i686-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
COLLISION_IGNORE="/lib/modules/* *.py[co] *$py.class */dropin.cache"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind"
CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
CXXFLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt"
DEFAULT_ABI="x86"
EDITOR="/usr/bin/mcedit"
ELIBC="glibc"
EPREFIX=""
EROOT="/"
FACTERDIR="/usr/lib"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs cgroup config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i686 -pipe"
GCC_SPECS=""
GRUB_PLATFORMS="efi-32 pc"
GSETTINGS_BACKEND="dconf"
HOME="/root"
INFOPATH="/usr/share/info:/usr/share/gcc-data/i686-pc-linux-gnu/5.4.0/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.28.1/info"
INPUT_DEVICES="libinput keyboard mouse"
IUSE_IMPLICIT="abi_x86_32 prefix prefix-chain prefix-guest"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KERNEL="linux"
L10N="en en-US de de-DE"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LC_MESSAGES="C"
LC_PAPER="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LIBDIR_x86="lib"
LINGUAS="en de"
LOGNAME="root"
MAIL="/var/mail/root"
MAKEOPTS="--jobs 5 --load-average 7.95"
MULTILIB_ABIS="x86"
MULTIOSDIRS="../lib"
NOCOLOR="true"
OFFICE_IMPLEMENTATION="libreoffice"
OLDPWD="/root"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/5.4.0"
PHP_TARGETS="php5-6"
POSTGRES_TARGETS="postgres9_5"
PWD="/usr/portage/media-video"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_4"
PYTHON_TARGETS="python2_7 python3_4"
ROOT="/"
ROOTPATH="/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/5.4.0"
RUBY_TARGETS="ruby22"
SHELL="/bin/bash"
SHLVL="2"
SSH_TTY="/dev/pts/0"
TERM="screen"
TMUX="/tmp/tmux-0/default,4589,0"
TMUX_PANE="%1"
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
USER="root"
USERLAND="GNU"
VIDEO_CARDS="intel"
Comment 2 René 2017-12-27 17:31:37 UTC
Created attachment 511768 [details, diff]
change pci_enable_msix to pci_enable_msix_range

The attached patch changes pci_enable_msix to pci_enable_msix_range since pci_enable_msix seems to be obsolete.
It works for me with kernel 4.14.8-gentoo-r1 but I don't know which the last kernel version is that doesn't need that patch since I came directly from 4.9 where pci_enable_msix still existed.
Comment 3 Martin Dummer 2018-03-24 22:52:29 UTC
(In reply to Thomas Deutschmann from comment #0)

> 1) Please check linux-info.eclass usage:
> 
> > In general, most checks should be non-fatal. The only time fatal 
> > checks should be used is for building kernel modules or cases that a
> > compile will fail without the option. 
> 
> If you really *need* CONFIG_DVB_CORE, CONFIG_DVB_STV6110x or
> CONFIG_DVB_STV090x please add a comment to the ebuild indicating that you
> are aware of this limitation.

When the three kernel config options are not set, the module build will succeed, but the resulting module is useless. So if this is the desired result...


> 2) src_compile() phase throws a
> 
> > ln: failed to create symbolic link 'Module.symvers': Permission denied
> 
I assume the module compile wants to place a symlink in the original /usr/src/linux directory, this is outside of the sandbox. I see no way to prevent this "permission denied", it is just a cosmetic problem. the "addpredict" in src_compile is not able to prevent this.


> 3) Compilation error:
> 
> /var/tmp/portage/media-tv/v4l-dvb-saa716x-0.0.1_p20170225/work/powARman-v4l-
> dvb-saa716x-3b9fce66666a/linux/drivers/media
> /common/saa716x/saa716x_pci.c: In function ‘saa716x_enable_msix’:
> /var/tmp/portage/media-tv/v4l-dvb-saa716x-0.0.1_p20170225/work/powARman-v4l-
> dvb-saa716x-3b9fce66666a/linux/drivers/media
> /common/saa716x/saa716x_pci.c:42:8: error: implicit declaration of function
> ‘pci_enable_msix’ [-Werror=implicit-function
> -declaration]
>   ret = pci_enable_msix(pdev, saa716x->msix_entries,
> SAA716x_MSI_MAX_VECTORS);
>         ^
> cc1: some warnings being treated as errors
> 
> 
> Please note that I am currently testing on x86 system without
> CONFIG_DVB_CORE, CONFIG_DVB_STV6110x or CONFIG_DVB_STV090x.


I confirm this error WITH all needed kernel config options set, and will add a pull request with a fixed ebuild.
Comment 4 Larry the Git Cow gentoo-dev 2018-03-29 19:20:30 UTC
The bug has been closed via the following commit(s):

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

commit d994d79812c21406bacc28fbc6b90bc8fa811bc6
Author:     Martin Dummer <martin.dummer@gmx.net>
AuthorDate: 2018-03-25 10:51:28 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2018-03-29 19:16:04 +0000

    media-tv/v4l-dvb-saa716x: fix compile issue, #631854
    
    fix compile issue with kernel >=4.14
    Closes: https://bugs.gentoo.org/631854
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../files/v4l-dvb-saa716x-4.14.0-fix-compile.patch | 11 +++++
 .../v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild      | 56 ++++++++++++++++++++++
 2 files changed, 67 insertions(+)
Comment 5 Larry the Git Cow gentoo-dev 2018-04-04 23:34:21 UTC
The bug has been closed via the following commit(s):

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

commit eac1e428a7e1fef6995e14aba81133fd10f90031
Author:     Martin Dummer <martin.dummer@gmx.net>
AuthorDate: 2018-03-30 12:51:50 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-04-04 23:27:31 +0000

    media-tv/v4l-dvb-saa716x: fix compile with kernel 4.15
    
    import fixes from https://github.com/s-moch/linux-saa716x
    https://github.com/s-moch/linux-saa716x/commit/0b2276ee2e6383ad577fce5c694f8c4062d5334b.patch
    https://github.com/s-moch/linux-saa716x/commit/1002d79c4ba60de0dbeacba0f289119556d7450d.patch
    
    Closes: https://bugs.gentoo.org/631854
    
    Package-Manager: Portage-2.3.24, Repoman-2.3.6
    Closes: https://github.com/gentoo/gentoo/pull/7802

 .../v4l-dvb-saa716x-4.15-fix-autorepeat.patch      | 107 +++++++++++++++++++++
 .../files/v4l-dvb-saa716x-4.15-fix-timers.patch    |  41 ++++++++
 .../v4l-dvb-saa716x-0.0.1_p20170225-r1.ebuild      |   2 +
 3 files changed, 150 insertions(+)