ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I got the same error as the author. Here is the error log.
--------------------------------
Checking for extra build options
--------------------------------
Options:
inline_asm assembler v4l2buffer posix_rt videodisplay tr1_shared_ptr pthread png jpeg tiff glob memalign
Missing options for linux-gnu:
dc1394v1 dc1394v2 ffmpeg lapack toon v4l1buffer
Dodgy things:
SIMD support:
mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: *** [libcvd_built] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: *** [all] Error 2
2 | No.2 Revision |
I got the same error as the author. Here The solution to your problem is the error log.to add
--------------------------------
Checking for extra build options
--------------------------------
Options:
inline_asm assembler v4l2buffer posix_rt videodisplay tr1_shared_ptr pthread png jpeg tiff glob memalign
Missing options for linux-gnu:
dc1394v1 dc1394v2 ffmpeg lapack toon v4l1buffer
Dodgy things:
SIMD support:
mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: *** [libcvd_built] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: *** [all] Error 2
#include <unistd.h>
to /tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
This compilation issue is use to be a warning, nowadays compiler become more strict, so it is an error now.
3 | No.3 Revision |
The solution to your problem is to add
#include <unistd.h>
to /tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
This compilation issue is use to be a warning, nowadays compiler become more strict, so it is an error now.
4 | No.4 Revision |
The solution to your problem is to add
#include <unistd.h>
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
This compilation issue is use used to be a warning, nowadays compiler compilers become more strict, so it is an error now.
5 | No.5 Revision |
The solution to your problem is to add
#include <unistd.h>
<unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
6 | No.6 Revision |
The error log is this
SIMD support: mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: * [libcvd_built] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: * [all] Error 2
The solution to your problem is to add
#include <unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
7 | No.7 Revision |
The error log is this
SIMD support: mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: * [libcvd_built] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: * [all] Error 2
The solution is to add
#include <unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
*EDIT Not really a general solution, there are many other errors occurred after.
8 | No.8 Revision |
The error log is this
SIMD support: mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: * [libcvd_built] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: * [all] Error 2
The solution is to add
#include <unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
/tum_ardrone/thirdparty/libcvd/installfiles/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
*EDIT Not really a general solution, there are many other errors occurred after.
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
Linking CXX executable ../bin/drone_gui
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:250:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh: In instantiation of ‘TooN::Internal::StackOrHeap<Size, Precision, false>::StackOrHeap() [with int Size = 3; Precision = int]’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:105:43: required from ‘TooN::Internal::VectorAlloc<Size, Precision>::VectorAlloc() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:96:16: required from ‘TooN::Internal::GenericVBase<Size, Precision, Stride, Mem>::GenericVBase() [with int Size = 3; Precision = int; int Stride = 1; Mem = TooN::Internal::VectorAlloc<3, int>]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:72:12: required from ‘TooN::Internal::VBase::VLayout<Size, Precision>::VLayout() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vector.hh:143:17: required from ‘TooN::Vector<Size, Precision, Base>::Vector() [with int Size = 3; Precision = int; Base = TooN::Internal::VBase]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/make_vector.hh:34:24: required from ‘TooN::Vector<3, Precision> TooN::makeVector(const Precision&, const Precision&, const Precision&) [with Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:55:59: required from here
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:58:3: warning: ‘debug_initialize’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:255:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_gui
Linking CXX executable ../bin/drone_autopilot
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_autopilot
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone'
9 | No.9 Revision |
The error log is this
SIMD support: mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: * [libcvd_built] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: * [all] Error 2
The solution is to add
#include <unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
/tum_ardrone/thirdparty/libcvd/installfiles/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
*EDIT Not really a general solution, there are many other errors occurred after.
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
Linking CXX executable ../bin/drone_gui
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:250:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh: In instantiation of ‘TooN::Internal::StackOrHeap<Size, Precision, false>::StackOrHeap() [with int Size = 3; Precision = int]’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:105:43: required from ‘TooN::Internal::VectorAlloc<Size, Precision>::VectorAlloc() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:96:16: required from ‘TooN::Internal::GenericVBase<Size, Precision, Stride, Mem>::GenericVBase() [with int Size = 3; Precision = int; int Stride = 1; Mem = TooN::Internal::VectorAlloc<3, int>]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:72:12: required from ‘TooN::Internal::VBase::VLayout<Size, Precision>::VLayout() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vector.hh:143:17: required from ‘TooN::Vector<Size, Precision, Base>::Vector() [with int Size = 3; Precision = int; Base = TooN::Internal::VBase]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/make_vector.hh:34:24: required from ‘TooN::Vector<3, Precision> TooN::makeVector(const Precision&, const Precision&, const Precision&) [with Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:55:59: required from here
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:58:3: warning: ‘debug_initialize’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:255:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_gui
Linking CXX executable ../bin/drone_autopilot
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_autopilot
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone'
In tum_ardrone/thirdparty/TooN/internal/allocator.hh, add at the begining,
In tum_ardrone/thirdparty/TooN/internal/debug.hh, add at the beginning,
add at the end,
#endif
this solution taken form here.
However further compilation generated the following errors
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:21:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.h:24,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:3:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h: In member function ‘void Tracker::TrackMap()’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h:43:8: warning: ‘m.Measurement::Source’ may be used uninitialized in this function [-Wuninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:842:19: note: ‘m.Measurement::Source’ was declared here
Linking CXX executable ../bin/drone_stateestimation
/usr/bin/ld: cannot find -lblas
/usr/bin/ld: cannot find -llapack
collect2: error: ld returned 1 exit status
make[4]: * [../bin/drone_stateestimation] Error 1
make[4]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[3]: *** [CMakeFiles/drone_stateestimation.dir/all] Error 2
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: * [all] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks
10 | No.10 Revision |
The error log is this
SIMD support: mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: * [libcvd_built] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: * [all] Error 2
The solution is to add
#include <unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
/tum_ardrone/thirdparty/libcvd/installfiles/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
*EDIT Not really a general solution, there are many other errors occurred after.
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
Linking CXX executable ../bin/drone_gui
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:250:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh: In instantiation of ‘TooN::Internal::StackOrHeap<Size, Precision, false>::StackOrHeap() [with int Size = 3; Precision = int]’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:105:43: required from ‘TooN::Internal::VectorAlloc<Size, Precision>::VectorAlloc() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:96:16: required from ‘TooN::Internal::GenericVBase<Size, Precision, Stride, Mem>::GenericVBase() [with int Size = 3; Precision = int; int Stride = 1; Mem = TooN::Internal::VectorAlloc<3, int>]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:72:12: required from ‘TooN::Internal::VBase::VLayout<Size, Precision>::VLayout() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vector.hh:143:17: required from ‘TooN::Vector<Size, Precision, Base>::Vector() [with int Size = 3; Precision = int; Base = TooN::Internal::VBase]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/make_vector.hh:34:24: required from ‘TooN::Vector<3, Precision> TooN::makeVector(const Precision&, const Precision&, const Precision&) [with Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:55:59: required from here
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:58:3: warning: ‘debug_initialize’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:255:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_gui
Linking CXX executable ../bin/drone_autopilot
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_autopilot
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone'
*Edit
To solve above problem do the#include “debug.hh”
In tum_ardrone/thirdparty/TooN/internal/debug.hh, add at the beginning,
#ifndef DEBUG_HH
#define DEBUG_HH
add at the end,
#endif
this solution taken form here.
However further compilation generated the following errors
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:21:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.h:24,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:3:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h: In member function ‘void Tracker::TrackMap()’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h:43:8: warning: ‘m.Measurement::Source’ may be used uninitialized in this function [-Wuninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:842:19: note: ‘m.Measurement::Source’ was declared here
Linking CXX executable ../bin/drone_stateestimation
/usr/bin/ld: cannot find -lblas
/usr/bin/ld: cannot find -llapack
collect2: error: ld returned 1 exit status
make[4]: * [../bin/drone_stateestimation] Error 1
make[4]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[3]: *** [CMakeFiles/drone_stateestimation.dir/all] Error 2
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: * [all] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks
11 | No.11 Revision |
The error log is this
SIMD support: mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: * [libcvd_built] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: * [all] Error 2
The solution is to add
#include <unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
/tum_ardrone/thirdparty/libcvd/installfiles/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
*EDIT Not really a general solution, there are many other errors occurred after.
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
Linking CXX executable ../bin/drone_gui
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:250:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh: In instantiation of ‘TooN::Internal::StackOrHeap<Size, Precision, false>::StackOrHeap() [with int Size = 3; Precision = int]’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:105:43: required from ‘TooN::Internal::VectorAlloc<Size, Precision>::VectorAlloc() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:96:16: required from ‘TooN::Internal::GenericVBase<Size, Precision, Stride, Mem>::GenericVBase() [with int Size = 3; Precision = int; int Stride = 1; Mem = TooN::Internal::VectorAlloc<3, int>]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:72:12: required from ‘TooN::Internal::VBase::VLayout<Size, Precision>::VLayout() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vector.hh:143:17: required from ‘TooN::Vector<Size, Precision, Base>::Vector() [with int Size = 3; Precision = int; Base = TooN::Internal::VBase]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/make_vector.hh:34:24: required from ‘TooN::Vector<3, Precision> TooN::makeVector(const Precision&, const Precision&, const Precision&) [with Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:55:59: required from here
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:58:3: warning: ‘debug_initialize’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:255:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_gui
Linking CXX executable ../bin/drone_autopilot
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_autopilot
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone'
*Edit
To solve above problem do the following In tum_ardrone/thirdparty/TooN/internal/allocator.hh, add at the begining,
#include “debug.hh”
In tum_ardrone/thirdparty/TooN/internal/debug.hh, add at the beginning,
#ifndef DEBUG_HH
#define DEBUG_HH
add at the end,
#endif
this solution taken form here.
However further compilation generated the following errors
errors
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2: /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized] /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ was declared here In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2: /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized] /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ was declared here In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2: /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized] /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ was declared here In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:21:0, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.h:24, from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:3: /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h: In member function ‘void Tracker::TrackMap()’: /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h:43:8: warning: ‘m.Measurement::Source’ may be used uninitialized in this function [-Wuninitialized] /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:842:19: note: ‘m.Measurement::Source’ was declared here Linking CXX executable ../bin/drone_stateestimation /usr/bin/ld: cannot find -lblas /usr/bin/ld: cannot find -llapack collect2: error: ld returned 1 exit status make[4]:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build' directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build' make[2]:**** [../bin/drone_stateestimation] Error 1 make[4]: Leaving directory`/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build' make[3]: *** [CMakeFiles/drone_stateestimation.dir/all] Error 2 make[3]: Leaving/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
directory**** [all] Error 2 make[2]: Leaving directory`/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build' make[1]: *** [all] Error 2 make[1]: Leaving/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
directorydirectory `/home/rpserver/ros/rosbuild/stacks/home/rpserver/ros/rosbuild/stacks
12 | No.12 Revision |
The error log is this
SIMD support: mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: * [libcvd_built] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: * [all] Error 2
The solution is to add
#include <unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
/tum_ardrone/thirdparty/libcvd/installfiles/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
*EDIT Not really a general solution, there are many other errors occurred after.
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
Linking CXX executable ../bin/drone_gui
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:250:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh: In instantiation of ‘TooN::Internal::StackOrHeap<Size, Precision, false>::StackOrHeap() [with int Size = 3; Precision = int]’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:105:43: required from ‘TooN::Internal::VectorAlloc<Size, Precision>::VectorAlloc() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:96:16: required from ‘TooN::Internal::GenericVBase<Size, Precision, Stride, Mem>::GenericVBase() [with int Size = 3; Precision = int; int Stride = 1; Mem = TooN::Internal::VectorAlloc<3, int>]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:72:12: required from ‘TooN::Internal::VBase::VLayout<Size, Precision>::VLayout() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vector.hh:143:17: required from ‘TooN::Vector<Size, Precision, Base>::Vector() [with int Size = 3; Precision = int; Base = TooN::Internal::VBase]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/make_vector.hh:34:24: required from ‘TooN::Vector<3, Precision> TooN::makeVector(const Precision&, const Precision&, const Precision&) [with Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:55:59: required from here
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:58:3: warning: ‘debug_initialize’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:255:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_gui
Linking CXX executable ../bin/drone_autopilot
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_autopilot
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone'
*Edit
To solve above problem do the following In tum_ardrone/thirdparty/TooN/internal/allocator.hh, add at the begining,
#include “debug.hh”
In tum_ardrone/thirdparty/TooN/internal/debug.hh, add at the beginning,
#ifndef DEBUG_HH
#define DEBUG_HH
add at the end,
#endif
this solution taken form here.
However further compilation generated the following errors
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:21:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.h:24,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:3:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h: In member function ‘void Tracker::TrackMap()’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h:43:8: warning: ‘m.Measurement::Source’ may be used uninitialized in this function [-Wuninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:842:19: note: ‘m.Measurement::Source’ was declared here
Linking CXX executable ../bin/drone_stateestimation
/usr/bin/ld: cannot find -lblas
/usr/bin/ld: cannot find -llapack
collect2: error: ld returned 1 exit status
make[4]: *** [../bin/drone_stateestimation] Error 1
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[3]: *** [CMakeFiles/drone_stateestimation.dir/all] Error 2
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks
The above error is actually a linking error. Just add
sudo apt-get install liblapack-dev libblas-dev
Ok looks like it has built up!
13 | No.13 Revision |
The error log is this
SIMD support: mmx mmxext sse sse2 sse3
Missing SIMD support for x86_64-unknown-linux-gnu:
-g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread
-ltiff -ljpeg -lpng -lpng -lGLU -lGL -lrt -L -lX11 -lXext -pthread
Generating config... configuration unchanged
configure: creating ./config.status
config.status: creating Makefile
cd build && export CPATH=../../TooN/include && make
make[3]: Entering directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
g++ -O3 -I. -I. -INONE/include -g -Wall -Wextra -pipe -ggdb -fPIC -mmmx -msse -msse -msse2 -msse3 -pthread -c progs/video_play_source.cc -o progs/video_play_source.o
progs/video_play_source.cc: In function ‘void play(std::string)’:
progs/video_play_source.cc:200:17: error: there are no arguments to ‘usleep’ that depend on a template parameter, so a declaration of ‘usleep’ must be available [-fpermissive]
progs/video_play_source.cc:200:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
progs/video_play_source.cc: In instantiation of ‘void play(std::string) [with C = CVD::Rgb<unsigned char>; std::string = std::basic_string<char>]’:
progs/video_play_source.cc:241:30: required from here
progs/video_play_source.cc:200:4: error: ‘usleep’ was not declared in this scope
In file included from ./cvd/internal/convert_pixel_types.h:27:0,
from ./cvd/image_convert.h:25,
from ./cvd/colourspacebuffer.h:27,
from ./cvd/videosource.h:13,
from progs/video_play_source.cc:38:
./cvd/internal/scalar_convert.h: At global scope:
./cvd/internal/scalar_convert.h:112:21: warning: ‘CVD::Pixel::Internal::init_float_for_byte’ defined but not used [-Wunused-variable]
./cvd/internal/scalar_convert.h:113:21: warning: ‘CVD::Pixel::Internal::init_double_for_byte’ defined but not used [-Wunused-variable]
make[3]: *** [progs/video_play_source.o] Error 1
make[3]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd/build'
make[2]: * [libcvd_built] Error 2
make[2]: Leaving directory /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/libcvd'
make[1]: *** [all] Error 2
make[1]: Leaving directory
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty'
make: * [all] Error 2
The solution is to add
#include <unistd.h> // it defines usleep()
to
/tum_ardrone/thirdparty/libcvd/build/progs/video_play_source.cc
/tum_ardrone/thirdparty/libcvd/installfiles/progs/video_play_source.cc
This compilation issue is used to be a warning, nowadays compilers become more strict, so it is an error now.
*EDIT Not really a general solution, there are many other errors occurred after.
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
Linking CXX executable ../bin/drone_gui
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:250:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh: In instantiation of ‘TooN::Internal::StackOrHeap<Size, Precision, false>::StackOrHeap() [with int Size = 3; Precision = int]’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:105:43: required from ‘TooN::Internal::VectorAlloc<Size, Precision>::VectorAlloc() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:96:16: required from ‘TooN::Internal::GenericVBase<Size, Precision, Stride, Mem>::GenericVBase() [with int Size = 3; Precision = int; int Stride = 1; Mem = TooN::Internal::VectorAlloc<3, int>]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vbase.hh:72:12: required from ‘TooN::Internal::VBase::VLayout<Size, Precision>::VLayout() [with int Size = 3; Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/vector.hh:143:17: required from ‘TooN::Vector<Size, Precision, Base>::Vector() [with int Size = 3; Precision = int; Base = TooN::Internal::VBase]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/make_vector.hh:34:24: required from ‘TooN::Vector<3, Precision> TooN::makeVector(const Precision&, const Precision&, const Precision&) [with Precision = int]’
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:55:59: required from here
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/allocator.hh:58:3: warning: ‘debug_initialize’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:255:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/../DroneController.h:27,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIProcedure.h:26,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.h:25,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/autopilot/KI/KIFlyTo.cpp:21:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/debug.hh:100:33: note: ‘template<class P> void TooN::Internal::debug_initialize(P*, int)’ declared here, later in the translation unit
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_gui
Linking CXX executable ../bin/drone_autopilot
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
[ 55%] Built target drone_autopilot
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone'
*Edit
To solve above problem do the following In tum_ardrone/thirdparty/TooN/internal/allocator.hh, add at the begining,
#include “debug.hh”
In tum_ardrone/thirdparty/TooN/internal/debug.hh, add at the beginning,
#ifndef DEBUG_HH
#define DEBUG_HH
add at the end,
#endif
this solution taken form here.
However further compilation generated the following errors
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[2ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[1ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/TooN.h:267:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/so3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/se3.h:33,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Map.h:18,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:20,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:2:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/thirdparty/TooN/include/TooN/internal/operators.hh:77:84: warning: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.cc:1110:13: note: ‘v3BestMean.TooN::Internal::VectorAlloc<3, double>::<anonymous>.TooN::Internal::StaticSizedAllocator<3, double>::<anonymous>.TooN::Internal::StackOrHeap<3, double, false>::my_data[0ul]’ was declared here
In file included from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/MapMaker.h:21:0,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.h:24,
from /home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:3:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h: In member function ‘void Tracker::TrackMap()’:
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/KeyFrame.h:43:8: warning: ‘m.Measurement::Source’ may be used uninitialized in this function [-Wuninitialized]
/home/rpserver/ros/rosbuild/stacks/tum_ardrone/src/stateestimation/PTAM/Tracker.cc:842:19: note: ‘m.Measurement::Source’ was declared here
Linking CXX executable ../bin/drone_stateestimation
/usr/bin/ld: cannot find -lblas
/usr/bin/ld: cannot find -llapack
collect2: error: ld returned 1 exit status
make[4]: *** [../bin/drone_stateestimation] Error 1
make[4]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[3]: *** [CMakeFiles/drone_stateestimation.dir/all] Error 2
make[3]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/rpserver/ros/rosbuild/stacks/tum_ardrone/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/rpserver/ros/rosbuild/stacks
The above error is actually a linking error. Just add
sudo apt-get install liblapack-dev libblas-dev
Ok looks like it has built up!
PS: I don't know if it was useful but I added set(CMAKE_CXX_FLAGS "-fpermissive")
to CMakeLists.txt