You are here

Problem building 0.9.3 GLuint not typedef'd

7 posts / 0 new
Last post
Mike Davies
Mike Davies's picture
Problem building 0.9.3 GLuint not typedef'd

Just trying to upgrade from 0.9.2 to 0.9.3 and I'm getting build errors ...

[ 43%] Building CXX object libs/opengl/CMakeFiles/mrpt-opengl.dir/src/CPointCloud.cpp.o
/home/mike/buildroot/output/build/mrpt-0.9.3/libs/opengl/src/CPointCloud.cpp:70: error: 'GLuint' does not name a type
make[3]: *** [libs/opengl/CMakeFiles/mrpt-opengl.dir/src/CPointCloud.cpp.o] Error 1
make[3]: Leaving directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make[2]: *** [libs/opengl/CMakeFiles/mrpt-opengl.dir/all] Error 2
make[2]: Leaving directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make: *** [/home/mike/buildroot/output/build/mrpt-0.9.3/.stamp_built] Error 2
[mike@ceri buildroot]$

No problem with 0.9.2, so I guess I'll stick with that until 0.9.4 ?!

Configuration goes a bit like this... I know It complains I've not got OpenGL but then it seems it tries to use it.

(cd /home/mike/buildroot/output/build/mrpt-0.9.3/ && rm -f CMakeCache.txt && /home/mike/buildroot/output/host/usr/bin/cmake /home/mike/buildroot/output/build/mrpt-0.9.3/ -DCMAKE_TOOLCHAIN_FILE="/home/mike/buildroot/output/toolchainfile.cmake" -DCMAKE_INSTALL_PREFIX="/usr" -DBUILD_ARIA:BOOL=OFF -DBUILD_KINECT:BOOL=OFF -DBUILD_XSENS:BOOL=OFF )
Re-run cmake no build system arguments
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /home/mike/buildroot-2011.02/output/host/usr/bin/i486-unknown-linux-uclibc-gcc
-- Check for working C compiler: /home/mike/buildroot-2011.02/output/host/usr/bin/i486-unknown-linux-uclibc-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /home/mike/buildroot-2011.02/output/host/usr/bin/i486-unknown-linux-uclibc-g++
-- Check for working CXX compiler: /home/mike/buildroot-2011.02/output/host/usr/bin/i486-unknown-linux-uclibc-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- checking for module 'eigen3'
-- package 'eigen3' not found
-- **Warning**: OpenGL and/or GLUT not found! OpenGL capabilities will be disabled.
-- OPENGL_gl_LIBRARY: OPENGL_gl_LIBRARY-NOTFOUND
-- OPENGL_glu_LIBRARY: OPENGL_glu_LIBRARY-NOTFOUND
-- GLUT_glut_LIBRARY: GLUT_glut_LIBRARY-NOTFOUND
-- OPENGL_INCLUDE_DIR: OPENGL_INCLUDE_DIR-NOTFOUND
-- checking for module 'opencv'
-- package 'opencv' not found
-- Checking GNUCXX version 3/4 to determine OpenCV /opt/net/ path
-- ERROR: OpenCV was not found.
-- checking for module 'libavcodec'
-- package 'libavcodec' not found
-- checking for module 'libavutil'
-- package 'libavutil' not found
-- checking for module 'libavformat'
-- package 'libavformat' not found
-- checking for module 'libswscale'
-- package 'libswscale' not found
-- Could NOT find wxWidgets (missing: wxWidgets_FOUND)
wxWidgets was not found automatically. Please, set wxWidgets_ROOT_DIR to the lib directory to enable it in MRPT.
-- checking for module 'libdc1394-2'
-- package 'libdc1394-2' not found
-- Found ZLIB: /home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include (found version "1.2.5")
-- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
-- Looking for timegm
-- Looking for timegm - found
-- Looking for _mkgmtime
-- Looking for _mkgmtime - not found
-- Looking for alloca
-- Looking for alloca - not found
-- Looking for gettid
-- Looking for gettid - not found
-- Looking for sincos
-- Looking for sincos - not found
-- Looking for lrint
-- Looking for lrint - found
-- Looking for erf
-- Looking for erf - found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for _aligned_malloc
-- Looking for _aligned_malloc - not found
-- Looking for alloca.h
-- Looking for alloca.h - found
-- Looking for linux/serial.h
-- Looking for linux/serial.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for winsock2.h
-- Looking for winsock2.h - not found
-- Looking for emmintrin.h
-- Looking for emmintrin.h - not found
-- Looking for mmintrin.h
-- Looking for mmintrin.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of long double
-- Check size of long double - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets not found!: **This target will not be included in the Makefiles**
-- wxWidgets and/or GL/GLUT not found!: **This target will not be included in the Makefiles**
-- Found Doxygen: /usr/bin/doxygen
-- Generating tests for mrpt_base -> mrpt-base
-- Generating tests for mrpt_scanmatching -> mrpt-scanmatching
-- Generating tests for mrpt_topography -> mrpt-topography
-- Generating tests for mrpt_obs -> mrpt-obs
-- Generating tests for mrpt_slam -> mrpt-slam
--
-- Compiler: /home/mike/buildroot-2011.02/output/host/usr/bin/i486-unknown-linux-uclibc-g++ (GCC version: 201102)
-- C++ flags (Release): --sysroot=/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot -Os -pipe -fomit-frame-pointer -m3dnow -mmmx -march=i586 -Os -mtune=i486 -march=i486 -I/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include -I/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/include --sysroot=/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot -Os -pipe -fomit-frame-pointer -m3dnow -mmmx -march=i586 -Os -mtune=i486 -march=i486 -I/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include -I/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/include -Wall -Wno-long-long -Wno-write-strings -Wno-variadic-macros -pedantic -pthread -O3 -mtune=native -O3 -DNDEBUG -O3 -mtune=native
-- C++ flags (Debug): --sysroot=/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot -Os -pipe -fomit-frame-pointer -m3dnow -mmmx -march=i586 -Os -mtune=i486 -march=i486 -I/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include -I/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/include --sysroot=/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot -Os -pipe -fomit-frame-pointer -m3dnow -mmmx -march=i586 -Os -mtune=i486 -march=i486 -I/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include -I/home/mike/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/include -Wall -Wno-long-long -Wno-write-strings -Wno-variadic-macros -pedantic -pthread -O3 -mtune=native -g -O3 -mtune=native
-- Executable link flags (Release):
-- Executable link flags (Debug):
-- Lib link flags (Release):
-- Lib link flags (Debug):
--
-- List of MRPT libs/modules to be built (and dependencies):
-- -----------------------------------------------------------------
-- mrpt-base :
-- mrpt-scanmatching : mrpt-base
-- mrpt-bayes : mrpt-base
-- mrpt-opengl : mrpt-base
-- mrpt-gui : mrpt-opengl;mrpt-base
-- mrpt-topography : mrpt-base;mrpt-obs;mrpt-opengl;mrpt-scanmatching
-- mrpt-obs : mrpt-opengl;mrpt-base
-- mrpt-hwdrivers : mrpt-base;mrpt-obs;mrpt-gui;mrpt-opengl
-- mrpt-maps : mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-vision : mrpt-obs;mrpt-opengl;mrpt-base;mrpt-gui;mrpt-opengl
-- mrpt-slam : mrpt-bayes;mrpt-vision;mrpt-scanmatching;mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-reactivenav : mrpt-maps;mrpt-obs;mrpt-opengl;mrpt-base
-- mrpt-hmtslam : mrpt-slam;mrpt-vision;mrpt-maps;mrpt-base;mrpt-obs;mrpt-opengl
-- mrpt-detectors : mrpt-vision;mrpt-maps;mrpt-gui;mrpt-slam;mrpt-base;mrpt-opengl;mrpt-obs
-- mrpt-core : mrpt-topography;mrpt-slam;mrpt-base;mrpt-obs;mrpt-opengl;mrpt-scanmatching;mrpt-bayes;mrpt-vision;mrpt-maps
--
-- Resulting configuration for MRPT 0.9.3:
-- -----------------------------------------------------------------
-- Will MRPT be built as a shared library? : Yes
-- Additional checks even in Release : No
-- Additional matrix checks : No
-- Word size (32/64 bits) : 32
-- Is system big endian? : No
-- Use MMX/SSE2? : No
-- Has eigen3 : Yes (Built-in) Version:
-- Has Phidget : No
-- Has Videre stereo camera : No
-- Has wxWidgets incl. OpenGL classes : No
-- Has OpenGL & GLUT: : No
-- Has xSENS MTi library (inertial sensor) : No
-- Has libdc1394-2 (FireWire capture) : No
-- Has SwissRanger 3/4000 3D camera : No
-- Has Xbox Kinect (via libfreenect) : No
-- Has OpenCV (Image manipulation) : No Version: 0.0.0
-- Has FabMap (optional for HMT-SLAM) : No
-- Has ffmpeg libs (Video streaming) : No avcodec , avutil , avformat
-- Has lib3ds (3DStudio scenes) : Yes (Built-in)
-- Has zlib (compression) : Yes (System)
-- Has libjpeg (jpeg) : Yes (Built-in)
-- Has libftdi (USB) : No
--
-- Install prefix: /usr
-- C++ config header : /home/mike/buildroot/output/build/mrpt-0.9.3/include/mrpt-config/unix/
-- -----------------------------------------------------------------
--
--
-- ***********************************************************************
-- * WARNING: It's STRONGLY recommended to build MRPT with OpenCV support.
-- * To do so, set OpenCV_DIR to its CMake build dir. If you want to go
-- * on without OpenCV, proceed to build instead.
-- ***********************************************************************
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mike/buildroot/output/build/mrpt-0.9.3
>>> mrpt 0.9.3 Building
PATH="/home/mike/buildroot/output/host/bin:/home/mike/buildroot/output/host/usr/bin:/home/mike/buildroot/output/host/usr/sbin/:/home/mike/local/bin:/usr/lib64/ccache:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/Trolltech/Qt-4.7.1/bin:/home/mike/bin" PERLLIB="/home/mike/buildroot/output/host/usr/lib/perl" /usr/bin/make -j1 -C /home/mike/buildroot/output/build/mrpt-0.9.3/
make[1]: Entering directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make[2]: Entering directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make[3]: Entering directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
Dependee "/home/mike/buildroot/output/build/mrpt-0.9.3/otherlibs/gtest-1.5.0/CMakeFiles/mrptgtest.dir/DependInfo.cmake" is newer than depender "/home/mike/buildroot/output/build/mrpt-0.9.3/otherlibs/gtest-1.5.0/CMakeFiles/mrptgtest.dir/depend.internal".
Dependee "/home/mike/buildroot/output/build/mrpt-0.9.3/otherlibs/gtest-1.5.0/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/mike/buildroot/output/build/mrpt-0.9.3/otherlibs/gtest-1.5.0/CMakeFiles/mrptgtest.dir/depend.internal".
Scanning dependencies of target mrptgtest
make[3]: Leaving directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make[3]: Entering directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
[ 1%] Building CXX object otherlibs/gtest-1.5.0/CMakeFiles/mrptgtest.dir/fused-src/gtest/gtest-all.cc.o

