Hi Todd, well, i am doing something wrong - but not what you think. I spend some time trying to find out which kernel version does work and which does not.
3.13.x ======= Linux homenas 3.13.0-031300-generic #201401192235 ==> WORKS — probably the one you tested with Linux homenas 3.13.1-031301-generic #201401291035 ==> WORKS Linux homenas 3.13.7-031307-generic #201403240156 ==> WORKS Linux homenas 3.13.10-031310-generic #201404141115 ==> WORKS Linux homenas 3.13.11-031311-generic (=3.13.11.0) #201404222035 ==> WORKS Linux homenas 3.13.11-03131102-generic (=3.13.11.2) #201405081435 ==> WORKS Linux homenas 3.13.11-03131104-generic #201406201536 (=3.13.11.4) ==> WORKS Linux homenas 3.13.11-03131105-generic #201407181735 (=3.13.11.5) ==> DOES *NOT* WORK root@homenas:/usr/src/i40e-1.2.48/src# make make[1]: Entering directory `/usr/src/linux-headers-3.13.11-03131105-generic' CC [M] /usr/src/i40e-1.2.48/src/i40e/i40e_main.o In file included from /usr/src/i40e-1.2.48/src/i40e/i40e.h:59:0, from /usr/src/i40e-1.2.48/src/i40e/i40e_main.c:28: /usr/src/i40e-1.2.48/src/i40e/kcompat.h:760:2: error: #error UTS_UBUNTU_RELEASE_ABI is too large... #error UTS_UBUNTU_RELEASE_ABI is too large... ^ /usr/src/i40e-1.2.48/src/i40e/i40e_main.c: In function ‘i40e_get_netdev_stats_struct’: /usr/src/i40e-1.2.48/src/i40e/i40e_main.c:497:4: error: implicit declaration of function ‘u64_stats_fetch_begin_irq’ [-Werror=implicit-function-declaration] start = u64_stats_fetch_begin_irq(&tx_ring->syncp); ^ /usr/src/i40e-1.2.48/src/i40e/i40e_main.c:500:3: error: implicit declaration of function ‘u64_stats_fetch_retry_irq’ [-Werror=implicit-function-declaration] } while (u64_stats_fetch_retry_irq(&tx_ring->syncp, start)); ^ cc1: some warnings being treated as errors make[2]: *** [/usr/src/i40e-1.2.48/src/i40e/i40e_main.o] Error 1 make[1]: *** [_module_/usr/src/i40e-1.2.48/src/i40e] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.13.11-03131105-generic' make: *** [i40e/i40e.ko] Error 2 Linux homenas 3.13.11-03131111-generic (=3.13.11.11) #201411111336 ==> DOES NOT WORK —> As you can see: Starting with 3.13.11.5 the compile breaks. 3.13.11.4 works fine. All older versions as well. 3.14.x ====== Linux homenas 3.14.10-031410-generic #201406302353 ==> WORKS Linux homenas 3.14.12-031412-generic #201407091455 ==> WORKS Linux homenas 3.14.13-031413-generic ==> DOES *NOT* WORK As can see older kernels when 3.14.13 versions work. „Newer“ do not. The error message is always the same. I guess it has something to do with changes in the kernel. But most likely they are not introduced by Ubuntu - they are introduced by the vanilla kernel. If you want me to i can compile a vanilla kernel and see if that assumption is true. In any way: I am not a great C developer. But from my point of view it seems that the function must be declared in the sources to avoid the warning. And if the UTS_UBUNTU_RELEASE macro gets removed the error is still the same. Mit freundlichen Grüßen Ronny Egner -- Ronny Egner Oracle Certified Master 11g (OCM) Mobile: +49 170 8139903 EMail: ronnyeg...@ronnyegner-consulting.de Am 03.08.15 18:41 schrieb "Fujinaka, Todd" unter <todd.fujin...@intel.com>: >I think you're doing something wrong. I just downloaded all the latest >packages and the kernel is 3.13-61-generic and everything compiles just >fine. > >Todd Fujinaka >Software Application Engineer >Networking Division (ND) >Intel Corporation >todd.fujin...@intel.com >(503) 712-4565 > >-----Original Message----- >From: Ronny Egner [mailto:ronnyeg...@ronnyegner-consulting.de] >Sent: Monday, August 03, 2015 8:46 AM >To: Fujinaka, Todd; e1000-devel@lists.sourceforge.net >Subject: Re: [E1000-devel] I40E: UTS_UBUNTU_RELEASE_ABI is too large on >Ubuntu 14.04 with 3.14.43-031443-generic Kernel > >Very well. I stick with the compiling version then (1.1.23 does compile). > > >Mit freundlichen Grüßen >Ronny Egner >-- >Ronny Egner >Oracle Certified Master 11g (OCM) > >Mobile: +49 170 8139903 >EMail: ronnyeg...@ronnyegner-consulting.de > > > > >Am 03.08.15 17:43 schrieb "Fujinaka, Todd" unter ><todd.fujin...@intel.com>: > >>The major distros often have their own kernels. They stay on a stable >>kernel but backport patches, making something wholly unique. To >>identify a unique kernel, Red Hat and SuSE put identifiers in their >>kernel. Until recently, Ubuntu did not, even after multiple requests. >> >>It takes some effort to compile on these hybrid kernels, and that's >>what's in our kcompat.[ch] files. Without the kernel identifiers in >>Ubuntu (i.e. pre-14.04.1), it's difficult to target the workarounds. >> >>Also, we have a finite number of people working on the drivers and we >>only support a subset of all the variants out there. Even harder than >>writing the code is validating the code, especially with all the >>different hardware there is. Stable kernels, Red Hat, and SuSE are >>officially supported at this time. >> >>Todd Fujinaka >>Software Application Engineer >>Networking Division (ND) >>Intel Corporation >>todd.fujin...@intel.com >>(503) 712-4565 >> >>-----Original Message----- >>From: Ronny Egner [mailto:ronnyeg...@ronnyegner-consulting.de] >>Sent: Monday, August 03, 2015 8:24 AM >>To: Fujinaka, Todd; e1000-devel@lists.sourceforge.net >>Subject: Re: [E1000-devel] I40E: UTS_UBUNTU_RELEASE_ABI is too large on >>Ubuntu 14.04 with 3.14.43-031443-generic Kernel >> >>Hi, >> >>question: Why is Ubuntu so much different here? I was under the >>impression that the kernel does not differ? >> >>I have tried to remove the UTS_UBUNTU_RELEASE_ABI directive and the >>error (UTS_UBUNTU_RELEASE_ABI is too large) went away. >>The error about the implicit declaration remained which in the end >>caused the build to about remained. I searched in the Makefile but did >>not found where the gcc option '-Werror=implicit-function-declaration‘ >>is defined. >> >> >> >>Mit freundlichen Grüßen >>Ronny Egner >>-- >>Ronny Egner >>Oracle Certified Master 11g (OCM) >> >>Mobile: +49 170 8139903 >>EMail: ronnyeg...@ronnyegner-consulting.de >> >> >> >> >>Am 03.08.15 16:43 schrieb "Fujinaka, Todd" unter >><todd.fujin...@intel.com>: >> >>>Well, it will be fixed then, in due time. I would suggest you contact >>>your FAE if this is urgent but as I said before, Ubuntu is not >>>officially supported in any way at this time. >>> >>>Todd Fujinaka >>>Software Application Engineer >>>Networking Division (ND) >>>Intel Corporation >>>todd.fujin...@intel.com >>>(503) 712-4565 >>> >>>-----Original Message----- >>>From: Ronny Egner [mailto:ronnyeg...@ronnyegner-consulting.de] >>>Sent: Saturday, August 01, 2015 10:01 AM >>>To: Fujinaka, Todd; e1000-devel@lists.sourceforge.net >>>Subject: AW: [E1000-devel] I40E: UTS_UBUNTU_RELEASE_ABI is too large >>>on Ubuntu 14.04 with 3.14.43-031443-generic Kernel >>> >>>Hi, >>> >>>by saying "non-default" i meant that i installed a newer kernel than >>>the one that is shipped by default with the distribution from the >>>Ubuntu kernel repository >>>(http://kernel.ubuntu.com/~kernel-ppa/mainline/). In my case i fetched >>>the most recent 3.14 kernel at that time: 3.14.43. >>> >>>I am running a Ubuntu 14.04.2 LTS (GNU/Linux 3.14.43-031443-generic >>>x86_64). >>> >>> >>>Ronny >>> >>> >>>-----Ursprüngliche Nachricht----- >>>Von: Fujinaka, Todd [mailto:todd.fujin...@intel.com] >>>Gesendet: Samstag, 1. August 2015 18:48 >>>An: Ronny Egner; e1000-devel@lists.sourceforge.net >>>Betreff: RE: [E1000-devel] I40E: UTS_UBUNTU_RELEASE_ABI is too large >>>on Ubuntu 14.04 with 3.14.43-031443-generic Kernel >>> >>>What is a non-default kernel? We don't officially support Ubuntu at >>>this point and the only support we have planned is compiling on LTS >>>kernels. I would suggest sticking with kernels released as LTS. >>> >>>Also, Ubuntu didn't have kernel identifiers that we could use until >>>14.04.1, so you can't use the initially released 14.04LTS to compile >>>our out-of-tree drivers. >>> >>>Todd Fujinaka >>>Software Application Engineer >>>Networking Division (ND) >>>Intel Corporation >>>todd.fujin...@intel.com >>>(503) 712-4565 >>> >>>-----Original Message----- >>>From: Ronny Egner [mailto:ronnyeg...@ronnyegner-consulting.de] >>>Sent: Saturday, August 01, 2015 1:36 AM >>>To: e1000-devel@lists.sourceforge.net >>>Subject: [E1000-devel] I40E: UTS_UBUNTU_RELEASE_ABI is too large on >>>Ubuntu 14.04 with 3.14.43-031443-generic Kernel >>> >>>Hi List, >>> >>>i am trying to compile the most recent i40e driver on my Ubuntu 14.04 >>>64bit with a non-default kernel (3.14.43-031443-generic). >>>Every version after i40e-1.1.23 gives the following error during >>>compilation: >>> >>>root@homenas:/usr/src/i40e-1.2.38/src# make >>>make[1]: Entering directory >>>`/usr/src/linux-headers-3.14.43-031443-generic' >>> CC [M] /usr/src/i40e-1.2.38/src/i40e/i40e_main.o >>>In file included from /usr/src/i40e-1.2.38/src/i40e/i40e.h:59:0, >>> from /usr/src/i40e-1.2.38/src/i40e/i40e_main.c:28: >>>/usr/src/i40e-1.2.38/src/i40e/kcompat.h:757:2: error: #error >>>UTS_UBUNTU_RELEASE_ABI is too large... >>> #error UTS_UBUNTU_RELEASE_ABI is too large... >>> ^ >>>/usr/src/i40e-1.2.38/src/i40e/i40e_main.c: In function >>>Œi40e_get_netdev_stats_struct¹: >>>/usr/src/i40e-1.2.38/src/i40e/i40e_main.c:496:4: error: implicit >>>declaration of function Œu64_stats_fetch_begin_irq¹ >>>[-Werror=implicit-function-declaration] >>> start = u64_stats_fetch_begin_irq(&tx_ring->syncp); >>> ^ >>>/usr/src/i40e-1.2.38/src/i40e/i40e_main.c:499:3: error: implicit >>>declaration of function Œu64_stats_fetch_retry_irq¹ >>>[-Werror=implicit-function-declaration] >>> } while (u64_stats_fetch_retry_irq(&tx_ring->syncp, start)); >>> ^ >>>cc1: some warnings being treated as errors >>>make[2]: *** [/usr/src/i40e-1.2.38/src/i40e/i40e_main.o] Error 1 >>>make[1]: *** [_module_/usr/src/i40e-1.2.38/src/i40e] Error 2 >>>make[1]: Leaving directory >>>`/usr/src/linux-headers-3.14.43-031443-generic' >>>make: *** [i40e/i40e.ko] Error 2 >>>root@homenas:/usr/src/i40e-1.2.38/src# ls -la >>> >>> >>> >>>The 1.1.23 version compiles just fine. >>> >>>If this could be fixed i´d greatly appreciate it. I am happy to assist >>>with any kind of testing. >>> >>>Replies to my mail is preferred because i am not member of the list. >>> >>>Mit freundlichen Grüßen >>>Ronny Egner >>>-- >>>Ronny Egner >>>Oracle Certified Master 11g (OCM) >>> >>>Mobile: +49 170 8139903 >>>EMail: ronnyeg...@ronnyegner-consulting.de >>> >>> >>>---------------------------------------------------------------------- >>>- >>>--- >>>---- >>>_______________________________________________ >>>E1000-devel mailing list >>>E1000-devel@lists.sourceforge.net >>>https://lists.sourceforge.net/lists/listinfo/e1000-devel >>>To learn more about Intel® Ethernet, visit >>>http://communities.intel.com/community/wired >> > ------------------------------------------------------------------------------ _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired