[SOLVED]Getting latest source code



  • Hi,

    With Qt4 I can easily get latest Qt's source code from Git repository but after turning to Qt5 I couldn't understand the structure of the source code repository.

    In case I cloned git://gitorious.org/qt/qt.git does it enough to get latest Qt source code or I've clone git://gitorious.org/qt/qtbase.git, git://gitorious.org/qt/qtsvg.git... etc?

    PS
    I want to get same structure of installer's source code

    Another question:
    Does the content of https://git.gitorious.org/qt/qtbase.git and https://codereview.qt-project.org/p/qt/qtbase is the same?

    Thanks for help in advanced :)


  • Moderators

    http://qt-project.org/wiki/Building_Qt_5_from_Git :)

    Summary instructions:

    Manually clone the top-level git://gitorious.org/qt/qt5.git

    Use the init-repository Perl script to automatically clone the other sub-repositories

    A diagram of Qt 5.0's structure can be found at http://qt-project.org/wiki/Qt_5_Structure . Keep in mind that the latest source code is preparing for Qt 5.1, which will have more repositories and modules.

    [quote author="mbnoimi" date="1367284735"]
    Does the content of https://git.gitorious.org/qt/qtbase.git and https://codereview.qt-project.org/p/qt/qtbase is the same?[/quote]Yes and no. That code review page lists patches that go into https://git.gitorious.org/qt/qtbase.git , but the code review page does not contain the repository itself.



  • Thanks a lot :)

    bq. http://qt-project.org/wiki/Building_Qt_5_from_Git :)

    points to git://gitorious.org/qt/qt5.git not to git://gitorious.org/qt/qt.git ... is there any difference here?

    bq. Yes and no. That code review page lists patches that go into https://git.gitorious.org/qt/qtbase.git , but the code review page does not contain the repository itself.

    You mean codereview sub-domain is just for user authentication and patch previews?

    By the way, I've "this":https://bugreports.qt-project.org/browse/QTBUG-30595 bug report which needs a testing so I'm wondering does the cloned git://gitorious.org/qt/qt.git will contains it?



  • After this:
    @git clone git://gitorious.org/qt/qt.git qt@

    I failed to find "init-repository" perl script !!!


  • Moderators

    [quote author="mbnoimi" date="1367287948"]points to git://gitorious.org/qt/qt5.git not to git://gitorious.org/qt/qt.git ... is there any difference here?[/quote]Whoops, sorry!! qt.git is for Qt 4... :( qt5.git is for Qt 5. You'll find init-repository in qt5.git

    [quote]You mean codereview sub-domain is just for user authentication and patch previews?[/quote]codereview.qt-project.org is mainly for contributors who want to submit patches to Qt. It does host a copy of the repositories, but people should download repositories from a mirror (e.g. gitorious.org) -- this reduces the load on the Qt servers, so that patches can be tested and integrated faster.

    [quote]By the way, I've "this":https://bugreports.qt-project.org/browse/QTBUG-30595 bug report which needs a testing so I'm wondering does the cloned git://gitorious.org/qt/qt.git will contains it?[/quote]Yes, if you clone qt5.git and run init-repository, you should be able to compile a version of Qt 5 that contains the fix.

    To be sure, do this:

    @
    // Update qtbase to the latest source code
    cd qtbase
    git checkout stable
    git pull

    // Configure from the top-level directory
    cd ..
    configure <INSERT-YOUR-FLAGS-HERE>

    // Compile qtbase only (it's faster than if you compile everything)
    make module-qtbase
    @



  • bq. Whoops, sorry!! qt.git is for Qt 4… :( qt5.git is for Qt 5. You’ll find init-repository in qt5.git

    Damn!!! that's meaning I've to make a new clone for Qt5. I thought git://gitorious.org/qt/qt.git is for latest versions... this is really strange :(


  • Moderators

    [quote author="mbnoimi" date="1367291128"]bq. Whoops, sorry!! qt.git is for Qt 4… :( qt5.git is for Qt 5. You’ll find init-repository in qt5.git

    Damn!!! that's meaning I've to make a new clone for Qt5. I thought git://gitorious.org/qt/qt.git is for latest versions... this is really strange :( [/quote]Sorry about that. qt5.git itself is very small, so it shouldn't take long.

    After that, init-repository will download other repositories, which will take longer. To shorten it, you can prevent it from downloading Qt WebKit (which is ~500MB) like this:

    @
    perl init-repository --no-webkit
    @



  • I did as you mentioned above but I'm not sure what if the cloning process done correctly (it didn't show any error message) because I saw some empty folders.

    Any way, I tried to build Qt to be sure what if it's correct or not... building process done successfully but when I tried to create Qt GUI project it gave me this error message:
    @untitled_plugin_import.o: In function _GLOBAL__sub_I_untitled_plugin_import.cpp': untitled_plugin_import.cpp:(.text.startup+0x5): undefined reference toqt_static_plugin_QXcbIntegrationPlugin()'
    collect2: error: ld returned 1 exit status
    make: *** [untitled] Error 1
    16:55:30: The process "/usr/bin/make" exited with code 2.
    Error while building/deploying project untitled (kit: Qt 5.1 static)
    When executing step 'Make'@

    Here is build configuration
    @./configure -opensource -static -release -developer-build -v -qt-sql-psql -qt-sql-mysql -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -qt-pcre -qt-xcb -nomake examples -nomake tests -no-gtkstyle -confirm-license@

    What's the problem?


  • Moderators

    Hi mbnoimi,

    Some empty folders are normal. Qt has many modules, but some are not ready for release yet (e.g. Qt Location and Qt 3D). Those will not be cloned by default by init-repository, but their folders will be created.

    Regarding your project problem, it's best to ask in a new thread with a new title. I don't have experience with static builds (I only make dynamic builds), and I don't develop on Linux (I use Windows). Other people have had issues with static builds too, so someone should be able to help you.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.