Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 410281 - net-misc/r8168-8.028.00 fails to build against 3.3.0 kernel
Summary: net-misc/r8168-8.028.00 fails to build against 3.3.0 kernel
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Christian Birchinger (RETIRED)
URL:
Whiteboard:
Keywords: Bug, PATCH, REGRESSION
Depends on:
Blocks:
 
Reported: 2012-03-31 01:42 UTC by Andy Hunne
Modified: 2012-04-06 12:00 UTC (History)
1 user (show)

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


Attachments
Disable use of deprecated interface that was removed in Linux 3.3.0 (r8168-8.028.00-linux-3.3-compat.patch,1.09 KB, patch)
2012-04-03 02:57 UTC, Richard Yao (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Hunne 2012-03-31 01:42:36 UTC
After attempting to build the r8168 module against kernel 3.3.0, the build fails with the following errors:

make[1]: Entering directory `/usr/src/linux-3.3.0-gentoo'
  CC [M]  /var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.o
  CC [M]  /var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_asf.o
  CC [M]  /var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/rtl_eeprom.o
  CC [M]  /var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/rtltool.o
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2235:2: error: unknown field ���get_rx_csum��� specified in initializer
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2235:2: warning: initialization from incompatible pointer type
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2236:2: error: unknown field ���set_rx_csum��� specified in initializer
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2236:2: warning: initialization from incompatible pointer type
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2237:2: error: unknown field ���get_tx_csum��� specified in initializer
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2237:2: warning: initialization from incompatible pointer type
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2238:2: error: unknown field ���set_tx_csum��� specified in initializer
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2238:2: warning: initialization from incompatible pointer type
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2239:2: error: unknown field ���get_sg��� specified in initializer
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2239:2: warning: initialization from incompatible pointer type
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2240:2: error: unknown field ���set_sg��� specified in initializer
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2240:2: warning: initialization from incompatible pointer type
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2242:2: error: unknown field ���get_tso��� specified in initializer
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2242:14: error: ���ethtool_op_get_tso��� undeclared here (not in a function)
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2243:2: error: unknown field ���set_tso��� specified in initializer
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:2243:14: error: ���ethtool_op_set_tso��� undeclared here (not in a function)
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:12811:2: warning: initialization from incompatible pointer type
/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.c:12812:2: warning: initialization from incompatible pointer type
make[2]: *** [/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src/r8168_n.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [_module_/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00/src] Error 2
make[1]: Leaving directory `/usr/src/linux-3.3.0-gentoo'
make: *** [modules] Error 2
 * ERROR: net-misc/r8168-8.028.00 failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of 'emerge --info =net-misc/r8168-8.028.00',
 * the complete build log and the output of 'emerge -pqv =net-misc/r8168-8.028.00'.
 * The complete build log is located at '/var/log/portage/net-misc:r8168-8.028.00:20120331-012753.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-misc/r8168-8.028.00/temp/environment'.
 * S: '/var/tmp/portage/net-misc/r8168-8.028.00/work/r8168-8.028.00'

Reproducible: Always

Steps to Reproduce:
1. Install gentoo-sources-3.3.0
2. Emerge r8168
3. Watch it fail :)



http://code.google.com/p/r8168/issues/detail?id=9 describes the issue and a fix here.  As the fix appears to be with the package and not ebuild or Gentoo, potentially it's not viable to fix it via Gentoo's bug process.

Lack of this module = no network on my box unfortunately.
Comment 1 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-04-01 03:10:31 UTC
The ebuild could still do a kernel version check and bail out early.
Comment 2 Richard Yao (RETIRED) gentoo-dev 2012-04-01 04:59:15 UTC
(In reply to comment #1)
> The ebuild could still do a kernel version check and bail out early.

The issue is that some callbacks that were part of a depreciated kernel interface that Linux 3.3 removed. Reimplementing them with the new interface would require more work than simply commenting them out (or using preprocessor directives).

It is fairly easy to patch the module to build against Linux 3.3.0, although doing that will disable some functionality. I did it manually on my system, although I did not have time then to file a bug report with a proper patch. I also don't recall exactly what functionality this disabled, but at the time, I concluded that I did not need it.

Please ping me in IRC if you have any questions. I am changing the status of this issue to confirmed.
Comment 3 Richard Yao (RETIRED) gentoo-dev 2012-04-03 02:57:05 UTC
Created attachment 307579 [details, diff]
Disable use of deprecated interface that was removed in Linux 3.3.0

This was enough of an annoyance that I decided to revisit it and write a patch. This disables netdev functionality that used an older interface that had been removed from Linux 3.3.0.

Note that this is only a partial patch. A proper patch would reimplement this functionality using the same interface. I don't use this functionality, so I do not plan to be the one that does that.
Comment 4 Richard Yao (RETIRED) gentoo-dev 2012-04-03 03:02:17 UTC
> Note that this is only a partial patch. A proper patch would reimplement
> this functionality using the same interface. I don't use this functionality,
> so I do not plan to be the one that does that.

To be clear, I mean using the new interface.
Comment 5 Christian Birchinger (RETIRED) gentoo-dev 2012-04-06 12:00:59 UTC
Added to CVS