jlblanco
jlblanco's picture
Hi Mike, If you don't mind

Hi Mike,

If you don't mind testing... could you please try with MRPT 0.9.4 from SVN? just to confirm if that error has been already solved...

Cheers,
JL

Mike Davies
Mike Davies's picture
OK. I did a checkout of

OK. I did a checkout of version 2501.

Ignore the bit where it says 0.9.3. It really is 0.9.4.

It now fails sooner with ...

[ 11%] Building CXX object libs/base/CMakeFiles/mrpt-base.dir/src/system/breakpoint.cpp.o
/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3/libs/base/src/system/breakpoint.cpp:37: error: 'void mrpt::system::breakpoint(const std::string&)' should have been declared inside 'mrpt::system'
make[3]: *** [libs/base/CMakeFiles/mrpt-base.dir/src/system/breakpoint.cpp.o] Error 1
make[3]: Leaving directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make[2]: *** [libs/base/CMakeFiles/mrpt-base.dir/all] Error 2
make[2]: Leaving directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make: *** [/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3/.stamp_built] Erro

Mike Davies
Mike Davies's picture
Sorry, I was in a hurry when

Sorry, I was in a hurry when I posted that previous message, and on further investigation can no longer reproduce that error.

Instead the build falls over even sooner looking for immintrin.h, e.g.

