Why does QT4.8.2(Build Debug Libraries) Stop because of "No rule to make target" (QT 4.8.2 , Win XP, MinGW )



  • Hello,

    I downloaded QT 4.8.2, the latest MinGW and tried to compile the Debug-libraries. I start with QT, and I'm sad to say that I have no idea what causes the Problem of "mingw32-make: *** No rule to make target src_tools_idc-sub_Debug', needed bys
    ub-activeqt-sub_Debug'. Stop"

    Can someone plese help me?

    Thank You.

    Sebastian

    P.S.

    32-g++" -o tmp\obj\debug_shared\deps.o deps.cpp
    g++ -c -g1 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_UIC_CPP_GENERATOR -DQT_COMPAT -DQT_UIC3 -DQT_DLL -DQT_QT3SUPPORT_LIB -DQT3_
    SUPPORT -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -D
    QT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"......\incl
    ude\QtCore" -I"......\include\QtGui" -I"......\include\QtXml" -I"......\in
    clude\Qt3Support" -I"......\include" -I"..\uic" -I"..\uic\cpp" -I"..\uic" -I".
    " -I"......\include\ActiveQt" -I"tmp\moc\debug_shared" -I"......\mkspecs\win
    32-g++" -o tmp\obj\debug_shared\uic.o uic.cpp
    g++ -Wl,--no-keep-memory,--reduce-memory-overheads -Wl,-subsystem,console -mthre
    ads -o ......\bin\uic3.exe object_script.uic3.Debug -L"c:\Qt\MinGW\4_8_2\lib"
    -L"c:\Qt\MinGW\4_8_2\lib" -lQt3Supportd4 -lQtXmld4 -lQtGuid4 -lQtCored4
    mingw32-make[2]: Leaving directory C:/QT/MinGW/4_8_2/src/tools/uic3' mingw32-make[1]: Leaving directoryC:/QT/MinGW/4_8_2/src/tools/uic3'
    mingw32-make: *** No rule to make target src_tools_idc-sub_Debug', needed bys
    ub-activeqt-sub_Debug'. Stop.
    C:\QT\MinGW\4_8_2\src>


  • Moderators

    welcome to Qt

    From where did you download the Qt version?
    What are the configure command options used?
    Did you need Qt3 support since you are starting with Qt?



  • Hello,

    1. I downloaded it via the Qt website, I used the Installer.
    2. there is a Icon in the Program-startup that says "QT4.8.2 (Build Debug Libraries)", I just executed it. My guess it that it does configure the qmake automatically, anything else would not make sense, but maybe I'm wrong.
    3. I'm not sure if I need Qt3, I used Qt3 during my study a little but, a long time ago. I don't need it now, maybe later.

    Sebastian


  • Moderators

    When you have used the online from "here":http://qt-project.org/downloads the following entry:
    @Windows:
    Online installer - 15 MB
    @
    there is no need to compile more of Qt if you like to start out with as first (refreshed) steps.

    With the online installer you can install "Qt creator" as the IDE for managing the whole process. Apparently, you have already installed the MinGW compiler through the installer. You have also to install the Qt version as it comes through the installer.

    Typically you need to compile a Qt version for special compiler/OS stuff. If you like to do so, you need to download the source code a little further down on that page. There you need to start out with a configure command. However, you should be fine already with you have installed or may be you need add the pre-compiled version through the installer.



  • Hello,

    I'm a little bit confused.

    First I installed MinGW
    Then QtSdk-online-win-x86-v1_2_1.exe
    Then qt-win-opensource-4.8.2-mingw.exe

    Finally I tried to compile the Debug-information for my Platform.

    Could you tell me how to install it or send me a link.

    Thank you very much.

    Sebastian

    P.S.

    I thought I have to compile the Debug Sources on any Platform. As a embedded C Programmer I'm used to debugging through Stacks with JTAG Adapters,.... :-) so I thought it might be a good idea to have it before starting to program.


  • Moderators

    To my understanding you have a desktop windows xp and like to use Qt.
    When you start QtSdk-online-win-x86-v1_2_1.exe it will download a lot of stuff. There you can select the different components you like. As I wrote already it installs an IDE (Qt creator), the MinGW compiler and also Qt libs including source code ready to go.
    This brings you into a stage, where you can start to work with Qt.

    I had installed the Qt SDK on Win7, 64 bit. I can now start "Update Qt SDK" and reinstall or update the stuff needed. The SDK will typically also recognize the stuff already installed on your machine. In my case a couple of msvc compiled versions of Qt. However, I have installed freshly MinGW and the appropriate MinGW compiled Qt libs through this update tool. All was set.

    At the moment I am running it on my virtual machine using XP checking if there is any difference in XP. Apparently, it installs still the older Qt 4.8.1 version. Probably, you can live with that. However, since you have downloaded and installed already qt-win-opensource-4.8.2-mingw.exe, it should be recognized by the maintenance tool.

    So, you should have for MinGW at least 2 readily compiled versions of Qt (4.8.1 and 4.8.2) installed.

    For whatever reason, you may want to compile freshly your own configuration of Qt. AFAIK you should better download the sources from this "link":http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.2.zip .
    There you need to "follow this for compilation. ":http://qt-project.org/doc/qt-4.8/install-win.html

    However, once again, that is typically not required.



  • I just ran into this error too. I am downloading the Qt libraries install, not the whole SDK. I was planning on using Eclipse + Qt plugin so I didn't think the whole SDK was necessary. Is that incorrect?

    After installing Qt libraries I have the folder c:\Qt\4.8.2. Under the start menu there is a folder Qt by Nokia v4.8.2 (MinGW OpenSource). Inside there are the following: Assistant, Designer, Examples and Demos, Linguist, Qt 4.8.2 (Build Debug Libraries), Qt 4.8.2 Command Prompt, Qt Readme, qt.digia.com, Uninstall

    So that is what the OP was using (the build debug libraries). I also saw from tutorials to use that after defining relevant environment variables. Executing that eventually gave me two different errors:

    1. Maybe about 30-40 minutes in it tries to use ld.exe and throws an "out of memory" error. I got this several times until I restarted my computer and I think it's successfully passed this point.

    @g++ -Wl -subsystem,console -mthreads -o ......\bin\uic3.exe object_script.uic3.Debug -L"c:\Qt\4.8.2\lib" -L"c:\MinGW\lib" -L"c:\Qt\4.8.2\lib" -L"c:\Qt\4.8.2\lib" -lQt3Supportd4 -lQtXmld4 -lQtGuid4 -lQtCored4
    mingw32-make[2]: Leaving directory 'c:/Qt/4.8.2/src/toools/uic3'
    mingw32-make[2]: Leaving directory 'c:/Qt/4.8.2/src/toools/uic3'
    mingw32-make: *** No rule to make target 'src_tools_idc-sub_Debug', needed by 'sub-activeqt-sub_Debug'. Stop.@

    So I guess my question is how to make sure the debug version of the libraries were finished compiling. Should I instead be using the SDK and just not installing all the extra stuff? I was a bit confused because it was creating some pretty large directory structures and I felt like I wasn't figuring out how to correctly link everything together. The Qt libraries install seems much more straight forward, except for these compiler errors ;)

    Thanks!


  • Moderators

    [quote author="klox" date="1339678175"]I just ran into this error too. I am downloading the Qt libraries install, not the whole SDK. I was planning on using Eclipse + Qt plugin so I didn't think the whole SDK was necessary. Is that incorrect?[/quote]
    There is no need to install the complete SDK since you are planning to use Eclipse as IDE.

    There are a couple of things you might to dwell a bit on.

    Since you have already installed the MinGW compiled libs of version 4.8.2, why do you want to compile them?
    This makes only sense if you require different settings in compilation.

    Do really need Qt3 support?
    You would need the Qt3 support when compiling programs created with Qt version 3. This is already quite some while ago. Since Qt 5 is already in the pipe it is definitely time to get rid of the old stuff IMHO. The configure allow you to switch off Qt 3 support.

    For whatever reason you decide you need to compile, I would recommend to use the "source zip":http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.2.zip for windows. I am not sure if it is mandatory, but at least in previous release there have been quite a number of problems with recompilations based on the source delivered with SDK and the compiled libs.



  • Thanks very much. That clarifies a lot of what I've been reading. I don't need Qt3 since I'm just starting out with Qt development so I'll be sure to set those flags.

    I want to compile so that gdb works in eclipse. It cycles through some garbage each time before I see the debugger reach the code and I think it's because I haven't compiled the debug build.

    I'm going to give compiling the source a shot. One question I have remaining is also from what I've read online. I think I need to set this flag as a compiler flag, but I'm having trouble figuring that out:

    @-fno-keep-inline-dllexport@

    When I call configure do I do something like:

    @configure -no-qt3support CXXFLAGS="-fno-keep-inline-dllexport"
    @

    Thanks for your help. I'm looking forward to finally doing something productive ;)



  • Please never use the sources of the SDK or of some prebuilt binaries to recompile Qt for your own needs. Always grab a clean, vanilla source package - koahnig has pointed to the location. Recompiling the a binary source is known to fail.



  • Thanks Volker, I'll be sure to avoid doing that again in the future.

    I tried compiling from source and now have other problems. If you have some time I would appreciate your feedback on what I might be doing wrong: http://qt-project.org/forums/viewthread/18329/

    Thanks!



  • I have the same problem as QtSeppel. Downloaded Qt libraries 4.8.4 from official sources. Didn't want to mess with compiling from source but being forced to do this. The reason is that precompiled binaries are not compatible with Mingw version I have installed. I have tried three different versions of MinGW without success. The problem is described here:

    http://stackoverflow.com/questions/14685425/qapplication-segmentation-fault

    So I downloaded the official MinGw web installer and installed the actual version of it (contains gcc 4.7.2, gdb 7.5 versions beside other tools). Why should I download the source package? What the hell is the official installer about (http://releases.qt-project.org/qt4/source/qt-win-opensource-4.8.4-mingw.exe) when it is unusable? What is the purpose of "Qt 4.8.4 (Build Debug Libraries).bat" link in startup menu?? This is not a problem of package as such, because it contains source codes in form of cpp files (there are more than 6000 cpp files). Compilation have run tenths of minutes before failing so this must be some minor error in configuration I guess. Didnt want to uninstall already more than 3 GB package (with all the object files), this is not a solution.


  • Lifetime Qt Champion

    Hi and welcome to DevNet,

    The source packages are there when you have to build your own version of Qt (i.e. 64bit build or with support for openssl, mysql, etc...).

    The other packages are precompiled/ready to use when installed, you just have to add them to QtCreator and develop.



  • I added them to QT Creator, compiled binary of my application, but can't debug because of incompatibility between mingw QT was compiled and installed version of mingw for me as client developer. There are various problems like gdb crashing when starting debugging or application crashing in QCoreApplicationPrivate::processCommandLineArguments method etc as described in this post:

    http://stackoverflow.com/questions/14685425/qapplication-segmentation-fault

    Exact behaviour depends on version of mingw installed. Because of this I need to recompile QT libraries with my version of mingw. Without recompiling I can't do serious work.



  • Now I tried to compile QT libraries v. 4.8.4 with MinGW 4.7.2 directly from "source package":http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.4.zip. The same problem occuring here - circa 45 minutes after build process is started following error message appears:

    g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -fexceptions -mthreads -Wall -Wextra -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_UIC_CPP_GENERATOR -DQT_COMPAT -DQT_UIC3 -DQT_
    DLL -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"......
    include\QtCore" -I"......\include\QtGui" -I"......\include\QtXml" -I"......\include\Qt3Support" -I"......\include" -I"..\uic" -I"..\uic\cpp" -I"..\uic" -I"." -I".
    .....\include\ActiveQt" -I"tmp\moc\debug_shared" -I"......\mkspecs\win32-g++-4.6" -o tmp\obj\debug_shared\uic.o uic.cpp
    g++ -Wl,-subsystem,console -mthreads -o ......\bin\uic3.exe object_script.uic3.Debug -L"e:\Software_Programovanie\QT\unzipped\qt-everywhere-opensource-src-4.8.4\lib"
    -L"e:\Software_Programovanie\QT\unzipped\qt-everywhere-opensource-src-4.8.4\lib" -lQt3Supportd4 -lQtXmld4 -lQtGuid4 -lQtCored4
    mingw32-make[2]: Leaving directory 'e:/Software/_Programovanie/QT/unzipped/qt-everywhere-opensource-src-4.8.4/src/tools/uic3'
    mingw32-make[1]: Leaving directory 'e:/Software/_Programovanie/QT/unzipped/qt-everywhere-opensource-src-4.8.4/src/tools/uic3'
    mingw32-make: *** No rule to make target 'src_tools_idc-sub_Debug', needed by 'sub-activeqt-sub_Debug'. Stop.

    So the same problem occurs in source & precompiled package (the suggestion made by Volker on June 23, 2012 didnt help). Which is logical, because precompiled = source + binaries. I used official build script stored in bin/qtvars.bat (slightly adapted to my needs - changed paths to QT sources & platform from win32-g++ to win32-g++-4.6). Posting it here for reference:

    @@echo off
    rem
    rem This file is generated
    rem

    echo Setting up a MinGW/Qt only environment...
    echo -- QTDIR set to e:\Software_Programovanie\QT\unzipped\qt-everywhere-opensource-src-4.8.4
    echo -- PATH set to e:\Software_Programovanie\QT\unzipped\qt-everywhere-opensource-src-4.8.4\bin
    echo -- Adding e:\MinGW\bin to PATH
    echo -- Adding %SystemRoot%\System32 to PATH
    echo -- QMAKESPEC set to win32-g++-4.6

    set QTDIR=e:\Software_Programovanie\QT\unzipped\qt-everywhere-opensource-src-4.8.4
    set PATH=e:\Software_Programovanie\QT\unzipped\qt-everywhere-opensource-src-4.8.4\bin
    set PATH=%PATH%;e:\MinGW\bin
    set PATH=%PATH%;%SystemRoot%\System32
    set QMAKESPEC=win32-g++-4.6

    if not "%1"=="compile_debug" goto END
    cd %QTDIR%
    echo This will configure and compile qt in debug.
    echo The release libraries will not be recompiled.
    pause
    configure -plugin-sql-sqlite -plugin-sql-odbc -qt-libpng -qt-libjpeg
    cd %QTDIR%\src
    qmake
    mingw32-make debug
    :END
    @

    What is weird the directory src/tools/idc doesnt contain makefiles:

    !http://i46.tinypic.com/1fftib.png(idc directory listing)!

    Siblings directories like for example src/tools/moc does:

    !http://i50.tinypic.com/dwuq7n.png(moc directory listing)!


  • Lifetime Qt Champion

    Check that you don't have multiple MinGW colliding.

    The best would be to only have one MinGW installed and build everything using that one.


Log in to reply
 

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