Can't find installed QT4 when using 'make .... xconfig' command



  • Hey folks, (I'm using a Mac OS X Yosemite Version 10.10.2 with the latest xcode installed)

    I'm trying to change a kernel file for an open source project using this guide -- http://arachnoid.com/android/Android-x86/ IF ANY OF YOU COULD PLEASE HELP ME FIGURE OUT WHY MY QT (qmake) CAN'T BE FOUND

    When I do the following

    $ . build/envsetup.sh
    $ export ARCH=x86
    $ lunch android_x86-eng
    $ make -C kernel O=/work/config/.config xconfig #(THIS IS WHERE THE ERROR HAPPENS)

    I get the following error (even though I installed QT4 from here: https://download.qt.io/archive/qt/4.8/4.8.5/):

    $ sudo make -C kernel O=/work/config/.config xconfig
    Password:
    GEN ./Makefile
    CHECK qt

    • Unable to find the QT4 tool qmake. Trying to use QT3
    • Unable to find any QT installation. Please make sure that
    • the QT4 or QT3 development package is correctly installed and
    • either qmake can be found or install pkg-config or set
    • the QTDIR environment variable to the correct location.

    make[2]: *** No rule to make target scripts/kconfig/.tmp_qtcheck', needed byscripts/kconfig/qconf.o'. Stop.
    make[1]: *** [xconfig] Error 2
    make: *** [sub-make] Error 2


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    That's normal, qmake is not your PATH. In the console your are using add the folder containing qmake in your PATH environment variable.

    On a side note it's Qt not QT. QT stands for Apple QuickTime.



  • Ahh I see, thank you so much SGaist. Sorry I'm so new to this, how do I add the folder containing qmake to my PATH variable? (sorry for the dublicate question I thought I deleted the other one)

    I see my qmake is in this directory:

    /Developer/Tools/Qt/qmake

    I looked at these links but not too sure:
    http://doc.qt.io/qt-4.8/qmake-variable-reference.html
    http://doc.qt.io/qt-4.8/qmake-environment-reference.html


  • Lifetime Qt Champion

    It's not qmake related it's bash configuration.

    PATH=$PATH:/Developer/Tools/Qt/
    


  • @SGaist said:

    PATH=$PATH:/Developer/Tools/Qt/

    Thank you, I'll keep looking cause I did that and re-started my computer and same error :((


  • Lifetime Qt Champion

    That line doesn't change PATH permanently, just for the current terminal until you close it.



  • Right, sorry I did that too. and this is what I got ..... hmm I installed from here https://download.qt.io/archive/qt/4.8/4.8.5/ both qt-mac-opensource-4.8.5.dmg && qt-mac-opensource-4.8.5-debug-libs.dmg

    Pavels-MacBook-Pro:android-x86 Pavel$
    Pavels-MacBook-Pro:android-x86 Pavel$
    Pavels-MacBook-Pro:android-x86 Pavel$
    Pavels-MacBook-Pro:android-x86 Pavel$ PATH=$PATH:/Developer/Tools/Qt/
    Pavels-MacBook-Pro:android-x86 Pavel$ sudo make -C kernel O=/work/config/.config xconfig
    GEN ./Makefile
    CHECK qt

    • Unable to find the QT4 tool qmake. Trying to use QT3
    • Unable to find any QT installation. Please make sure that
    • the QT4 or QT3 development package is correctly installed and
    • either qmake can be found or install pkg-config or set
    • the QTDIR environment variable to the correct location.

    make[2]: *** No rule to make target scripts/kconfig/.tmp_qtcheck', needed byscripts/kconfig/qconf.o'. Stop.
    make[1]: *** [xconfig] Error 2
    make: *** [sub-make] Error 2
    Pavels-MacBook-Pro:android-x86 Pavel$


  • Lifetime Qt Champion

    Are you sure that qmake is there ? what does ls -la /Developers/Tools/Qt return ?



  • @SGaist said:

    ls -la /Developers/Tools/Qt

    That's a good point you have. I checked and got the following below... seems like it's executable and there.

    Pavels-MacBook-Pro:Qt Pavel$ pwd
    /Developer/Tools/Qt
    Pavels-MacBook-Pro:Qt Pavel$ ls -la
    total 200
    drwxrwxr-x 27 root admin 918 Nov 8 20:16 .
    drwxrwxr-x 4 root admin 136 Nov 10 13:33 ..
    lrwxr-xr-x 1 macports wheel 40 Nov 8 20:16 Assistant.app -> /Developer/Applications/Qt/Assistant.app
    lrwxr-xr-x 1 macports wheel 39 Nov 8 20:16 Designer.app -> /Developer/Applications/Qt/Designer.app
    lrwxr-xr-x 1 macports wheel 39 Nov 8 20:16 Linguist.app -> /Developer/Applications/Qt/Linguist.app
    lrwxr-xr-x 1 macports wheel 40 Nov 8 20:16 QMLViewer.app -> /Developer/Applications/Qt/QMLViewer.app
    lrwxr-xr-x 1 macports wheel 19 Nov 8 20:16 findtr -> /usr/bin/findtr-4.8
    lrwxr-xr-x 1 macports wheel 21 Nov 8 20:16 lconvert -> /usr/bin/lconvert-4.8
    lrwxr-xr-x 1 macports wheel 21 Nov 8 20:16 lrelease -> /usr/bin/lrelease-4.8
    lrwxr-xr-x 1 macports wheel 20 Nov 8 20:16 lupdate -> /usr/bin/lupdate-4.8
    lrwxr-xr-x 1 macports wheel 24 Nov 8 20:16 macdeployqt -> /usr/bin/macdeployqt-4.8
    lrwxr-xr-x 1 macports wheel 16 Nov 8 20:16 moc -> /usr/bin/moc-4.8
    lrwxr-xr-x 1 macports wheel 40 Nov 8 20:16 pixeltool.app -> /Developer/Applications/Qt/pixeltool.app
    lrwxr-xr-x 1 macports wheel 33 Nov 8 20:16 qcollectiongenerator -> /usr/bin/qcollectiongenerator-4.8
    lrwxr-xr-x 1 macports wheel 18 Nov 8 20:16 qdbus -> /usr/bin/qdbus-4.8
    lrwxr-xr-x 1 macports wheel 25 Nov 8 20:16 qdbuscpp2xml -> /usr/bin/qdbuscpp2xml-4.8
    lrwxr-xr-x 1 macports wheel 42 Nov 8 20:16 qdbusviewer.app -> /Developer/Applications/Qt/qdbusviewer.app
    lrwxr-xr-x 1 macports wheel 25 Nov 8 20:16 qdbusxml2cpp -> /usr/bin/qdbusxml2cpp-4.8
    lrwxr-xr-x 1 macports wheel 18 Nov 8 20:16 qdoc3 -> /usr/bin/qdoc3-4.8
    lrwxr-xr-x 1 macports wheel 45 Nov 8 20:16 qhelpconverter.app -> /Developer/Applications/Qt/qhelpconverter.app
    lrwxr-xr-x 1 macports wheel 27 Nov 8 20:16 qhelpgenerator -> /usr/bin/qhelpgenerator-4.8
    lrwxr-xr-x 1 macports wheel 18 Nov 8 20:16 qmake -> /usr/bin/qmake-4.8
    lrwxr-xr-x 1 macports wheel 19 Nov 8 20:16 qt3to4 -> /usr/bin/qt3to4-4.8
    lrwxr-xr-x 1 macports wheel 16 Nov 8 20:16 rcc -> /usr/bin/rcc-4.8
    lrwxr-xr-x 1 macports wheel 16 Nov 8 20:16 uic -> /usr/bin/uic-4.8
    lrwxr-xr-x 1 macports wheel 17 Nov 8 20:16 uic3 -> /usr/bin/uic3-4.8
    lrwxr-xr-x 1 macports wheel 24 Nov 8 20:16 xmlpatterns -> /usr/bin/xmlpatterns-4.8
    Pavels-MacBook-Pro:Qt Pavel$


  • Lifetime Qt Champion

    And if you call qmake directly in the console ?



  • @SGaist

    :) seems to output (shown below) the required :/ .... The installation seemed to have went correctly. I'm doing the 'make......xconfig' command (for a linux kernel modification) in a folder on my desktop. Simply going by this guide: http://arachnoid.com/android/Android-x86/
    That's where I realized I need the Qt libraries so I installed them from the website. Is possible there is some conflict between some other systems?
    I know I can use 'make ... menue config' instead since it doesn't use Qt libraries but it is case-sensitive which sucks on a mac since you need to do modifications there too (source: http://www.linuxchix.org/content/courses/kernel_hacking/lesson2 ) so I'd prefer 'make ... xconfig'

    Pavels-MacBook-Pro:Qt Pavel$
    Pavels-MacBook-Pro:Qt Pavel$ qmake
    Usage: qmake [mode] [options] [files]

    QMake has two modes, one mode for generating project files based on
    some heuristics, and the other for generating makefiles. Normally you
    shouldn't need to specify a mode, as makefile generation is the default
    mode for qmake, but you may use this to test qmake on an existing project

    Mode:
    -project Put qmake into project file generation mode
    In this mode qmake interprets files as files to
    be built,
    defaults to *.c; *.ui; *.y; *.l; *.ts; *.xlf; *.qrc; *.h; *.hpp; *.hh; *.hxx; *.H; *.cpp; *.cc; *.cxx; *.C
    Note: The created .pro file probably will
    need to be edited. For example add the QT variable to
    specify what modules are required.
    -makefile Put qmake into makefile generation mode (default)
    In this mode qmake interprets files as project files to
    be processed, if skipped qmake will try to find a project
    file in your current working directory

    Warnings Options:
    -Wnone Turn off all warnings; specific ones may be re-enabled by
    later -W options
    -Wall Turn on all warnings
    -Wparser Turn on parser warnings
    -Wlogic Turn on logic warnings (on by default)
    -Wdeprecated Turn on deprecation warnings (on by default)

    Options:

    • You can place any variable assignment in options and it will be *
    • processed as if it was in [files]. These assignments will be parsed *
    • before [files]. *
      -o file Write output to file
      -d Increase debug level
      -t templ Overrides TEMPLATE as templ
      -tp prefix Overrides TEMPLATE so that prefix is prefixed into the value
      -help This help
      -v Version information
      -after All variable assignments after this will be
      parsed after [files]
      -norecursive Don't do a recursive search
      -recursive Do a recursive search
      -set <prop> <value> Set persistent property
      -unset <prop> Unset persistent property
      -query <prop> Query persistent property. Show all if <prop> is empty.
      -cache file Use file as cache [makefile mode only]
      -spec spec Use spec as QMAKESPEC [makefile mode only]
      -nocache Don't use a cache file [makefile mode only]
      -nodepend Don't generate dependencies [makefile mode only]
      -nomoc Don't generate moc targets [makefile mode only]
      -nopwd Don't look for files in pwd [project mode only]
      Pavels-MacBook-Pro:Qt Pavel$

  • Lifetime Qt Champion

    Just thought of something: you are trying to cross-compile a linux kernel on OS X. You should rather create a virtual machine using e.g. VirtualBox and do everything directly form Linux. That will save you time.



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