All of lore.kernel.org
 help / color / mirror / Atom feed
* wrong distro name in toolchain
@ 2017-12-18 11:11 Marek Słomiany
  2017-12-18 22:30 ` Mirza Krak
  0 siblings, 1 reply; 4+ messages in thread
From: Marek Słomiany @ 2017-12-18 11:11 UTC (permalink / raw)
  To: yocto

[-- Attachment #1: Type: text/plain, Size: 3953 bytes --]

Hi, I'm having problem while building Qt application inside of yocto and
using generated SDK.
I have bypassed it when using generated SDK, which I describe here.

My setup in short:
I'm using for Qt this layer git://github.com/meta-qt5/meta-qt5.git in rocko
branch
beside Qt, other layers that might be important:
meta-poky (rocko)
meta-oe (morty)
meta-python (morty)
meta-networking (morty)
meta-ti (morty)

The platform is am335x
distro name is "etos"

I had some problems with sdk (at first I added Qt to my build but
applications were developped and build by my coleagues using external
toolchains).
Recently I've added recipes for those apps to my layer.
To test if code I got from my team is building fine, I have generated SDK
using "bitbake <image-name> -c populate_sdk" and deployed it in default
path which is /opt/etos/1.0/. When I have sourced it and tried to configure
I got:

  CMake Error at
/opt/etos/1.0/sysroots/armv7ahf-neon-etos-linux-gnueabi/usr/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:32
(message):
  The imported target "Qt5::Core" references the file

 "/opt/etos/1.0/sysroots/armv7ahf-neon-etos-linux-gnueabi/../x86_64-oesdk-linux/usr/bin/qt5/qmake"
  but this file does not exist.  Possible reasons include:
  * The file was deleted, renamed, or moved to another location.
  * An install or uninstall procedure did not complete successfully.
  * The installation package was faulty and contained

 "/opt/etos/1.0/sysroots/armv7ahf-neon-etos-linux-gnueabi/usr/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"
  but not all the files it references.

To solve that problem I coppied the
/opt/etos/1.0/sysroots/x86_64-etossdk-linux/ to
/opt/etos/1.0/sysroots/x86_64-oesdk-linux/ with all its content.
Even if that's not the right solution, it worked.
But now I wat to add the recipe to my image. I get something similar:

Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function do_configure
| CMake Error at
/home/mslomiany/linux-dev/poky/build/tmp/sysroots/x86_64-linux/usr/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:20
(message):
|   The imported target "Qt5::Core" references the file
|      "/../x86_64-oesdk-linux/usr/bin/qt5/qmake"
|   but this file does not exist.  Possible reasons include:
|   * The file was deleted, renamed, or moved to another location.
|   * An install or uninstall procedure did not complete successfully.
|   * The installation package was faulty and contained
|
 "/home/mslomiany/linux-dev/poky/build/tmp/sysroots/x86_64-linux/usr/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"
|   but not all the files it references.
|
| Call Stack (most recent call first):
|
/home/mslomiany/linux-dev/poky/build/tmp/sysroots/x86_64-linux/usr/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake:6
(_qt5_Core_check_file_exists)
|
/home/mslomiany/linux-dev/poky/build/tmp/sysroots/x86_64-linux/usr/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:177
(include)
|
/home/mslomiany/linux-dev/poky/build/tmp/sysroots/x86_64-linux/usr/lib/cmake/Qt5/Qt5Config.cmake:33
(find_package)
|   deps/CMake/Qt.cmake:23 (find_package)
|   deps/GuiCore/src/CMakeLists.txt:3 (include)
|
| -- Configuring incomplete, errors occurred!
| See also
"/home/mslomiany/linux-dev/poky/build/tmp/work/armv7ahf-neon-etos-linux-gnueabi/Gui/0.1-r0/build/CMakeFiles/CMakeOutput.log".
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at
/home/mslomiany/linux-dev/poky/build/tmp/work/armv7ahf-neon-etos-linux-gnueabi/Gui/0.1-r0/temp/log.do_configure.11780)

It seems like my aproach is not making any difference. I might be trying to
copy wrong directories in ./build/tmp subdirectories.
Can you tell me if all those problems are caused by my mistake or is it
something wrong in yocto/openembedded scripts?

Kind Regards,
Marek

[-- Attachment #2: Type: text/html, Size: 4795 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: wrong distro name in toolchain
  2017-12-18 11:11 wrong distro name in toolchain Marek Słomiany
@ 2017-12-18 22:30 ` Mirza Krak
  2017-12-19  9:42   ` Marek Słomiany
  0 siblings, 1 reply; 4+ messages in thread
From: Mirza Krak @ 2017-12-18 22:30 UTC (permalink / raw)
  To: Marek Słomiany; +Cc: yocto

2017-12-18 12:11 GMT+01:00 Marek Słomiany <marekslomiany@gmail.com>:
> Hi, I'm having problem while building Qt application inside of yocto and
> using generated SDK.
> I have bypassed it when using generated SDK, which I describe here.
>
> My setup in short:
> I'm using for Qt this layer git://github.com/meta-qt5/meta-qt5.git in rocko
> branch
> beside Qt, other layers that might be important:
> meta-poky (rocko)
> meta-oe (morty)
> meta-python (morty)
> meta-networking (morty)
> meta-ti (morty)

First of, why are you mixing branches here? You should use the same
branch on all the layer for better chances for it to work
out-of-the-box. There have been a lot of changes to the "core" from
morty to rocko and trying to mix them probably raises some "extra"
problems that you would not normally get.

>
> The platform is am335x
> distro name is "etos"
>
> I had some problems with sdk (at first I added Qt to my build but
> applications were developped and build by my coleagues using external
> toolchains).
> Recently I've added recipes for those apps to my layer.
> To test if code I got from my team is building fine, I have generated SDK
> using "bitbake <image-name> -c populate_sdk" and deployed it in default path
> which is /opt/etos/1.0/. When I have sourced it and tried to configure I
> got:

What image did you build when you generated the SDK?

meta-qt5 seems to provide a recipe for a toolchain containing all the
Qt stuff including qmake [1].  Try that out if you haven't already by
simply running:

   bitbake meta-toolchain-qt5

[1]. https://github.com/meta-qt5/meta-qt5/blob/master/recipes-qt/meta/meta-toolchain-qt5.bb

-- 
Med Vänliga Hälsningar / Best Regards

Mirza Krak


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: wrong distro name in toolchain
  2017-12-18 22:30 ` Mirza Krak
