Build Failures

Help
2013-12-25
2014-01-01
  • Hi, I am facing problems building projectM. I use Ubuntu 13.10. I have installed the following librearies:

    libqt4-dev
    libgl1-mesa-glx
    libgl1-mesa-dri
    libgl1-mesa-dev
    libglu1-mesa-dev
    liborc-dev
    libpulse-dev
    libftgl-dev
    libsdl1.2-dev
    libglew1.5-dev
    libvisual-0.4-dev
    

    From the "projectM-complete-2.1.0-Source/build" directory I run:

    cmake -DCMAKE_INSTALL_PREFIX=/home/dmen/Programs/projectm ..
    make
    

    I get the following error:

    Scanning dependencies of target projectM-test
    [ 46%] Building CXX object src/projectM-test/CMakeFiles/projectM-test.dir/projectM-test.o
    [ 47%] Building CXX object src/projectM-test/CMakeFiles/projectM-test.dir/video_init.o
    [ 48%] Building CXX object src/projectM-test/CMakeFiles/projectM-test.dir/ConfigFile.o
    [ 49%] Building CXX object src/projectM-test/CMakeFiles/projectM-test.dir/getConfigFilename.o
    Linking CXX executable projectM-test
    /usr/bin/ld: CMakeFiles/projectM-test.dir/projectM-test.o: undefined reference to symbol 'glEnd'
    /usr/lib/fglrx/libGL.so.1: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    make[2]: *** [src/projectM-test/projectM-test] Error 1
    make[1]: *** [src/projectM-test/CMakeFiles/projectM-test.dir/all] Error 2
    make: *** [all] Error 2
    

    I tried to circumvent this by changing: OPTION(INCLUDE-PROJECTM-TEST "Build the projectM test suite" ON) to OFF. Now the compilation went through to 100% but failed at make install:

    ...

    -- Installing: /home/dmen/Programs/projectm/lib/libprojectM.so.2.1.0
    -- Installing: /home/dmen/Programs/projectm/lib/libprojectM.so.2
    -- Installing: /home/dmen/Programs/projectm/lib/libprojectM.so
    -- Installing: /home/dmen/Programs/projectm/include/libprojectM-qt/qprojectm_mainwindow.hpp
    -- Installing: /home/dmen/Programs/projectm/lib/libprojectM-qt.so.1.10
    -- Installing: /home/dmen/Programs/projectm/lib/libprojectM-qt.so.1
    -- Installing: /home/dmen/Programs/projectm/lib/libprojectM-qt.so
    -- Removed runtime path from "/home/dmen/Programs/projectm/lib/libprojectM-qt.so.1.10"
    -- Installing: /home/dmen/Programs/projectm/lib/pkgconfig/libprojectM-qt.pc
    -- Installing: /home/dmen/Programs/projectm/share/pixmaps/prjm16-transparent.svg
    -- Installing: /home/dmen/Programs/projectm/bin/projectM-pulseaudio
    -- Removed runtime path from "/home/dmen/Programs/projectm/bin/projectM-pulseaudio"
    -- Installing: /home/dmen/Programs/projectm/share/applications/projectM-pulseaudio.desktop
    -- Installing: /usr/lib/x86_64-linux-gnu/libvisual-0.4/actor/libprojectM_libvisual.so
    CMake Error at src/projectM-libvisual/cmake_install.cmake:50 (FILE):
      file INSTALL cannot copy file
      "/home/dmen/Downloads/projectM-complete-2.1.0-Source/build/src/projectM-libvisual/libprojectM_libvisual.so"
      to
      "/usr/lib/x86_64-linux-gnu/libvisual-0.4/actor/libprojectM_libvisual.so".
    Call Stack (most recent call first):
      src/cmake_install.cmake:40 (INCLUDE)
      cmake_install.cmake:37 (INCLUDE)
    
    make: *** [install] Error 1
    

    I see that it tries to write stuff to "/usr/lib/" which I specifically tried to avoid (I set the CMAKE_INSTALL_PREFIX parameter). Ofcource the installation does not work. Any help?

     
    Last edit: Dimitris Menounos 2013-12-25
    • I set OPTION(INCLUDE-PROJECTM-LIBVISUAL "Build the projectM libvisual client" OFF) and run "make" and "make install" without a CMAKE_INSTALL_PREFIX. No compile errors, here are the installed binaries:

      ls -la /usr/local/bin/
      -rwxr-xr-x  1 root root 179913 Δεκ  25 16:38 projectM-pulseaudio
      
      ls -la /usr/local/lib/
      lrwxrwxrwx  1 root root       19 Δεκ  25 16:38 libprojectM-qt.so -> libprojectM-qt.so.1
      lrwxrwxrwx  1 root root       22 Δεκ  25 16:38 libprojectM-qt.so.1 -> libprojectM-qt.so.1.10
      -rw-r--r--  1 root root   575446 Δεκ  25 16:38 libprojectM-qt.so.1.10
      lrwxrwxrwx  1 root root       16 Δεκ  25 16:38 libprojectM.so -> libprojectM.so.2
      lrwxrwxrwx  1 root root       20 Δεκ  25 16:38 libprojectM.so.2 -> libprojectM.so.2.1.0
      -rw-r--r--  1 root root  1517727 Δεκ  25 16:38 libprojectM.so.2.1.0
      

      However it does not run:

      ~$ projectM-pulseaudio 
      projectM-pulseaudio: error while loading shared libraries: libprojectM-qt.so.1: cannot open shared object file: No such file or directory
      
       
      • One step closer:

        ~$ LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
        

        Still fail:

        ~$ projectM-pulseaudio 
        dir:/usr/local/share/projectM/config.inp 
        reading ~/.projectM/config.inp 
        [projectM] config file: /home/dmen/.projectM/config.inp
        No Textures Loaded from "/usr/local"/share/projectM/textures
        Could not open font file: "/usr/local/share/projectM/fonts/Vera.ttf"
        

        Man I wish that installing stuff in linux would be easier!

         
        Last edit: Dimitris Menounos 2013-12-25
  • amoe
    amoe
    2014-01-01

    You need to either put the fonts where they are expected, or you can modify the font options in ~/.projectM/config.inp to point to the correct paths.