Not sure if this is the right way to solve it but since all the recipes have there own sysroot you need to make sure that the QT_INSTALL_PREFIX is pointing to the right sysroot it should not point to the qt4-native sysroot since that might not exist especially if using rm_work. Create a qt.conf file for your recipe and and then implement a do_configure_prepand where you set the QT_INSTALL_PREFIX to point to the recipe sysroot. My ended up looking like this.
[Paths] Prefix = "@WORKDIR@/recipe-sysroot-native/" Binaries = "usr/bin" in do_configure_prepand do_configure_prepend() { sed -i -e 's,@WORKDIR@,${WORKDIR},g' ${WORKDIR}/qt.conf } This solved my problem I still couldn't figure out if the qt4-native is actually broken or if this is the way it should work now that each recipe have it's own sysroot. BR Mans Zigher 2018-02-21 16:49 GMT+01:00 Måns Zigher <mans.zig...@gmail.com>: > Shouldn't it actually point to sysroot-components? Even if the directory > would actually exists and containing the moc4 then what if the recipe is > cleared after building qt4-native it would break. Is the problem that > qt4-native is actually broken for rocko? > > BR > Mans Zigher > > 2018-02-21 15:51 GMT+01:00 Måns Zigher <mans.zig...@gmail.com>: > >> After some more investigation I realized that qmake is actually detected >> correctly the problem is that when running qmake2 -query I get the >> following results >> >> qmake2 -query >> >> QT_INSTALL_PREFIX:/home/build/tmp/work/x86_64-linux/qt4-nati >> ve/4.8.7-r0/recipe-sysroot-native/usr >> >> >> QT_INSTALL_DATA:/home/build/tmp/work/x86_64-linux/qt4-native >> /4.8.7-r0/recipe-sysroot-native/usr/share/qt4 >> >> >> QT_INSTALL_DOCS:/home/build/tmp/work/x86_64-linux/qt4-native >> /4.8.7-r0/recipe-sysroot-native/usr/share/doc/qt4 >> >> >> QT_INSTALL_HEADERS:/home/build/tmp/work/x86_64-linux/qt4-nat >> ive/4.8.7-r0/recipe-sysroot-native/usr/include/qt4 >> >> >> QT_INSTALL_LIBS:/home/build/tmp/work/x86_64-linux/qt4-native >> /4.8.7-r0/recipe-sysroot-native/usr/lib >> >> >> QT_INSTALL_BINS:/home/build/tmp/work/x86_64-linux/qt4-native >> /4.8.7-r0/recipe-sysroot-native/usr/bin >> >> >> QT_INSTALL_PLUGINS:/home/build/tmp/work/x86_64-linux/qt4-nat >> ive/4.8.7-r0/recipe-sysroot-native/usr/lib/qt4/plugins >> >> >> QT_INSTALL_IMPORTS:/home/build/tmp/work/x86_64-linux/qt4-nat >> ive/4.8.7-r0/recipe-sysroot-native/usr/lib/qt4/imports >> >> >> QT_INSTALL_TRANSLATIONS:/home/build/tmp/work/x86_64-linux/qt >> 4-native/4.8.7-r0/recipe-sysroot-native/usr/share/qt4/translations >> >> >> QT_INSTALL_CONFIGURATION:/home/build/tmp/work/x86_64-linux/q >> t4-native/4.8.7-r0/recipe-sysroot-native/etc/qt4 >> >> >> QT_INSTALL_EXAMPLES:/home/build/tmp/work/x86_64-linux/qt4-na >> tive/4.8.7-r0/recipe-sysroot-native/usr/bin/qt4/examples >> >> >> QT_INSTALL_DEMOS:/home/build/tmp/work/x86_64-linux/qt4-nativ >> e/4.8.7-r0/recipe-sysroot-native/usr/bin/qt4/demos >> >> >> QMAKE_MKSPECS:/home/build/tmp/work/x86_64-linux/qt4-native/4 >> .8.7-r0/recipe-sysroot-native/usr/share/qt4/mkspecs >> >> >> QMAKE_VERSION:2.01a >> QT_VERSION:4.8.7 >> >> QT_INSTALL_BINS:/home/build/tmp/work/x86_64-linux/qt4-native >> /4.8.7-r0/recipe-sysroot-native/usr/bin is a directory that is none >> existing. >> >> BR >> Mans Zigher >> >> >> 2018-02-21 13:13 GMT+01:00 Måns Zigher <mans.zig...@gmail.com>: >> >>> When running devshell I can verify that echo $PATH includes the >>> recipe-sysroot-native dir and if I run "whereis qmake2" the >>> recipe-sysroot-native dir appears. So the question remains why is CMake not >>> detecting the binaries? >>> >>> BR >>> Mans Zigher >>> >>> 2018-02-21 13:02 GMT+01:00 Måns Zigher <mans.zig...@gmail.com>: >>> >>>> Hi, >>>> >>>> I am trying to build a native QT application that is required when >>>> generating the image. The recipe is depending on qt4-native and i am using >>>> poky version rocko. The application is using CMake which is producing the >>>> following error >>>> >>>> | -- Looking for Q_WS_MAC - not found >>>> | CMake Error at recipe-sysroot-native/usr/shar >>>> e/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 >>>> (message): >>>> | Could NOT find Qt4 (missing: QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE >>>> | QT_UIC_EXECUTABLE) (found version "4.8.7") >>>> | Call Stack (most recent call first): >>>> | >>>> recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 >>>> (_FPHSA_FAILURE_MESSAGE) >>>> | recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindQt4.cmake:1326 >>>> (FIND_PACKAGE_HANDLE_STANDARD_ARGS) >>>> | CMakeLists.txt:5 (find_package) >>>> >>>> When using jethro the recipe works fine. If I search for qmake2 in the >>>> build directory we get the following hits >>>> >>>> ./tmp/sysroots-components/x86_64/qt4-native/usr/bin/qmake2 >>>> ./tmp/work/x86_64-linux/my-qt-application/0.1-r0/recipe-sysr >>>> oot-native/usr/bin/qmake2 >>>> ./tmp/work/x86_64-linux/qt4-native/4.8.7-r0/sysroot-destdir/ >>>> home/build/tmp/work/x86_64-linux/qt4-native/4.8.7-r0/recipe- >>>> sysroot-native/usr/bin/qmake2 >>>> >>>> I would think that CMake should find qmake2 in the >>>> recipe-sysroot-native dir. Any help would be appreciated. How can I point >>>> CMake in the direction so it finds the qt tools. >>>> >>>> BR >>>> Måns Zigher >>>> >>>> >>> >> > -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel