Menu

Build on RPI fails with 4.7.0 - RC1

Aurélien
2014-04-14
2014-04-15
  • Aurélien

    Aurélien - 2014-04-14

    Hi!

    I'm trying to build QLC+ on a RPI for several weeks but always end with an error due to linked libs:

    g++ -Wl,-O1 -o bus_test bus_test.o moc_bus_test.o -L../../src -L/usr/lib/arm-linux-gnueabihf -lqlcplusengine -lQtTest -lQtScript -lQtXml -lQtGui -lQtCore -lpthread
    ../../src/libqlcplusengine.so: undefined reference to fftw_malloc' ../../src/libqlcplusengine.so: undefined reference tofftw_free'
    ../../src/libqlcplusengine.so: undefined reference to fftw_execute' ../../src/libqlcplusengine.so: undefined reference tofftw_plan_dft_r2c_1d'
    ../../src/libqlcplusengine.so: undefined reference to `fftw_destroy_plan'
    collect2: ld returned 1 exit status
    make[3]: *** [bus_test] Erreur 1
    make[3]: quittant le répertoire « /home/pi/qlcplus-4.7.0.RC1/engine/test/bus »
    make[2]: *** [sub-bus-make_default-ordered] Erreur 2
    make[2]: quittant le répertoire « /home/pi/qlcplus-4.7.0.RC1/engine/test »
    make[1]: *** [sub-test-make_default-ordered] Erreur 2
    make[1]: quittant le répertoire « /home/pi/qlcplus-4.7.0.RC1/engine »
    make: *** [sub-engine-make_default-ordered] Erreur 2

    It seems this error occurs when the libs aren't at the end of the line of the gcc command, but even by moving ($LIBS) at the ends of the lines in the Makefiles in which they weren't, I just don't get it.

    By the way, fftw dev files are installed:
    ii libfftw3-3:armhf 3.3.2-3.1 armhf Library for computing Fast Fourier Transforms
    ii libfftw3-bin 3.3.2-3.1 armhf Library for computing Fast Fourier Transforms -
    ii libfftw3-dev:armhf 3.3.2-3.1 armhf Library for computing Fast Fourier Transforms -

    Any idea?

     
  • Massimo Callegari

    Aurelien, you posted again the same thing and again on the wrong forum.
    https://sourceforge.net/p/qlcplus/discussion/development/thread/e3231741/

    Can you please give more details about what you're doing ?
    For example the GCC version.
    Also, try with QLC+ 4.7.0 instead of RC1.

     
  • Aurélien

    Aurélien - 2014-04-14

    Oh sorry, I thought the first one didn't reach anything, and had to subscribe to sourceforge.

    As far as gcc is concerned, here it is:
    dpkg -l gcc*
    Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
    | État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
    |/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
    ||/ Nom Version Architecture Description
    +++-=====================-===============-===============-================================================
    ii gcc 4:4.6.3-8 armhf GNU C compiler
    un gcc-4.1 <aucun> (aucune description n'est disponible)
    un gcc-4.3 <aucun> (aucune description n'est disponible)
    un gcc-4.4 <aucun> (aucune description n'est disponible)
    un gcc-4.5 <aucun> (aucune description n'est disponible)
    ii gcc-4.5-base:armhf 4.5.3-12+rpi1 armhf The GNU Compiler Collection (base package)
    ii gcc-4.6 4.6.3-14+rpi1 armhf GNU C compiler
    ii gcc-4.6-base:armhf 4.6.3-14+rpi1 armhf GCC, the GNU Compiler Collection (base package)
    un gcc-4.6-doc <aucun> (aucune description n'est disponible)
    un gcc-4.6-locales <aucun> (aucune description n'est disponible)
    ii gcc-4.7-base:armhf 4.7.2-5+rpi1 armhf GCC, the GNU Compiler Collection (base package)
    un gcc-doc <aucun> (aucune description n'est disponible)
    un gcc-multilib <aucun> (aucune description n'est disponible)</aucun></aucun></aucun></aucun></aucun></aucun></aucun></aucun>

    I'm with raspbian stable, and I'm going to try the 4.7.0 right now, but it takes a bit on the RPI (don't know how to build something on an arch for another arch, and don't have the time to look for this right now).

     
  • Aurélien

    Aurélien - 2014-04-14

    (weird, I do have post a comment, but it doesn't appear - hope I'm not messing up again!!)

    So, I've tried with 4.7.0, but I finally reach an error:

    make[3]: quittant le répertoire « /home/pi/qlcplus-4.7.0/plugins/midi/alsa »
    make[2]: quittant le répertoire « /home/pi/qlcplus-4.7.0/plugins/midi »
    cd ola/ && /usr/bin/qmake /home/pi/qlcplus-4.7.0/plugins/ola/ola.pro -o Makefile
    cd ola/ && make -f Makefile
    make[2]: entrant dans le répertoire « /home/pi/qlcplus-4.7.0/plugins/ola »
    /usr/bin/uic-qt4 configureolaio.ui -o ui_configureolaio.h
    g++ -c -pipe -Werror -Wno-unused-local-typedefs -O2 -Wall -W -D_REENTRANT -fPIC -DQT_WEBKIT -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I../interfaces -I. -I. -o olaio.o olaio.cpp
    In file included from olaio.cpp:26:0:
    qlclogdestination.h:25:25: fatal error: ola/Logging.h: Aucun fichier ou dossier de ce type
    compilation terminated.
    make[2]: *** [olaio.o] Erreur 1
    make[2]: quittant le répertoire « /home/pi/qlcplus-4.7.0/plugins/ola »
    make[1]: *** [sub-ola-make_default] Erreur 2
    make[1]: quittant le répertoire « /home/pi/qlcplus-4.7.0/plugins »
    make: *** [sub-plugins-make_default-ordered] Erreur 2

    I suppose I would have to build it without ola support, but didn't find how by reading make -h and qmake -h.

     
    • Luis García-Tornel

      Hi Aurelien,

      I recommend reading the Linux Build HOWTO.

      To exclude some plugins from the build:

      If you want to exclude some [plugins] from the build process then just comment them out by placing the character # at the beginning of the plugin line in the file plugins/plugins.pro For example:
      #unix:SUBDIRS += ola

      To install the OLA (notice that you may need to install also additional packages to compile OLA. I needed: bison flex uuid-dev libcppunit-dev libprotobuf-dev libprotoc-dev)

      Acquire the latest tarball from the OLA webiste:
      http://code.google.com/p/open-lighting/downloads/list

      Extract the package and enter into the OLA folder. Then, as usual, type:

      ./configure --prefix=/usr
      make
      sudo make install

       
  • Aurélien

    Aurélien - 2014-04-15

    OK, thanks, so I removed ola from the plugins, and it finally built OK. But I couldn't install, it seems the /usr/share/qlcplus folder is not created :

    make[1]: quittant le répertoire « /home/pi/qlcplus-4.7.0/webaccess »
    cd main/ && make -f Makefile install
    make[1]: entrant dans le répertoire « /home/pi/qlcplus-4.7.0/main »
    install -m 755 -p "qlcplus" "/usr/bin/qlcplus"
    strip "/usr/bin/qlcplus"
    make[1]: quittant le répertoire « /home/pi/qlcplus-4.7.0/main »
    cd fixtures/ && make -f Makefile install
    make[1]: entrant dans le répertoire « /home/pi/qlcplus-4.7.0/fixtures »
    mkdir: impossible de créer le répertoire « /usr/share/qlcplus »: Aucun fichier ou dossier de ce type
    make[1]: *** [install_fixtures] Erreur 1
    make[1]: quittant le répertoire « /home/pi/qlcplus-4.7.0/fixtures »
    make: *** [sub-fixtures-install_subtargets-ordered] Erreur 2

    (I've tried both with sudo and sudo su -)

    I precise I already managed to build QLC+ on a "standard" (AMD64) Debian machine, but on RPI, I'm way more noob!

     
    • Daniel Nyström

      Daniel Nyström - 2014-04-15

      Can you please prefix all your command with LANG=C, like this; LANG=C
      sudo make install

      2014-04-15 13:10 GMT+02:00 "Aurélien" orlammd@users.sf.net:

      OK, thanks, so I removed ola from the plugins, and it finally built OK. But
      I couldn't install, it seems the /usr/share/qlcplus folder is not created :

      make[1]: quittant le répertoire « /home/pi/qlcplus-4.7.0/webaccess »
      cd main/ && make -f Makefile install
      make[1]: entrant dans le répertoire « /home/pi/qlcplus-4.7.0/main »
      install -m 755 -p "qlcplus" "/usr/bin/qlcplus"
      strip "/usr/bin/qlcplus"
      make[1]: quittant le répertoire « /home/pi/qlcplus-4.7.0/main »
      cd fixtures/ && make -f Makefile install
      make[1]: entrant dans le répertoire « /home/pi/qlcplus-4.7.0/fixtures »
      mkdir: impossible de créer le répertoire « /usr/share/qlcplus »: Aucun
      fichier ou dossier de ce type
      make[1]: [install_fixtures] Erreur 1
      make[1]: quittant le répertoire « /home/pi/qlcplus-4.7.0/fixtures »
      make: [sub-fixtures-install_subtargets-ordered] Erreur 2

      (I've tried both with sudo and sudo su -)

      I precise I already managed to build QLC+ on a "standard" (AMD64) Debian
      machine, but on RPI, I'm way more noob!


      Build on RPI fails with 4.7.0 - RC1


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/qlcplus/discussion/development/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Aurélien

    Aurélien - 2014-04-15

    OK, correct, the problem came from the use of checkinstall.
    It's now built and working.
    Let's see what it gives.