[elrepo] kmod-forcedeth build failure

Alan Bartlett ajb at elrepo.org
Wed Mar 16 19:05:50 EDT 2016


On 16 March 2016 at 22:13, Nick Howitt <nick at howitts.co.uk> wrote:
> Hi,
> I am trying to build the kmod-forcedeth driver from the src.rpm on ClearOS
> 7.2 (a CentOS 7.2 derivative but with a slightly different kernel) using
> rpmbuild, but the build is failing:
>
> Installing forcedeth-kmod-0.64-1.el7.elrepo.src.rpm
> warning: forcedeth-kmod-0.64-1.el7.elrepo.src.rpm: Header V4 DSA/SHA1
> Signature, key ID baadae52: NOKEY
> warning: user phil does not exist - using root
> warning: group phil does not exist - using root
> warning: user phil does not exist - using root
> warning: group phil does not exist - using root
> warning: user phil does not exist - using root
> warning: group phil does not exist - using root
> warning: user phil does not exist - using root
> warning: group phil does not exist - using root
> Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.KY8JEb
> + umask 022
> + cd /home/build/rpmbuild/BUILD
> + cd /home/build/rpmbuild/BUILD
> + rm -rf forcedeth-0.64
> + /usr/bin/tar -xf -
> + /usr/bin/bzip2 -dc /home/build/rpmbuild/SOURCES/forcedeth-0.64.tar.bz2
> + STATUS=0
> + '[' 0 -ne 0 ']'
> + cd forcedeth-0.64
> + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
> + echo 'override forcedeth * weak-updates/forcedeth'
> + exit 0
> Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.dGt9DZ
> + umask 022
> + cd /home/build/rpmbuild/BUILD
> + cd forcedeth-0.64
> + KSRC=/usr/src/kernels/3.10.0-327.10.1.v7.x86_64
> + /usr/bin/make -C /usr/src/kernels/3.10.0-327.10.1.v7.x86_64 modules
> M=/home/build/rpmbuild/BUILD/forcedeth-0.64
> make: Entering directory `/usr/src/kernels/3.10.0-327.10.1.v7.x86_64'
>   CC [M]  /home/build/rpmbuild/BUILD/forcedeth-0.64/forcedeth.o
> /home/build/rpmbuild/BUILD/forcedeth-0.64/forcedeth.c: In function
> 'nv_get_stats64':
> /home/build/rpmbuild/BUILD/forcedeth-0.64/forcedeth.c:1758:3: error:
> implicit declaration of function 'u64_stats_fetch_begin_bh'
> [-Werror=implicit-function-declaration]
>    syncp_start = u64_stats_fetch_begin_bh(&np->swstats_rx_syncp);
>    ^
> /home/build/rpmbuild/BUILD/forcedeth-0.64/forcedeth.c:1763:2: error:
> implicit declaration of function 'u64_stats_fetch_retry_bh'
> [-Werror=implicit-function-declaration]
>   } while (u64_stats_fetch_retry_bh(&np->swstats_rx_syncp, syncp_start));
>   ^
> /home/build/rpmbuild/BUILD/forcedeth-0.64/forcedeth.c: In function
> 'nv_start_xmit_optimized':
> /home/build/rpmbuild/BUILD/forcedeth-0.64/forcedeth.c:2467:2: error:
> implicit declaration of function 'vlan_tx_tag_present'
> [-Werror=implicit-function-declaration]
>   if (vlan_tx_tag_present(skb))
>   ^
> /home/build/rpmbuild/BUILD/forcedeth-0.64/forcedeth.c:2468:3: error:
> implicit declaration of function 'vlan_tx_tag_get'
> [-Werror=implicit-function-declaration]
>    start_tx->txvlan = cpu_to_le32(NV_TX3_VLAN_TAG_PRESENT |
>    ^
> cc1: some warnings being treated as errors
> make[1]: *** [/home/build/rpmbuild/BUILD/forcedeth-0.64/forcedeth.o] Error 1
> make: *** [_module_/home/build/rpmbuild/BUILD/forcedeth-0.64] Error 2
> make: Leaving directory `/usr/src/kernels/3.10.0-327.10.1.v7.x86_64'
> error: Bad exit status from /var/tmp/rpm-tmp.dGt9DZ (%build)
>
>
> RPM build errors:
>     forcedeth-kmod-0.64-1.el7.elrepo.src.rpm: Header V4 DSA/SHA1 Signature,
> key ID baadae52: NOKEY
>     user phil does not exist - using root
>     group phil does not exist - using root
>     user phil does not exist - using root
>     group phil does not exist - using root
>     user phil does not exist - using root
>     group phil does not exist - using root
>     user phil does not exist - using root
>     group phil does not exist - using root
>     Bad exit status from /var/tmp/rpm-tmp.dGt9DZ (%build)
>
> Is there a problem with the driver or am I out of luck? I've never had any
> issues like with the other drivers I routinely build (r8168, r8168, e1000e
> and igb).
>
> Regards,
>
> Nick

The forcedeth-kmod source will build against RHEL 7.0 & 7.1 but not
against RHEL 7.2

However the kmod package built against RHEL 7.1 will install and
weak-link with all released RHEL 7.2 kernels. Example --

[ajb at Chroot64R7 ~]$ rpm -q kmod-forcedeth
kmod-forcedeth-0.64-1.el7.elrepo.x86_64
[ajb at Chroot64R7 ~]$ find /lib/modules -name forcedeth.ko | grep -E
'extra|weak' | sort
/lib/modules/3.10.0-229.el7.x86_64/extra/forcedeth/forcedeth.ko
/lib/modules/3.10.0-327.10.1.el7.x86_64/weak-updates/forcedeth/forcedeth.ko
/lib/modules/3.10.0-327.4.5.el7.x86_64/weak-updates/forcedeth/forcedeth.ko
/lib/modules/3.10.0-327.el7.x86_64/weak-updates/forcedeth/forcedeth.ko
[ajb at Chroot64R7 ~]$

If your ClearOS 7 kernels are not "way off" from the RHEL 7 kernels,
then I would suggest that you build the foredeth kmod package against
(say) kernel-3.10.0-229.el7.x86_64 (your equivalent thereof). Check if
the kmod package weak-links for the ClearOS 7.2 kernels. If yes, then
check if the driver works.

Alan.


More information about the elrepo mailing list