Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Installation of Qt4.7 on Debian Buster distribution
Qt 6.11 is out! See what's new in the release blog

Installation of Qt4.7 on Debian Buster distribution

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
4 Posts 3 Posters 1.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    PatMooc
    wrote on last edited by
    #1

    Hello,

    I'm currently working on a Qt4.7 projet compiled on a Debian Lenny distribution.
    I encountered library incompatibility for communicating with an USB HID reader.
    I tried a test project for this communication on a Qt5 projet on a Debian Buster distribution : it is ok
    The same test project on my Qt4.7 project fails.
    Thus, before moving all the project to a newer version of Qt (5 or 6), I tried to install the Qt4.7 on the Debian Buster distribution. But compilation fails at 'make' step.

    Here is what I have done :
    1/ I have downloaded Qt4 from here : https://download.qt.io/archive/qt/4.7/
    My Qt4 version is 4.7.4 (with QtCreator 2.2.0) => qt-everywhere-opensource-src-4.7.4.tar.gz
    2/ I then followed steps given here : https://doc.qt.io/archives/qt-4.7/qt-embedded-install.html

    3/ 'configure' step is ok and finished with following message :


    Qt is now configured for building. Just run 'make'.
    Once everything is built, you must run 'make install'.
    Qt will be installed into /usr/local/Trolltech/Qt-4.7.4
    To reconfigure, run 'make confclean' and 'configure'.


    4/ I then run make :
    root@pc-debian:/home/patrick/qt4/qt-everywhere-opensource-src-4.7.4# make

    And after several minutes following error messages appear :


    In file included from ../../include/QtCore/qmap.h:1,
    from ../../include/QtCore/../../src/corelib/kernel/qvariant.h:49,
    from ../../include/QtCore/qvariant.h:1,
    from global/qt_pch.h:60:

    ../../include/QtCore/../../src/corelib/tools/qmap.h: In instantiation of ‘T& QMap<Key, T>::operator[](const Key&) [with Key = int; T = inotify_event]’:
    io/qfilesystemwatcher_inotify.cpp:364:33: required from here
    ../../include/QtCore/../../src/corelib/tools/qmap.h:531:45: error: value-initialization of incomplete type ‘char []’
    node = node_create(d, update, akey, T());

    In file included from /usr/include/features.h:424,
    from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
    from /usr/include/string.h:26,
    from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:48,
    from ../../include/QtCore/qbytearray.h:1,
    from ../../include/QtCore/../../src/corelib/tools/qstring.h:46,
    from ../../include/QtCore/qstring.h:1,
    from ../../include/QtCore/../../src/corelib/kernel/qobject.h:48,
    from ../../include/QtCore/qobject.h:1,
    from ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:45,
    from ../../include/QtCore/qcoreapplication.h:1,
    from global/qt_pch.h:58:

    ../../include/QtCore/../../src/corelib/tools/qmap.h: In instantiation of ‘struct QMapNode<int, inotify_event>’:
    ../../include/QtCore/../../src/corelib/tools/qmap.h:532:28: required from ‘T& QMap<Key, T>::operator[](const Key&) [with Key = int; T = inotify_event]’
    io/qfilesystemwatcher_inotify.cpp:364:33: required from here
    /usr/include/x86_64-linux-gnu/sys/inotify.h:34:13: error: flexible array member ‘inotify_event::name’ not at end of ‘struct QMapNode<int, inotify_event>’
    char name __flexarr; /* Name. */


    And a few seconds after the end is :


    make[1]: *** [Makefile:16430: .obj/release-shared/qfilesystemwatcher_inotify.o] Error 1
    make[1] : on quitte le répertoire « /home/patrick/qt4/qt-everywhere-opensource-src-4.7.4/src/corelib »
    make: *** [Makefile:206: sub-corelib-make_default-ordered] Error 2


    Thus, it seems that there is a problem with "qfilesystemwatcher_inotify.cpp:364:33"

    Is there any way to correct this in order to can install Qt4.7 into Linux Buster distribution ?

    Thank you in advance for your answer.
    Best Regards,
    Patrick

    jsulmJ 1 Reply Last reply
    0
    • P PatMooc

      Hello,

      I'm currently working on a Qt4.7 projet compiled on a Debian Lenny distribution.
      I encountered library incompatibility for communicating with an USB HID reader.
      I tried a test project for this communication on a Qt5 projet on a Debian Buster distribution : it is ok
      The same test project on my Qt4.7 project fails.
      Thus, before moving all the project to a newer version of Qt (5 or 6), I tried to install the Qt4.7 on the Debian Buster distribution. But compilation fails at 'make' step.

      Here is what I have done :
      1/ I have downloaded Qt4 from here : https://download.qt.io/archive/qt/4.7/
      My Qt4 version is 4.7.4 (with QtCreator 2.2.0) => qt-everywhere-opensource-src-4.7.4.tar.gz
      2/ I then followed steps given here : https://doc.qt.io/archives/qt-4.7/qt-embedded-install.html

      3/ 'configure' step is ok and finished with following message :


      Qt is now configured for building. Just run 'make'.
      Once everything is built, you must run 'make install'.
      Qt will be installed into /usr/local/Trolltech/Qt-4.7.4
      To reconfigure, run 'make confclean' and 'configure'.


      4/ I then run make :
      root@pc-debian:/home/patrick/qt4/qt-everywhere-opensource-src-4.7.4# make

      And after several minutes following error messages appear :


      In file included from ../../include/QtCore/qmap.h:1,
      from ../../include/QtCore/../../src/corelib/kernel/qvariant.h:49,
      from ../../include/QtCore/qvariant.h:1,
      from global/qt_pch.h:60:

      ../../include/QtCore/../../src/corelib/tools/qmap.h: In instantiation of ‘T& QMap<Key, T>::operator[](const Key&) [with Key = int; T = inotify_event]’:
      io/qfilesystemwatcher_inotify.cpp:364:33: required from here
      ../../include/QtCore/../../src/corelib/tools/qmap.h:531:45: error: value-initialization of incomplete type ‘char []’
      node = node_create(d, update, akey, T());

      In file included from /usr/include/features.h:424,
      from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
      from /usr/include/string.h:26,
      from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:48,
      from ../../include/QtCore/qbytearray.h:1,
      from ../../include/QtCore/../../src/corelib/tools/qstring.h:46,
      from ../../include/QtCore/qstring.h:1,
      from ../../include/QtCore/../../src/corelib/kernel/qobject.h:48,
      from ../../include/QtCore/qobject.h:1,
      from ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:45,
      from ../../include/QtCore/qcoreapplication.h:1,
      from global/qt_pch.h:58:

      ../../include/QtCore/../../src/corelib/tools/qmap.h: In instantiation of ‘struct QMapNode<int, inotify_event>’:
      ../../include/QtCore/../../src/corelib/tools/qmap.h:532:28: required from ‘T& QMap<Key, T>::operator[](const Key&) [with Key = int; T = inotify_event]’
      io/qfilesystemwatcher_inotify.cpp:364:33: required from here
      /usr/include/x86_64-linux-gnu/sys/inotify.h:34:13: error: flexible array member ‘inotify_event::name’ not at end of ‘struct QMapNode<int, inotify_event>’
      char name __flexarr; /* Name. */


      And a few seconds after the end is :


      make[1]: *** [Makefile:16430: .obj/release-shared/qfilesystemwatcher_inotify.o] Error 1
      make[1] : on quitte le répertoire « /home/patrick/qt4/qt-everywhere-opensource-src-4.7.4/src/corelib »
      make: *** [Makefile:206: sub-corelib-make_default-ordered] Error 2


      Thus, it seems that there is a problem with "qfilesystemwatcher_inotify.cpp:364:33"

      Is there any way to correct this in order to can install Qt4.7 into Linux Buster distribution ?

      Thank you in advance for your answer.
      Best Regards,
      Patrick

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @PatMooc You could try with latest Qt4 release (4.8.x, don't remember last number).

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      P 1 Reply Last reply
      0
      • jsulmJ jsulm

        @PatMooc You could try with latest Qt4 release (4.8.x, don't remember last number).

        P Offline
        P Offline
        PatMooc
        wrote on last edited by
        #3

        @jsulm : Thank you for your advice !

        I have just downloaded corresponding version (4.8.7) an tried to install it.

        Unfortunately, compilation also fails, but with another error message concerning another module :

        In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastAllocBase.h:84,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:24,
        from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50:
        ../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:173:69: error: ‘std::tr1’ has not been declared
        template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
        ^~~
        ../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:173:74: error: expected ‘{’ before ‘has_trivial_constructor’
        template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
        ^~~~~~~~~~~~~~~~~~~~~~~
        ../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:174:68: error: ‘std::tr1’ has not been declared
        template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
        ^~~
        ../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:174:73: error: expected ‘{’ before ‘has_trivial_destructor’
        template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
        ^~~~~~~~~~~~~~~~~~~~~~
        In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:24,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27,
        from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50:
        ../3rdparty/javascriptcore/JavaScriptCore/wtf/OwnPtr.h:43:21: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
        OwnPtr(std::auto_ptr<ValueType> autoPtr) : m_ptr(autoPtr.release()) { }
        ^~~~~~~~
        In file included from /usr/include/c++/8/memory:80,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/OwnPtr.h:29,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:24,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27,
        from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50:
        /usr/include/c++/8/bits/unique_ptr.h:53:28: note: declared here
        template<typename> class auto_ptr;
        ^~~~~~~~
        In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:24,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27,
        from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50:
        ../3rdparty/javascriptcore/JavaScriptCore/wtf/OwnPtr.h:61:25: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
        void adopt(std::auto_ptr<ValueType> autoPtr) { ASSERT(!autoPtr.get() || m_ptr != autoPtr.get()); deleteOwnedPtr(m_ptr); m_ptr = autoPtr.release(); }
        ^~~~~~~~
        In file included from /usr/include/c++/8/memory:80,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/OwnPtr.h:29,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:24,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27,
        from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50:
        /usr/include/c++/8/bits/unique_ptr.h:53:28: note: declared here
        template<typename> class auto_ptr;
        ^~~~~~~~
        In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27,
        from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50:
        ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:84:30: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
        struct VectorTraits<std::auto_ptr<P> > : SimpleClassVectorTraits { };
        ^~~~~~~~
        In file included from /usr/include/c++/8/memory:80,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/OwnPtr.h:29,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:24,
        from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27,
        from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50:
        /usr/include/c++/8/bits/unique_ptr.h:53:28: note: declared here
        template<typename> class auto_ptr;
        ^~~~~~~~
        make[1]: *** [Makefile:1624: obj/release/pcre_exec.o] Error 1
        make[1] : on quitte le répertoire « /home/patrick/qt4/qt-everywhere-opensource-src-4.8.7/src/script »
        make: *** [Makefile:602: sub-script-make_default-ordered] Error 2

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Hi,

          Why not use the Qt 4 version provided by your distribution ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved