- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to compile the intel LMS drivers per http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers
However when I attmpt to make the drivers I get the following errors:
[root@localhost src]# uname -a
Linux localhost.localdomain 2.6.32.12-0.7.1.xs6.0.0.529.170661xen #1 SMP Tue Aug 30 14:15:31 EDT 2011 i686 i686 i386 GNU/Linux
[root@localhost src]# make
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I./SyncLib/Include -I./mei -I./tools -D_LINUX -g -O2 -Wall -MT ATNetworkTool.o -MD -MP -MF ".deps/ATNetworkTool.Tpo" -c -o ATNetworkTool.o `test -f 'tools/ATNetworkTool.cpp' || echo './'`tools/ATNetworkTool.cpp; \
then mv -f ".deps/ATNetworkTool.Tpo" ".deps/ATNetworkTool.Po"; else rm -f ".deps/ATNetworkTool.Tpo"; exit 1; fi
tools/ATNetworkTool.cpp: In static member function 'static int ATNetworkTool::GetSockPeerIP(int, ATAddressList&, int&)':
tools/ATNetworkTool.cpp:210: error: 'struct in6_addr' has no member named '__in6_u'
make: *** [ATNetworkTool.o] Error 1
tools/ATNetworktool.cpp (line 210 in bold):
if(sa->sa_family == AF_INET6 && IN6_IS_ADDR_V4MAPPED(&addr)) //if(IN6_IS_ADDR_V4COMPAT(&addr))
{
struct in_addr demapped_addr;
memcpy(&demapped_addr.s_addr, &addr.__in6_u.__u6_addr8[12], 4);struct sockaddr_in sa_in;
sa_in.sin_family = AF_INET;
sa_in.sin_addr = demapped_addr;
sa_in.sin_port = 0;
memset(sa_in.sin_zero,'\0',sizeof(sa_in.sin_zero));peerAddresses.insert(ATAddress((sockaddr*)&sa_in));
return 0;
}
Any help would be apreciated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It looks like err.h was patched in XS 6.2 with the same function (and, therefore, signature) that backport.h then tries to add in a conditional based on the kernel version being reported. Commenting out the redundant declaration in backport.h seems to do the trick.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi - I am working on getting some information for you - while I am waiting for a response, could you tell me which version of linux you are using and which version of AMT (although probably not an issue if you are at the compiling phase at this point.)
--thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
HI,
I'm trying to compile on the Citrix Xenserver 6.0 DDK appliance which is based on Centos 5.
Steps I've taken so far:
Download and install Citrix xenserver 6.0 build 50762p (9/26/2011).
citrix.com -> downloads -> xenserver/product software -> xenserver 6.0 -> main components -> Xenserver 6.0 base installation
download and import citrix xenserver 6.0 DDK
citrix.com -> downloads -> xenserver/product software -> xenserver 6.0 -> Xenserver 6.0 base installation -> Development Components -> DDK
Import DDK:
get contents of ddk iso onto hypervisor (burn to disk, mount from nfs, etc.)
run the following command:
xe vm-import filename=cdpath/ddk/ova.xml
start ddk vm and login
download and compile drivers:
#mei
wget http://software.intel.com/file/37961
unzip 37961-mei_7.1.20.25.zip
tar zxvf outputdir/mei-7.1.20-25.tar.gz
rm -Rf outputdir
cd mei-7.1.20
make
#make completes sucsessfully
scp scp src/mei.ko root@hypervisor:~/
#on hypervisor:
insmod /root/mei.ko
mei.ko loads succsessfully
#LMS
#on DDK appliance
wget http://software.intel.com/file/37962
unzip 37962-lms_7.1.20.25.zip
tar zxvf outputdir/lms-7.1.20-25.tar.gz
rm -Rf outputdir
cd lms-7.1.20-25
./configure
make
#make fails with the following error:
tools/ATNetworkTool.cpp: In static member function 'static int ATNetworkTool::GetSockPeerIP(int, ATAddressList&, int&)':
tools/ATNetworkTool.cpp:210: error: 'struct in6_addr' has no member named '__in6_u'
make[2]: *** [ATNetworkTool.o] Error 1
make[2]: Leaving directory `/root/lms-7.1.20/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/lms-7.1.20'
make: *** [all] Error 2
doing a google search for 'struct in6_addr' has no member named '__in6_u' turns up this page
I've also tried compiling with both LMS 7.1.2 as well as 8.x and both produce the exact same error.
The motherboards are q77 based.
Let me know if you need the xenserver base installation or DDK iso images and I can provide them.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As far as Linux versios go - the driver package has only been tested with SLED 11 SP2.
You will need to look at the definition of the "'struct in6_addr" on your system and use the right member instead of what the LMS code is trying to access.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I try to compile just the mei driver (which the OP indicates was compiling under 6.0 DDK) under the Xen 6.2 DDK, I get errors:
[root@localhost mei-7.1.20]# make
cd src && make
make[1]: Entering directory `/root/mei-7.1.20/src'
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make[2]: Entering directory `/usr/src/kernels/2.6.32.43-0.
CC
In file included from /root/mei-7.1.20/src/hw.h:23,
from /root/mei-7.1.20/src/init.c:
/root/mei-7.1.20/src/backport/
include/linux/err.h:38: error: previous definition of 'IS_ERR_OR_NULL' was here
/root/mei-7.1.20/src/init.c: In function 'allocate_me_clients_storage':
/root/mei-7.1.20/src/init.c:
make[3]: *** [/root/mei-7.1.20/src/init.o] Error 1
make[2]: *** [_module_/root/mei-7.1.20/src] Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.32.43-0.
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/mei-7.1.20/src'
make: *** [all] Error 2
This isn't my bailiwick, but I'll dig in to the source tomorrow to see if anything jumps out at me. Feedback from the Intel side or anyone more familiar with the Linux mei driver code would be welcome and appreciated.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It looks like err.h was patched in XS 6.2 with the same function (and, therefore, signature) that backport.h then tries to add in a conditional based on the kernel version being reported. Commenting out the redundant declaration in backport.h seems to do the trick.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the update, Peter. I'm glad you figured it out.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page