@ 2017-12-19  9:42   ` Marek Słomiany
  2017-12-19 10:31     ` Mirza Krak
  0 siblings, 1 reply; 4+ messages in thread
From: Marek Słomiany @ 2017-12-19  9:42 UTC (permalink / raw)
  To: Mirza Krak; +Cc: yocto

[-- Attachment #1: Type: text/plain, Size: 4309 bytes --]

About mixing branches - I have recreated the problem on new location to
check that the problem persist. Here is new setup:
BB_VERSION           = "1.36.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "am335x-evm"
DISTRO               = "poky"
DISTRO_VERSION       = "2.4.1"
TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard"
TARGET_FPU           = "hard"
meta                 = "rocko:abec40e5ebc6f1b804cf698e365737224a57c41d"
meta-oe              = "rocko:6e3fc5b8d904d06e3aa77e9ec9968ab37a798188"
meta-et              = "rocko:abec40e5ebc6f1b804cf698e365737224a57c41d"
meta-ti              = "master:8fcd2f60720acf46555b45a1a48ad1fa0c52b75a"
meta-qt5             = "rocko:d87335a50a9dd35d890786edbd79b8953fdaa11a"
meta-poky
meta-yocto-bsp       = "rocko:abec40e5ebc6f1b804cf698e365737224a57c41d"

meta-poky is in rocko too - I don't know why it didn't show but I have
double checked it.
meta-ti does'nt have rocko, so it is in master.

This time, as I am using poky, after deploying and sourcing sdk I had to
copy ./sysroots/x86_64-pokysdk-linux/ to ./sysroots/x86_64-oesdk-linux/ so
it's basicly the same and it doesn't make difference if I build it with
"bitbake <image> -c populate_sdk" or "bitbake meta-toolchain-qt5" - result
is the same (not counting that second option doesn't give me additional
libs from my image).
Recipe with our own applications has same issue as on my previous setup.
As I have written - the problem is not in generated sdk that I use for
out-of-yocto build, but it is when I build my code within yocto with recipe
and image.
To answer your question about image - on my setup I have my own image
recipe, now on this test setup i used core-image-minimal with additional qt
packages added via local.conf file.

To sum up: There are two problems: first is when using generated sdk - the
problem is that in sdk subdirectories there is x86_64-pokysdk-linux, but
cmake is looking for x86_64-oesdk-linux. This can by bypassed copying
*pokysdk* to *oesdk*.
second problem is when building from recipe - it looks similar, but I can't
find proper directories to try out solution which I just described in first
problem.

I hope it is now clearer what my problem is.

Regards,
Marek

pon., 18 gru 2017 o 23:30 użytkownik Mirza Krak <mirza.krak@gmail.com>
napisał:

> 2017-12-18 12:11 GMT+01:00 Marek Słomiany <marekslomiany@gmail.com>:
> > Hi, I'm having problem while building Qt application inside of yocto and
> > using generated SDK.
> > I have bypassed it when using generated SDK, which I describe here.
> >
> > My setup in short:
> > I'm using for Qt this layer git://github.com/meta-qt5/meta-qt5.git in
> rocko
> > branch
> > beside Qt, other layers that might be important:
> > meta-poky (rocko)
> > meta-oe (morty)
> > meta-python (morty)
> > meta-networking (morty)
> > meta-ti (morty)
>
> First of, why are you mixing branches here? You should use the same
> branch on all the layer for better chances for it to work
> out-of-the-box. There have been a lot of changes to the "core" from
> morty to rocko and trying to mix them probably raises some "extra"
> problems that you would not normally get.
>
> >
> > The platform is am335x
> > distro name is "etos"
> >
> > I had some problems with sdk (at first I added Qt to my build but
> > applications were developped and build by my coleagues using external
> > toolchains).
> > Recently I've added recipes for those apps to my layer.
> > To test if code I got from my team is building fine, I have generated SDK
> > using "bitbake <image-name> -c populate_sdk" and deployed it in default
> path
> > which is /opt/etos/1.0/. When I have sourced it and tried to configure I
> > got:
>
> What image did you build when you generated the SDK?
>
> meta-qt5 seems to provide a recipe for a toolchain containing all the
> Qt stuff including qmake [1].  Try that out if you haven't already by
> simply running:
>
>    bitbake meta-toolchain-qt5
>
> [1].
> https://github.com/meta-qt5/meta-qt5/blob/master/recipes-qt/meta/meta-toolchain-qt5.bb
>
> --
> Med Vänliga Hälsningar / Best Regards
>
> Mirza Krak
>

[-- Attachment #2: Type: text/html, Size: 5677 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: wrong distro name in toolchain
  2017-12-19  9:42   ` Marek Słomiany
@ 2017-12-19 10:31     ` Mirza Krak
  0 siblings, 0 replies; 4+ messages in thread
From: Mirza Krak @ 2017-12-19 10:31 UTC (permalink / raw)
  To: Marek Słomiany; +Cc: yocto

2017-12-19 10:42 GMT+01:00 Marek Słomiany <marekslomiany@gmail.com>:
> About mixing branches - I have recreated the problem on new location to
> check that the problem persist. Here is new setup:
> BB_VERSION           = "1.36.0"
> BUILD_SYS            = "x86_64-linux"
> NATIVELSBSTRING      = "universal"
> TARGET_SYS           = "arm-poky-linux-gnueabi"
> MACHINE              = "am335x-evm"
> DISTRO               = "poky"
> DISTRO_VERSION       = "2.4.1"
> TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard"
> TARGET_FPU           = "hard"
> meta                 = "rocko:abec40e5ebc6f1b804cf698e365737224a57c41d"
> meta-oe              = "rocko:6e3fc5b8d904d06e3aa77e9ec9968ab37a798188"
> meta-et              = "rocko:abec40e5ebc6f1b804cf698e365737224a57c41d"
> meta-ti              = "master:8fcd2f60720acf46555b45a1a48ad1fa0c52b75a"
> meta-qt5             = "rocko:d87335a50a9dd35d890786edbd79b8953fdaa11a"
> meta-poky
> meta-yocto-bsp       = "rocko:abec40e5ebc6f1b804cf698e365737224a57c41d"
>
> meta-poky is in rocko too - I don't know why it didn't show but I have
> double checked it.
> meta-ti does'nt have rocko, so it is in master.
>
> This time, as I am using poky, after deploying and sourcing sdk I had to
> copy ./sysroots/x86_64-pokysdk-linux/ to ./sysroots/x86_64-oesdk-linux/ so
> it's basicly the same and it doesn't make difference if I build it with
> "bitbake <image> -c populate_sdk" or "bitbake meta-toolchain-qt5" - result
> is the same (not counting that second option doesn't give me additional libs
> from my image).
> Recipe with our own applications has same issue as on my previous setup.
> As I have written - the problem is not in generated sdk that I use for
> out-of-yocto build, but it is when I build my code within yocto with recipe
> and image.
> To answer your question about image - on my setup I have my own image
> recipe, now on this test setup i used core-image-minimal with additional qt
> packages added via local.conf file.
>
> To sum up: There are two problems: first is when using generated sdk - the
> problem is that in sdk subdirectories there is x86_64-pokysdk-linux, but
> cmake is looking for x86_64-oesdk-linux. This can by bypassed copying
> *pokysdk* to *oesdk*.
> second problem is when building from recipe - it looks similar, but I can't
> find proper directories to try out solution which I just described in first
> problem.
>
> I hope it is now clearer what my problem is.

Very much so :).

Can you build other Qt applications without error, e.g "bitbake quitbattery".

If above works then you probably have some hardcoded path in your
cmake files of your custom application.

You could also "hack" the SDK name by adjusting the

     SDK_VENDOR

variable, but I believe that there are some assumptions somewhere that
have a hard-coded name of "oesdk" which is wrong to make such
assumptions.

-- 
Med Vänliga Hälsningar / Best Regards

Mirza Krak


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-12-19 10:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-18 11:11 wrong distro name in toolchain Marek Słomiany
2017-12-18 22:30 ` Mirza Krak
2017-12-19  9:42   ` Marek Słomiany
2017-12-19 10:31     ` Mirza Krak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.