GithubHelp home page GithubHelp logo

Comments (4)

adiknoth avatar adiknoth commented on August 15, 2024

ETHTOOL_GET_TS_INFO is defined in (/usr/include/)linux/ethtool.h.

On Debian-like systems, this would be the linux-libc-dev package. Update your installation.

from openavnu.

christopher-s-hall avatar christopher-s-hall commented on August 15, 2024

Jeff,

The ETHTOOL_GET_TS_INFO ethtool query was added around version 3.5 of the kernel. Ubuntu 12.04 doesn’t support it. To use Ubuntu 12.04 you’ll need to update the kernel to support that query and generate ‘sanitized’ headers from the kernel source. Run ‘make headers_check’ and then ‘make INSTALL_HDR_PATH= headers_install’. Point the ALTERNATE_LINUX_INCPATH to .

If you need to use the 12.04 default kernel, you’ll need to remove that code. Its purpose is to map, for example, /dev/ptp0 to eth0. You could statically define a mapping and “most of the time” it will work. This is especially true when there is only one interface that supports timestamping.

Chris

From: Jeff [mailto:[email protected]]
Sent: Monday, March 03, 2014 11:47 AM
To: intel-ethernet/Open-AVB
Subject: [Open-AVB] gptp build error (missing header files fixed by Chris on local machine) (#49)

To whom it may concern,
There appears to be some missing header file(s) that Chris put as the "ALTERNATE_LINUX_INCPATH=/home/chris/headers/include/

Maybe there is a prerequisite that the README does not talk about???

I get this build error under Ubuntu 12.04 LTS:

jeff2@jeff2-ThinkCentre-M57p:~/Documents/OpenAVB/daemons/gptp/linux/build$ make
g++ -Wall -g -Wnon-virtual-dtor -I. -I../../common -I../src -I../../../../lib/igb/ -I/usr/src/linux-headers-3.8.0-37-generic/ -c ../../common/ptp_message.cpp -o obj/ptp_message.o
g++ -Wall -g -Wnon-virtual-dtor -I. -I../../common -I../src -I../../../../lib/igb/ -I/usr/src/linux-headers-3.8.0-37-generic/ -c ../../common/avbts_osnet.cpp -o obj/avbts_osnet.o
g++ -Wall -g -Wnon-virtual-dtor -I. -I../../common -I../src -I../../../../lib/igb/ -I/usr/src/linux-headers-3.8.0-37-generic/ -c ../../common/ieee1588port.cpp -o obj/ieee1588port.o
g++ -Wall -g -Wnon-virtual-dtor -I. -I../../common -I../src -I../../../../lib/igb/ -I/usr/src/linux-headers-3.8.0-37-generic/ -c ../../common/ieee1588clock.cpp -o obj/ieee1588clock.o
g++ -Wall -g -Wnon-virtual-dtor -I. -I../../common -I../src -I../../../../lib/igb/ -I/usr/src/linux-headers-3.8.0-37-generic/ -c ../src/linux_hal.cpp -o obj/linux_hal.o
In file included from ../src/linux_hal.cpp:34:0:
../src/linux_hal.hpp: In member function ‘int LinuxTimestamper::findPhcIndex(InterfaceLabel_)’:
../src/linux_hal.hpp:256:26: error: aggregate ‘LinuxTimestamper::findPhcIndex(InterfaceLabel_)::ethtool_ts_info info’ has incomplete type and cannot be defined
../src/linux_hal.hpp:272:14: error: ‘ETHTOOL_GET_TS_INFO’ was not declared in this scope
../src/linux_hal.hpp:284:2: warning: control reaches end of non-void function [-Wreturn-type]
make: *** [obj/linux_hal.o] Error 1


Reply to this email directly or view it on GitHubhttps://github.com//issues/49.

from openavnu.

jsonder avatar jsonder commented on August 15, 2024

OK. That makes sense now. I am actually using kernel v3.8.0-37 which is newer than 3.5 so I think the kernel is OK (comes in Ubuntu 12.04.04 LTS). But, apt-get install linux-libc-dev gives me 3.2.0-60.91 which provides older header files (ethtool.h does not have ETHTOOL_GET_TS_INFO in it). So, I uninstalled that version and then downloaded and installed linux-libc-dev 3.8.0-35 (real close to my kernel). Now it does not see the g++ compiler.

Forgive my ignorance, but where does the above makefile live to sanitize the headers ??

Thanks,
Jeff

from openavnu.

jsonder avatar jsonder commented on August 15, 2024

OK. I got it fixed. Installed linux-libc-dev v3.8.0-35, reinstalled g++ and zlib1g-dev. Builds daemon_cl.

Thanks.

from openavnu.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.