Trying to build OpenCV 2.4.1 with OpenGL support

24,628

Solution 1

You probably forgot to install the GTK+ OpenGL Extensions and their headers

sudo apt-get install libgtkglext1 libgtkglext1-dev

Solution 2

I have the same problem and I fund a solution by putting a extra command (WITH_QT=ON). I dont know why, but I found on the internet that is not possible enable OPENGL without enableing QT instead of GTK. I hope that this help us, and Iam sorry for my english (I dont know so much because I talk spanish).

Saludos compadres !! Desde Mexico :D

Solution 3

I couldn't get the WITH_OPENGL flag to show up in my openCV 2.4.3 CMake options (I am running on a Mac - Snow Leopard 10.6.8)... I finally got it working by just opening up CMakeLists.txt and editing line 128 to:

OCV_OPTION(WITH_OPENGL "Include OpenGL support" ON)

Then run your CMake configurator/generator and it should build.

Share:
24,628
Dan
Author by

Dan

PhD in Computer Graphics.

Updated on June 15, 2020

Comments

  • Dan
    Dan almost 4 years

    I am trying to build OpenCV 2.4.1 with OpenGL support, and it keeps faling. I have OpenGL installed in my Ubuntu 11.04, libs are under /usr/lib/libGL.so as usual. I know my OpenGL installation is correct because I have C++ OpenGL projects that compile, link and run OK.

    I run the cmake command as follows, because I want both CUDA and OpenGL support.

    /data/OpenCV-2.4.1/build $ cmake -D WITH_OPENGL=ON -D CMAKE_BUILD_TYPE=RELEASE -D WITH_CUDA=ON -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -D BUILD_EXAMPLES=ON -D WITH_TBB=ON ..
    

    This is the output I get from this, telling me CUDA was properly detected, but OpenGL wasn't

    -- General configuration for OpenCV 2.4.1 =====================================
    -- 
    --   Platform:
    --     Host:                        Linux 2.6.35-32-generic x86_64
    --     CMake:                       2.8.8
    --     CMake generator:             Unix Makefiles
    --     CMake build tool:            /usr/bin/make
    --     Configuration:               RELEASE
    -- 
    --   C/C++:
    --     Built as dynamic libs?:      YES
    --     C++ Compiler:                /usr/bin/c++ (ver 4.4.4)
    --     C++ flags (Release):         -Wall -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -ffunction-sections -O3 -DNDEBUG   -DNDEBUG
    --     C++ flags (Debug):           -Wall -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -ffunction-sections -g  -O0 -DDEBUG -D_DEBUG -ggdb3
    --     C Compiler:                  /usr/bin/gcc
    --     C flags (Release):           -Wall -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -ffunction-sections -O3 -DNDEBUG  -DNDEBUG
    --     C flags (Debug):             -Wall -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -ffunction-sections -g  -O0 -DDEBUG -D_DEBUG -ggdb3
    --     Linker flags (Release):      
    --     Linker flags (Debug):        
    -- 
    --   OpenCV modules:
    --     To be built:                 calib3d contrib core features2d flann gpu highgui imgproc legacy ml nonfree objdetect photo python stitching ts video videostab
    --     Disabled:                    -
    --     Disabled by dependency:      -
    --     Unavailable:                 androidcamera java
    -- 
    --   GUI: 
    --     QT 4.x:                      NO
    --     GTK+ 2.x:                    YES (ver 2.22.0)
    --     GThread :                    YES (ver 2.26.1)
    --     GtkGlExt:                    NO
    --     OpenGL support:              NO
    -- 
    --   Media I/O: 
    --     ZLib:                        /usr/lib64/libz.so (ver 1.2.3.4)
    --     JPEG:                        /usr/lib64/libjpeg.so (ver 62)
    --     PNG:                         /usr/lib64/libpng.so (ver 1.2.44)
    --     TIFF:                        /usr/lib64/libtiff.so (ver 42 - 3.9.4)
    --     JPEG 2000:                   /usr/lib64/libjasper.so (ver 1.900.1)
    --     OpenEXR:                     /usr/lib64/libImath.so /usr/lib64/libIlmImf.so /usr/lib64/libIex.so /usr/lib64/libHalf.so /usr/lib64/libIlmThread.so (ver 1.6.1)
    -- 
    --   Video I/O:
    --     DC1394 1.x:                  NO
    --     DC1394 2.x:                  NO
    --     FFMPEG:                      YES
    --       codec:                     YES (ver 54.23.100)
    --       format:                    YES (ver 54.6.100)
    --       util:                      YES (ver 51.54.100)
    --       swscale:                   YES (ver 2.1.100)
    --       gentoo-style:              YES
    --     GStreamer:                   
    --       base:                      YES (ver 0.10.30)
    --       app:                       YES (ver 0.10.30)
    --       video:                     YES (ver 0.10.30)
    --     OpenNI:                      NO
    --     OpenNI PrimeSensor Modules:  NO
    --     PvAPI:                       NO
    --     UniCap:                      NO
    --     UniCap ucil:                 NO
    --     V4L/V4L2:                    Using libv4l (ver 0.8.8)
    --     Xine:                        NO
    -- 
    --   Other third-party libraries:
    --     Use IPP:                     NO
    --     Use TBB:                     YES (ver 3.0 interface 5000)
    --     Use Cuda:                    YES (ver 4.2)
    --     Use Eigen:                   YES (ver 2.0.15)
    -- 
    --   NVIDIA CUDA:                   (ver 4.2)
    --     Use CUFFT:                   YES
    --     Use CUBLAS:                  NO
    --     NVIDIA GPU arch:             11 12 13 20 21 30
    --     NVIDIA PTX archs:            11 12 13 20 21 30
    --     NVIDIA GPU features:         11 12 13 20 20 30 20
    -- 
    --   Python:
    --     Interpreter:                 /usr/bin/python (ver 2.6.6)
    --     Libraries:                   /usr/lib64/libpython2.6.so (ver 2.6.6)
    --     numpy:                       /usr/local/lib/python2.6/dist-packages/numpy/core/include (ver 2.0.0.dev-27befc8)
    --     packages path:               lib/python2.6/dist-packages
    -- 
    --   Documentation:
    --     Build Documentation:         NO
    --     Sphinx:                      NO
    --     PdfLaTeX compiler:           /usr/local/texlive/2011/bin/x86_64-linux/pdflatex
    -- 
    --   Tests and samples:
    --     Tests:                       YES
    --     Performance tests:           YES
    --     Examples:                    YES
    -- 
    --   Install path:                  /usr/local
    -- 
    --   cvconfig.h is in:              /data/OpenCV-2.4.1/build
    -- -----------------------------------------------------------------
    -- 
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /data/OpenCV-2.4.1/build
    

    Any guess what is missing?

    • Andrey Kamaev
      Andrey Kamaev almost 12 years
      sudo apt-get install libgtkglext1 libgtkglext1-dev
    • Dan
      Dan almost 12 years
      @AndreyKamaev YOU ARE THE MAN! CHEERS! If you post it as an answer I accept it right away.
    • Dan
      Dan almost 12 years
      @AndreyKamaev Can you please post you comment as an answer? I would like to leave this question answered.
  • Dan
    Dan almost 12 years
    Doesn't work. cmake expects expressions like "VAR:type=value". If I run it with -DWITH_OPENGL or -DUSE_OPENGL Parse error in command line argument: -D Should be: VAR:type=value CMake Error: No cmake script provided. CMake Error: Problem processing arguments
  • Dan
    Dan almost 12 years
    I believe the proper way should be -D WITH_OPENGL=ON but I am already doing this and no luck.
  • Eric
    Eric almost 12 years
    If you are running on linux you can install ccmake and add the option WITH_OPENGL easily.
  • Rui Marques
    Rui Marques almost 12 years
    This seems to be the answer but it was first suggested by @AndreyKamaev in his comment :)
  • Dan
    Dan almost 12 years
    Well, as @RuiMarques said, this was already answered by Andrey in a comment, but I will take this answer as the correct one because I cannot accept a comment, and I want to close this question.
  • Angus Forbes
    Angus Forbes about 11 years
    This didn't build on OSX 10.8 because of a reference to glXUseXFont in modules/highgui/src/window_QT.cpp. However, if I simply comment out this one line, the project will build (after editing the CMakeList.txt file as indicated by Amir Rubin). I'm in the middle of testing if removing this line causes any problems. So far so good.
  • Amir Rubin
    Amir Rubin about 11 years
    @AngusForbes Ha - exact same thing happened to me; I forgot to mention it in my reply. I haven't encountered anyproblems from commenting out that line: code.opencv.org/issues/1603
  • Subhamoy S.
    Subhamoy S. over 10 years
    Not sure how this is the right answer. Installing this makes CMake find GtkGlExt (the line right above OpenGL), but OpenGL support is still NO.
  • Subhamoy S.
    Subhamoy S. over 10 years
    In the current version's root CMake, this is now line 143. I tried this there, and CMake still says OpenGL support is NO in Ubuntu 13.10 x64.
  • kaartic
    kaartic over 5 years
    There is a way to enable OpenGL with GTK+ 2.0 and without QT. See stackoverflow.com/questions/33801083/…
  • kaartic
    kaartic over 5 years
    There is a way to enable OpenGL with GTK+ 2.0 and without QT. See stackoverflow.com/questions/33801083/…
  • Torrien
    Torrien almost 4 years
    On Ubuntu 20.02 installed libqt5opengl5-dev and using flag WITH_QT=ON I finally had OpenGL enable in the make. Thanks.
  • indirectlylit
    indirectlylit over 2 years
    This also worked for me inside an Ubuntu 18.04 Docker image with ibgtkglext1 and libgtkglext1-dev already installed. Gracias @angel-xipootle!