Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
2,138 Views

Qt5 on Intel Edison

I've been trying to build a yocto with Qt5 for the intel edison following this guide http://hobby.farit.ru/qt5-gui-intel-edison/ http://hobby.farit.ru/qt5-gui-intel-edison/ by Farit . I can build succefully the yocto image with Qt5, but when i try to compile the SDK (for the cross compile using qtcreator) with this command :

cd ~/iot-devkit-yp-poky-edison-20160606/poky/

source oe-init-build-env ../build_edison/

bitbake meta-toolchain-qt5

I get an error about multiple .bb files:

ERROR: Multiple .bb files are due to be built which each provide bluez-hcidump (/home/arbol/Descargas/iot-devkit-yp-poky-edison-20160606/build_edison/../poky/meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb /home/arbol/Descargas/iot-devkit-yp-poky-edison-20160606/build_edison/../poky/meta-intel-iot-devkit/recipes-connectivity/bluez5/bluez5_5.37.bb).

This usually means one provides something the other doesn't and should.

Then, i get another error about bluez4:

ERROR: Task 1580 (/home/arbol/Descargas/iot-devkit-yp-poky-edison-20160606/build_edison/../poky/meta-qt5/recipes-qt/qt5/qtdeclarative_5.3.2.bb, do_configure) failed with exit code '1'

ERROR: The recipe bluez4 is trying to install files into a shared area when those files already exist. Those files and their manifest location are:

/home/arbol/Descargas/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/sysroots/edison/pkgdata/runtime/libasound-module-bluez

Matched in manifest-edison-bluez5.packagedata

/home/arbol/Descargas/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/sysroots/edison/pkgdata/runtime/libasound-module-bluez.packaged

Matched in manifest-edison-bluez5.packagedata

/home/arbol/Descargas/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/sysroots/edison/pkgdata/runtime-reverse/libasound-module-bluez

Matched in manifest-edison-bluez5.packagedata

Please verify which recipe should provide the above files.

