ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Fovis: fatal error: linux/compiler.h: No such file or directory

asked 2013-02-03 17:47:08 -0600

updated 2014-01-28 17:15:05 -0600

ngrennan gravatar image

Hi guys,

I have downloaded the visual odometry package Fovis (which is not a ros package) and I am trying to compile it using rosbuild on Fuerte and ubuntu 12.04. When I $rosmake ros_fovis which is the ROS package I created, I get the following error:

In file included from /usr/include/stdio.h:34:0, from /home/samme/fuerte_workspace/ros_fovis/libfovis/frame.cpp:1: /usr/src/linux-headers-3.2.0-35-generic/include/linux/stddef.h:4:28: fatal error: linux/compiler.h: No such file or directory compilation terminated.

I tried adding this line to the CMakeList.txt : include_directories(/usr/src/linux-headers-3.2.0-35-generic/include/linux) but I still get the same error.

Am I doing something wrong? Is there a specific library I need to add?

Thanks for your help,


edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-02-14 02:33:36 -0600

Stephan gravatar image

Hi Khalid,

I cannot answer your question but want to point you to our wrapper for fovis: fovis_ros. Feel free to use it under GPL license and look around in the implementation. Any feedback is appreciated!


edit flag offensive delete link more


Hi Stephan, thanks for your reply, does the fovis_ros wrapper support kinect yet?

K_Yousif gravatar image K_Yousif  ( 2013-02-14 12:24:44 -0600 )edit

Yes, since yesterday ;)

Stephan gravatar image Stephan  ( 2013-02-14 19:05:59 -0600 )edit

sweet. ill give it a try :)

K_Yousif gravatar image K_Yousif  ( 2013-02-15 11:10:08 -0600 )edit

answered 2013-02-14 17:50:16 -0600

shan333 gravatar image

updated 2013-02-14 17:56:39 -0600

I made the non-ROS-package version of Fovis as a ROS package that works with kinect. I show you what I have done:

-Create a ROS package (I also made the package to be an eclipse project). Inside the package, add 2 directories: /fovis and /src.

-Download the fovis library wherever you want.

-Copy the files from fovis source in /fovis/libfovis/libfovis (excluded the cmakelist inside), place them into /your_package/fovis

-Actually, there is a Kinect example in fovis source, which is in /fovis/libfovis/examples/fv-example-openni. Copy main.cpp, data_capture.cpp and depth_image.cpp into /your_package/src .

-Add these lines into cmakelist file in the package.


rosbuild_add_executable(ros_frame src/ros_frame.cpp src/data_capture.cpp fovis/depth_image.cpp fovis/fast.cpp fovis/feature_matcher.cpp fovis/frame.cpp fovis/gauss_pyramid.c fovis/grid_filter.cpp fovis/initial_homography_estimation.cpp fovis/intensity_descriptor.cpp fovis/internal_utils.cpp fovis/motion_estimation.cpp fovis/normalize_image.cpp fovis/primesense_depth.cpp fovis/pyramid_level.cpp fovis/rectification.cpp fovis/refine_feature_match.cpp fovis/refine_motion_estimate.cpp fovis/stereo_depth.cpp fovis/stereo_frame.cpp fovis/stereo_rectify.cpp fovis/tictoc.cpp fovis/visual_odometry.cpp  )

find_package(Eigen REQUIRED)


target_link_libraries(ros_frame OpenNI)

-Add these lines into manifest.xml in the package.

<rosdep name="eigen" />
<rosdep name="openni-dev" />
<rosdep name="ps-engine" />

<rosdep name="eigen"/><rosdep name="openni-dev"/><rosdep name="ps-engine"/>

-Use "rosdep install your_package" command to install the needed libraries.

-Connect the kinect and run the package in eclispe.

I dont know if there are some easier ways, but it works for me.

edit flag offensive delete link more


The fovis source I downloaded is from with this command " git clone"

shan333 gravatar image shan333  ( 2013-02-14 17:52:51 -0600 )edit

Question Tools


Asked: 2013-02-03 17:47:08 -0600

Seen: 2,923 times

Last updated: Feb 14 '13