Scanning dependencies of target mrpt-base
make[3]: Leaving directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
make[3]: Entering directory `/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3'
[ 0%] Building CXX object libs/base/CMakeFiles/mrpt-base.dir/src/bayes/CParticleFilter.cpp.o
In file included from /home/mike/buildroot-2011.02/output/build/mrpt-0.9.3/libs/base/include/mrpt/utils/bits.h:33,
from /home/mike/buildroot-2011.02/output/build/mrpt-0.9.3/libs/base/include/mrpt/utils/utils_defs.h:68,
from /home/mike/buildroot-2011.02/output/build/mrpt-0.9.3/libs/base/include/mrpt/bayes/CParticleFilter.h:31,
from /home/mike/buildroot-2011.02/output/build/mrpt-0.9.3/libs/base/src/bayes/CParticleFilter.cpp:33:
/home/mike/buildroot-2011.02/output/build/mrpt-0.9.3/libs/base/include/mrpt/utils/SSE_types.h:47:41: error: immintrin.h: No such file or directory
make[3]: *** [libs/base/CMakeFiles/mrpt-base.dir/src/bayes/CParticleFilter.cpp.o] Error 1

System Admin have confirmed that the file 'immintrin.h' does not exist anywhere on our system. We are using GCC 4.3.5

jlblanco
jlblanco's picture
It seems to me the problem is

It seems to me the problem is that you're building for i486 (as seem from your GCC command line), and SSE* don't exist there.

Please try marking the "DISABLE_SSE*" checkboxes in MRPT's CMake (you'll have to enable "advanced" variables in ccmake or cmake-gui). Hope it helps!

JL

Mike Davies
Mike Davies's picture
Thanks. I have now been

Thanks. I have now been through all my options and set things up properly.

I can confirm the original build problem has gone away.

However, I guess my set-up is a bit different from most people. I do not have OPENCV, OPENGL and wxWidgets, so there are 3 problems with 0.9.4 checkout revision 2501.

1) in libs/opengl/src/CTexturedObject.cpp I need a wrapper in render_dl(), e.g.

void CTexturedObject::render_dl() const
{
#if MRPT_HAS_OPENGL_GLUT
render_pre();
if (glGetError()!= GL_NO_ERROR)
std::cerr << "render_pre: Error" << std::endl;
render_texturedobj();
if (glGetError()!= GL_NO_ERROR)
std::cerr << "render_texturedobj: Error" << std::endl;
render_post();
if (glGetError()!= GL_NO_ERROR)
std::cerr << "render_post: Error" << std::endl;
#endif
}

2) In libs/vision/src/checkerboard_ocamcalib_detector.cpp need to move the #if MRPT_HAS_OPENCV up a few lines to include the "using namespace" because as things are there is no code generated at all, and gcc 4.3.5 fails because it doesn't like the using namespace directives when there is no code.

3) In apps/kf-slam/kf-slam_main.cpp you have the following ...

#if !MRPT_HAS_WXWIDGETS
SHOW_3D_LIVE = false;
#endif

You can't do that because SHOW_3D_LIVE is a const. I'm not actually running this code, so I just took it out to see what else would fail. I'm not sure it is actually needed at all, won't "cfgFile.read_bool" return false when it fails to read the config file ?

Anyway, thanks for your help. I've learnt a bit more about how MRPT works

jlblanco
jlblanco's picture
Thanks for the feedback!

Thanks for the feedback!

Log in or register to post comments
Subscribe to Comments for "Problem building 0.9.3 GLuint not typedef&#039;d"