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
Forum Updated to NodeBB v4.3 + New Features

Installation of Qt4.7 on Debian Buster distribution

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
4 Posts 3 Posters 1.2k 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