The build has stopped as continuing in this scenario WILL break things, if not now, possibly in the future (we've seen builds fail several months later). If the system knew how to recover from this automatically it would however there are several different scenarios which can result in this and we don't know which one this is. It may be you have switched providers of something like virtual/kernel (e.g. from linux-yocto to linux-yocto-dev), in that case you need to execute the clean task for both recipes and it will resolve this error. It may be you changed DISTRO_FEATURES from systemd to udev or vice versa. Cleaning those recipes should again resolve this error however switching DISTRO_FEATURES on an existing build directory is not supported, you should really clean out tmp and rebuild (reusing sstate should be safe). It could be the overlapping files detected are harmless in which case adding them to SSTATE_DUPWHITELIST may be the correct solution. It could also be your build is including two different conflicting versions of th...

0 Kudos
15 Replies
Highlighted
Employee
9 Views

Re: Qt5 on Intel Edison

I would recommend to try newer image from FerryT, see details in his post: /thread/115930 https://communities.intel.com/thread/115930

0 Kudos
Highlighted
Community Manager
9 Views

Re: Qt5 on Intel Edison

Hi sebaz_143,

 

 

Thanks for your interest in the Intel® Edison™ Platform.

 

 

Were you able to try Oandriy suggestion? Did it help solving your issue?

 

 

We will be waiting for your reply, have a nice day!

 

 

Best Regards,

 

-Jose P.
0 Kudos
Highlighted
New Contributor I
9 Views

Re: Qt5 on Intel Edison

Hi 0andriy,

I've been reading the wiki of the image ( https://github.com/htot/meta-intel-edison/wiki ) and i found that there are features that don't work like MRAA. I need MRAA beause I'm using it in my original code.

0 Kudos
Highlighted
Valued Contributor I
9 Views

Re: Qt5 on Intel Edison

Yes, I have just upgraded mraa to 1.7 and made the uart work. I think i2c is currently not working but spi might work, but I haven't tested either of these. As I understand, the way pinmux is controlled from user space is not available in vanilla linux. It needs to be done from the platform code in linux, through device tree or acpi tables loaded by U-Boot. You might be able to get some way to work through the platform code, with a few pointers from Andy? I'd be happy to take patches that enable i2c.

On getting qt5 to work from morty, looking from the error messages above I think there may be a configuration problem as you want qt5 build headless. So the recipe maybe needs a simple fix. I haven't tried that yet, but if I find the time I can try to get it to work.

0 Kudos
Highlighted
New Contributor I
9 Views

Re: Qt5 on Intel Edison

Right now i'm trying to remove the package bluez from Dizzy, since i'm not using bluetooth. I will build the image again and try to build the toolchain. I let you know how it works.

0 Kudos
Highlighted
New Contributor I
9 Views

Re: Qt5 on Intel Edison

I removed bluez lines from edison-image.bb file and rebuild the image successfully, but when I try to compile the SDK with bitbake meta-toolchain-qt5, I still get the same error.

0 Kudos
Highlighted
Valued Contributor I
9 Views

Re: Qt5 on Intel Edison

Please disregard my qt remark above, that was related to another qt thread.

I suspect in your case you are building both 'bluez4' and 'bluez5' causing a collision when attempting to install the packages.

0 Kudos
Highlighted
New Contributor I
9 Views

Re: Qt5 on Intel Edison

I've been trying to solve this problem with no succes. I would like to try to remove bluez package from meta-intel-iot-devkit layer or maybe try to remove this layer complety. Do you have any ideas of how to make this?

0 Kudos
Highlighted
Valued Contributor I
9 Views

Re: Qt5 on Intel Edison

In my alternative image you find reference to bluetooth and bluez5 here:

https://github.com/htot/meta-intel-edison/blob/morty/meta-intel-edison-distro/conf/distro/poky-ediso... meta-intel-edison/poky-edison.conf at morty · htot/meta-intel-edison · GitHub

https://github.com/htot/meta-intel-edison/blob/morty/meta-intel-edison-distro/recipes-core/images/ed... meta-intel-edison/edison-image.bb at morty · htot/meta-intel-edison · GitHub

https://github.com/htot/meta-intel-edison/blob/morty/meta-intel-edison-bsp/conf/machine/edison.conf meta-intel-edison/edison.conf at morty · htot/meta-intel-edison · GitHub

0 Kudos
Highlighted
New Contributor I
9 Views

Re: Qt5 on Intel Edison

How can i add meta-qt5 to your image? I don't find build_edison/conf/auto.conf and build_edison/conf/bblayers.conf to add the layer.

0 Kudos
Highlighted
Valued Contributor I
9 Views

Re: Qt5 on Intel Edison

You will find it under the 'out' directory.

It is created there by the setup script. And also removed by the setup script if you run that later.

So the permanent way is to update the setup script. Temporary way, edit the conf under the out/.

The structure I have used is the same as http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/ meta-intel-edison - Layer for the Intel Edison Development Platform which builds the official 2.1 image. I know the 3.5 image has another structure, but not sure if the setup file was changed to match. AFAIK that setup script was broken.

Highlighted
New Contributor I
9 Views

Re: Qt5 on Intel Edison

I'm updating the setup script, in the bblayers.conf file i have to add the meta-qt5 layer and i already did it in the setup script. But i have to add to the file build_edison/conf/auto.conf this:

DISTRO = "poky-edison"

MACHINE = "edison"

DISTRO_FEATURES_append = " alsa bluetooth x11"

PACKAGE_CLASSES = "package_ipk"

BB_DANGLINGAPPENDS_WARNONLY = "1"

EDISONREPO_TOP_DIR = "${TOPDIR}/../poky"

IMAGE_INSTALL_append = " tinyb"

IMAGE_INSTALL_append = " tinyb-dev"

.....

IMAGE_INSTALL_append = " qtbase qtbase-fonts \

qtbase-plugins \

qtbase-tools \

qtimageformats-plugins"

IMAGE_INSTALL_append_core2-32 = " libft4222"

IMAGE_INSTALL_append_edison = " libft4222"

.....

And I don't find where to add it in the script. Can you help me please?

0 Kudos
Highlighted
Valued Contributor I
9 Views

Re: Qt5 on Intel Edison

Same setup script.

See https://github.com/htot/meta-intel-edison/blob/morty/setup.sh meta-intel-edison/setup.sh at morty · htot/meta-intel-edison · GitHub

in line 31 is do_local_conf.

(layers are added under line 77)

0 Kudos
Highlighted
New Contributor I
9 Views

Re: Qt5 on Intel Edison

I could build QT with the original image, but i couldn't build the toolchain because what i said at the top of the post. Wtih your image i can't build QT, I've been trying with dizzy-uptodate image. This is the error that i get:

compilation terminated.

make: *** [egl.o] Error 1

EGL disabled.

Warning: Disabling Accessibility. This version of Qt is unsupported.

No QPA platform plugin enabled!

If you really want to build without a QPA platform plugin you must pass

-no-qpa-platform-guard to configure. Doing this will

produce a Qt that can not run GUI applications.

The dependencies needed for xcb to build are listed in

src/plugins/platforms/xcb/README

WARNING: exit code 1 from a shell command.

I'm using meta-qt5 for dizzy since i'm using a yocto dizzy branch.

0 Kudos
Highlighted
Valued Contributor I
9 Views

Re: Qt5 on Intel Edison

Yes, someone else reported that too. I'm not familiar with Qt so I don't know what a QPA plugin is. But I think it needs at least a framebuffer or so for that. So that is something that needs to be enabled. As far as I could tell the qt layer does not provide -no-qpa-platform-guard (that is probably a bug), so if you need that I think you need to bbappend, or patch the qt layer (and preferably send upstream).

0 Kudos