Re: [yocto] Web frameworks on embedded linux
On czw, 2014-11-13 at 23:12 -0800, Edward Wingate wrote: I've been trying to get an existing python flask application running on an embedded linux distro (Poky). The web app was originally deployed on a Debian distro. I need to move the application to a less heftier board and wanted to try a distro created by Yocto, rather than try to pare down Debian. I've been following the chain of dependencies for the web application and adding them to Yocto to try and get the app to work (nginx, uwsgi, python, pyserial, etc.), and hit a bump - Python's built-in logging and codecs modules are not provided by Yocto. Maybe I can add them myself, or maybe I'll rip them out of the application, but I wanted to take a step back and see if maybe Python/Flask is not the best app framework to use in an embedded linux distro. Have you installed python-modules pacakge? This package pulls in all standard python modules as dependencies. I've used Tornado to provide a REST-ful API for an Android application and some basic web pages with status information and so on. Worked quite well. -- Maciej Borzęcki Senior Software Developer at Open-RnD Sp. z o.o., Poland www.open-rnd.pl mobile: +48 889 117 365, fax: +48 42 657 9079 Niniejsza wiadomość wraz z załącznikami może zawierać chronione prawem lub poufne informacje i została wysłana wyłącznie do wiadomości i użytku osób, do których została zaadresowana. Jeśli wiadomość została otrzymana przypadkowo zabrania się jej kopiowania lub rozsyłania do osób trzecich. W takim przypadku uprasza się o natychmiastowe zniszczenie wiadomości oraz poinformowanie nadawcy o zaistniałej sytuacji za pomocą wiadomości zwrotnej. Dziękujemy. This message, including any attachments hereto, may contain privileged or confidential information and is sent solely for the attention and use of the intended addressee(s). If you are not an intended addressee, you may neither use this message nor copy or deliver it to anyone. In such case, you should immediately destroy this message and kindly notify the sender by reply email. Thank you. -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Sato image touchscreen calibration is borked
On Thu, Nov 13, 2014 at 5:05 PM, Burton, Ross ross.bur...@intel.com wrote: On 13 November 2014 17:58, Michael Gloff mgl...@emacinc.com wrote: BTW, you can use tslib with xorg. This is what I have set up as I find ts_calibrate easier to work with. The only mention of e.g. ts_read() that I can see in the xserver source is in the kdrive server. Is there some compatibility mode or something that I'm unaware of? Ross Ross, I am using the xf86-input-tslib X driver. I forgot about that piece of the puzzle. And the following in xorg.conf Section ServerLayout InputDeviceTouchScreen0 CorePointer Identifier X.org Configured Screen 0 Screen0 0 0 EndSection : : Section InputDevice Identifier TouchScreen0 Driver tslib Option Device /dev/input/touchscreen0 Option CorePointer on Option SendCoreEvents on Option Protocol Auto Option ScreenNo 0 EndSection I've also found that I need to comment out the touchschreen section of 10-evdev.conf as it tries to interfere. That 'should' work, although I haven't tried on any standard build. Michael Gloff -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] recipe fails to load local files
Based on your suggestion Bryan, and referring to Section 10 -Glossary of the ref-manual regarding FILES, I have changed the recipe as follows: __ DESCRIPTION = Belkin Wifi Firmware PR = 1.5 LICENSE = CLOSED FILES_${PN} += ~/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware SRC_URI = file://zd1211_ub file://zd1211_uph file://zd1211_uphm file://zd1211_uphr file://zd1211_ur do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } ___ I had not seen a reference to the FILES parameter previously. However, this still does not work. Refering to : http://www.embeddedlinux.org.cn/OEManual/recipes_examples.html I run the follwoing command from my build directory: $ bitbake -b meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware_1.5.bb and I get the following error: ___ ERROR: QA Issue: zd1211-firmware: Files/directories were installed but not shipped /lib /lib/firmware /lib/firmware/zd1211 /lib/firmware/zd1211/zd1211_uphr /lib/firmware/zd1211/zd1211_ub /lib/firmware/zd1211/zd1211_uphm /lib/firmware/zd1211/zd1211_ur /lib/firmware/zd1211/zd1211_uph ERROR: QA run found fatal errors. Please consider fixing them. ERROR: Function failed: do_package_qa ERROR: Logfile of failure stored in: /home/lachlan/poky/build-atmel/tmp/work/cortexa5t2hf-vfp-poky-linux-gnueabi/zd1211-firmware/1.5-1.5/temp/log.do_package.3991 ERROR: Task 10 (/home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware_1.5.bb, do_package) failed with exit code '1' NOTE: Tasks Summary: Attempted 9 tasks of which 6 didn't need to be rerun and 1 failed. No currently running tasks (9 of 12) Summary: 1 task failed: /home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware_15.bb, do_package __ Note that i also had to address the LICENSE reference as I was getting LICENSE_CHCKSUM errors Also note that when I try to build the full image, there is no error but the files are not present. In my build directory configuration file I have the reference to my recipe layer: /home/lachlan/poky/meta-atmel-lsp but although other recipes in this directory are working fine, this recipe seems to be overlooked. I know that the full image build sees the recipe because if I comment out the LICENSE reference, the full image build indicates an error in this regard. Thanks for any help Lachlan - Original Message - From: Bryan Evenson To:peterengcomau...@adam.com.au , yocto@yoctoproject.org Cc: Sent:Thu, 13 Nov 2014 17:03:07 + Subject:RE: [yocto] recipe fails to load local files Lachlan, If that is your entire recipe, I don’t see any FILES specification: http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#var-FILES [1]. The SRC_URI just says where to get the source, but the FILES states which files are expected to be added to the package. I believe the FILES variable is auto-populated by a compiled package, which is why you may not see the FILES variable in every recipe. But in your case in which you don’t compile the code but are just installing files on disk, you need to fill out the FILES variable. Regards, Bryan FROM: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] ON BEHALF OF peterengcomau...@adam.com.au SENT: Thursday, November 13, 2014 10:21 AM TO: yocto@yoctoproject.org SUBJECT: [yocto] recipe fails to load local files I am using yocto 1.6.1 and I have a a number of recipes in ~/home/poky/meta-atmel-lsp/recipes-lsp. I have a lightpdbbappend that loads local files, I have a wpa-supplicant.bbappend that loads local files, but I am also trying to load some firmware that should load local files but fails. In ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/ I have the recipe zd1211-firmware_1.55.bb as follows: ___ SUMMARY = Belkin Wifi Firmware LICENSE = GPL SRC_URI = file://zd1211_ub file://zd1211_uph file://zd1211_uphm file://zd1211_uphr file://zd1211_ur do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0755 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/ } _ I sourced these files but not the recipe from: http://sourceforge.net/projects/zd1211/ [2] The files indicated in the recipe are in : ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-firmware/ When I create the image, no directory is created as /lib/firmware/zd1211 and also no files are loaded into it. I have also tried {THISDIR} instead of using {WORKDIR} I also tried specifying a specific file rather than using the wild card I have also tried using
Re: [yocto] Luajit Compile Error
Good day Li, Maybe the answer is in this site: http://luajit.org/install.html. Please refer to Cross Compiling LuaJIT. Thanks, - J On Wed, Oct 29, 2014 at 5:01 PM, Li, Xin lixin.f...@cn.fujitsu.com wrote: Hi, I include luajit package from the meta-embedded and compile it. My build system is CentOS(64 bit). when I compile for the target(64 bit),It is OK,with no errors. But when I compile for the target(32 bit),it has the following errors. If you know the solution, please help me! Thank youBest regards Li Xin -- $ cat tmp/work/i586-poky-linux/luajit/2.0.3-r0/temp/log.do_compile DEBUG: Executing shell function do_compile NOTE: make -j 10 CROSS=i586-poky-linux- TARGET_CFLAGS= --sysroot=/yocto/work001/fnst/lixin/poky/build.x86/tmp/sysroots/qemux86 -m32 -march=i586 TARGET_LDFLAGS= --sysroot=/yocto/work001/fnst/lixin/poky/build.x86/tmp/sysroots/qemux86 TARGET_SHLDFLAGS= --sysroot=/yocto/work001/fnst/lixin/poky/build.x86/tmp/sysroots/qemux86 HOST_CC=gcc -m32 Building LuaJIT 2.0.3 make -C src make[1]: Entering directory `/yocto/work001/fnst/lixin/poky/build.x86/tmp/work/i586-poky-linux/luajit/2.0.3-r0/LuaJIT-2.0.3/src' BUILDVM lj_vm.s Error: pointer size mismatch in cross-build. BUILDVM lj_ffdef.h Try: make HOST_CC=gcc -m32 CROSS=... BUILDVM lj_bcdef.h make[1]: *** [lj_vm.s] Error 1 make[1]: *** Waiting for unfinished jobsError: pointer size mismatch in cross-build. Try: make HOST_CC=gcc -m32 CROSS=... make[1]: *** [lj_ffdef.h] Error 1 Error: pointer size mismatch in cross-build. Try: make HOST_CC=gcc -m32 CROSS=... make[1]: *** [lj_bcdef.h] Error 1 make[1]: Leaving directory `/yocto/work001/fnst/lixin/poky/build.x86/tmp/work/i586-poky-linux/luajit/2.0.3-r0/LuaJIT-2.0.3/src' make: *** [default] Error 2 ERROR: oe_runmake failed -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] Referencing sysroot libraries during build?
Hello, I have a build problem which is caused by libraries not being found. It's a recipe to build the U-Boot bot loader which includes running the mkimage tool generated during this build. This fails as follows: ... | LD u-boot | OBJCOPY u-boot.bin | MKIMAGE u-boot.img | /opt/eldk/build/eldk-rel-v5.6-2014-08-17-fe344de-mcvevk/tmp/work/mcvevk-linux-gnueabi/u-boot/v2014.10+gitAUTOINC+c43fd23cf6-r0/git/tools/mkimage: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory | make: *** [u-boot.img] Error 127 I verified that the LD_LIBRARY_PATH variable is not set when these commands are run, which explains the problem: - ldd /opt/eldk/build/eldk-rel-v5.6-2014-08-17-fe344de-mcvevk/tmp/work/mcvevk-linux-gnueabi/u-boot/v2014.10+gitAUTOINC+c43fd23cf6-r0/git/tools/mkimage linux-vdso.so.1 = (0x7fff6a7fe000) libssl.so.1.0.0 = not found libcrypto.so.1.0.0 = not found libc.so.6 = /lib64/libc.so.6 (0x00339600) /lib64/ld-linux-x86-64.so.2 (0x003395c0) The reason is that this system uses a different version of these libraries: - ls -l /lib64/libssl.so.1* /lib64/libcrypto.so.1* -rwxr-xr-x 1 root root 1972736 Aug 8 13:48 /lib64/libcrypto.so.1.0.1e lrwxrwxrwx 1 root root 19 Sep 2 23:49 /lib64/libcrypto.so.10 - libcrypto.so.1.0.1e -rwxr-xr-x 1 root root 446040 Aug 8 13:48 /lib64/libssl.so.1.0.1e lrwxrwxrwx 1 root root 16 Sep 2 23:49 /lib64/libssl.so.10 - libssl.so.1.0.1e So the host system is using one version of these libraries, while the build is done against a different version. I can work around this problem by adding the build's sysroot libraries to LD_LIBRARY_PATH, like that: do_compile_prepend () { export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${STAGING_LIBDIR_NATIVE}:${STAGING_LIBDIR_NATIVE}/../../lib } But this looks wrong to me - if this was needed, should it not be done on a much higer level, at some central point so that all tools run during the build will automatically pick up the matching libraries from sysroot? Or is this some problem anywhere else in my own code? Thanks in advance. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de If I had to live my life again, I'd make the same mistakes, only sooner. -- Tallulah Bankhead -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Hob and Toaster Languages.
On 13/11/2014 23:49, John Unland opensourcejohn2...@gmail.com wrote: Almost forgot, what about the interface for Hob. I'm thinking GTK+, am I correct? Yes: GTK 2.x using PyGtk (if I got this wrong, please someone correct me). Cheers Belén Belén Thanks, John On Wed, Nov 12, 2014 at 5:36 PM, John Unland opensourcejohn2...@gmail.com wrote: Thank you. Regards, John On Wed, Nov 12, 2014 at 5:35 PM, Rudolf Streif rudolf.str...@gmail.com wrote: Hi John, Both are written in Python. Toaster is built on the Django Python web framework (https://www.djangoproject.com/). Cheers, Rudi On Wed, Nov 12, 2014 at 1:18 PM, John Unland opensourcejohn2...@gmail.com wrote: What is Hob and Toaster written in? Figured I would like to contribute maybe a deployment tool when you have created a image (I know there is the deployment tool for Hob but it only works for .iso and .hddimg FS) Thanks, John -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto -- Rudolf J. Streif -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Sato image touchscreen calibration is borked
On 14 November 2014 08:17, Michael Gloff mgl...@emacinc.com wrote: I am using the xf86-input-tslib X driver. I forgot about that piece of the puzzle. Genuinely surprised that still works, but good to know! Ross -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] icecc
Try to use INHERIT_DISTRO_append. On Fri, Nov 14, 2014 at 05:10:56PM +0800, Joseph Andrew de la Peña wrote: Good day Peter, Maybe you want to verify first the prioritization of the layers in your set-up. Please execute bitbake-layers show-layers to really see if meta-yocto is really executed after your layer (meta-mydist) If you verified that it is, please add in your conf/layer.conf, BBFILE_PRIORITY_mydist = any number after meta-yocto. Maybe that will work for you. Thanks, -J On Tue, Oct 28, 2014 at 8:12 PM, Peter Bergin peter.ber...@tritech.se wrote: Hi, I am trying to get icecc working together with Poky (daisy branch). I follow the Yocto Project Reference Manual chapter 7.45. icecc.bbclass and I can not get it working. The manual states that I on a distribution level can add the following: INHERIT_DISTRO += icecc ICECC_DISABLED ??= 1 This will make sure my builders use the same sstate signatures regardless if they use icecc or not. The way I did it to test was to create my own distro layer, called mydist, that inherits from Poky. $ cat ../meta-mydist/conf/distro/mydist.conf require conf/distro/poky.conf DISTRO = mydist DISTRO_NAME = MyDist INHERIT_DISTRO += icecc ICECC_DISABLED ??= 1 In my bblayers.conf I added this layer directly after the meta-yocto layer. But with this addition my build environment will not work anymore. What happens is that the variable INHERIT_DISTRO is overwritten because my layer is picked before the poky/meta/conf/distro/defaultsetup.conf. I get the same behaviour if i edit the poky.conf and not use my own distro. $ bitbake core-image-base -e ... # # $INHERIT_DISTRO [3 operations] # append /work/yocto/course/meta-mydist/conf/distro/mydist.conf:6 # icecc # set? /work/yocto/course/poky/meta/conf/distro/defaultsetup.conf:22 # debian devshell sstate license # set /work/yocto/course/poky/meta/conf/documentation.conf:226 # [doc] Lists classes that will be inherited at the distribution level. It is unlikely that you want to edit this variable. # computed: #icecc INHERIT_DISTRO= icecc # ... What is wrong here, documentation or my setup? Can someone give me advice? Regards, /Peter Peter Bergin peter.ber...@tritech.se +46 733 35 21 05 www.tritech.se +46 31 763 38 00 Nordstadstorget 6 SE-411 05 G?teborg, Sweden -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] recipe fails to load local files
Lachlan, I have some recipe changes inline below. -Original Message- From: peterengcomau...@adam.com.au [mailto:peterengcomau...@adam.com.au] Sent: Friday, November 14, 2014 3:37 AM To: Bryan Evenson; peterengcomau...@adam.com.au; yocto@yoctoproject.org Subject: RE: [yocto] recipe fails to load local files Based on your suggestion Bryan, and referring to Section 10 -Glossary of the ref-manual regarding FILES, I have changed the recipe as follows: __ DESCRIPTION = Belkin Wifi Firmware PR = 1.5 PR is not the firmware version, it’s the recipe version. Start with r0. After making this change do a bitbake -c cleanall zd1211-firmware to remove the old packages as you would be going backwards for the package. LICENSE = CLOSED FILES_${PN} += ~/poky/meta-atmel-lsp/recipes-lsp/zd1211- firmware/zd1211-firmware FILES doesn't specify where to find the files on the build machine, it specifies where the installed files exist on the target filesystem. This is what the error you are seeing is telling you; the files were installed in the do_install step but they did not get placed in the final package. In your case I believe: FILES_${PN} += ${libdir}/zd1211_* would work. SRC_URI = \ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_*${D}/lib/firmware/zd1211/ } As mentioned in the FILES variable description in the Yocto manual, you should use the standard path variables whenever possible. The list of available path variables are near the top of meta/conf/bitbake.conf. That means in your case the following would be better: do_install() { install -d ${D}/${libdir}/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_*${D}/${libdir}/firmware/zd1211/ Regards, Bryan __ _ I had not seen a reference to the FILES parameter previously. However, this still does not work. Refering to : http://www.embeddedlinux.org.cn/OEManual/recipes_examples.html I run the follwoing command from my build directory: $ bitbake -b meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211- firmware_1.5.bb and I get the following error: ___ ERROR: QA Issue: zd1211-firmware: Files/directories were installed but not shipped /lib /lib/firmware /lib/firmware/zd1211 /lib/firmware/zd1211/zd1211_uphr /lib/firmware/zd1211/zd1211_ub /lib/firmware/zd1211/zd1211_uphm /lib/firmware/zd1211/zd1211_ur /lib/firmware/zd1211/zd1211_uph ERROR: QA run found fatal errors. Please consider fixing them. ERROR: Function failed: do_package_qa ERROR: Logfile of failure stored in: /home/lachlan/poky/build- atmel/tmp/work/cortexa5t2hf-vfp-poky-linux-gnueabi/zd1211- firmware/1.5-1.5/temp/log.do_package.3991 ERROR: Task 10 (/home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211- firmware/zd1211-firmware_1.5.bb, do_package) failed with exit code '1' NOTE: Tasks Summary: Attempted 9 tasks of which 6 didn't need to be rerun and 1 failed. No currently running tasks (9 of 12) Summary: 1 task failed: /home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211- firmware_1.5.bb, do_package __ Note that i also had to address the LICENSE reference as I was getting LICENSE_CHCKSUM errors Also note that when I try to build the full image, there is no error but the files are not present. In my build directory configuration file I have the reference to my recipe layer: /home/lachlan/poky/meta-atmel-lsp \ but although other recipes in this directory are working fine, this recipe seems to be overlooked. I know that the full image build sees the recipe because if I comment out the LICENSE reference, the full image build indicates an error in this regard. Thanks for any help Lachlan - Original Message - From: Bryan Evenson beven...@melinkcorp.com To: peterengcomau...@adam.com.au peterengcomau...@adam.com.au, yocto@yoctoproject.org yocto@yoctoproject.org Cc: Sent: Thu, 13 Nov 2014 17:03:07 + Subject: RE: [yocto] recipe fails to load local files Lachlan, If that is your entire recipe, I don’t see any FILES specification: http://www.yoctoproject.org/docs/1.7/mega-manual/mega- manual.html#var-FILES http://www.yoctoproject.org/docs/1.7/mega- manual/mega-manual.html#var-FILES . The SRC_URI just says where to get the source, but the FILES states which files are expected to be added to the package. I believe the FILES variable is auto-populated by a compiled package, which is why you may not see the FILES variable in every recipe. But in your case in which
Re: [yocto] recipe fails to load local files
Just a few nitpick's... * Bryan Evenson beven...@melinkcorp.com [141114 15:21]: LICENSE = CLOSED FILES_${PN} += ~/poky/meta-atmel-lsp/recipes-lsp/zd1211- firmware/zd1211-firmware FILES doesn't specify where to find the files on the build machine, it specifies where the installed files exist on the target filesystem. This is what the error you are seeing is telling you; the files were installed in the do_install step but they did not get placed in the final package. In your case I believe: FILES_${PN} += ${libdir}/zd1211_* FILES_${PN} += /lib/firmware/zd1211 would work. SRC_URI = \ file://zd1211_ub \ file://zd1211_uph \ file://zd1211_uphm \ file://zd1211_uphr \ file://zd1211_ur \ do_install() { install -d ${D}/lib/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_*${D}/lib/firmware/zd1211/ } As mentioned in the FILES variable description in the Yocto manual, you should use the standard path variables whenever possible. The list of available path variables are near the top of meta/conf/bitbake.conf. That means in your case the following would be better: Well, in general that's true. Though, in this specific case, it should actually be a hardcoded /lib/firmware. ${libdir} could be lib64 or something else, especially in a multilib-build. However, the firmware files are always searched for in /lib/firmware. Cheers, Anders do_install() { install -d ${D}/${libdir}/firmware/zd1211 install -m 0555 ${WORKDIR}/zd1211_*${D}/${libdir}/firmware/zd1211/ -- Anders Darander ChargeStorm AB / eStorm AB -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] New recipe for toolchain fails install, ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored.
Hi Joseph, Thanks for the tips. I totally missed the pod2man problem, and never saw the BBCLASSEXTEND stuff in all my extensive googling. I researched the BBCLASSEXTENDS variable in the Yocto Project Reference Manual. From what I read, I understand that adding native to BBCLASSEXTEND produces executables that will run on the workstation that I use to build the recipe with bitbake. This recipe could be REQUIREd by other recipes that depend upon it to build. nativesdk, on the other hand, should create executables that run on the SDKMACHINE architecture that is specified in my local.conf. Since I only need the Clang compiler to be available to SDK users for building applications outside of the bitbake environment, I think I need nativesdk, but not native. Is my understanding of this correct, or have I totally missed the point somewhere? Also, would it be more straighforward to just have my recipe inherit the nativesdk class? I added BBCLASSEXTEND=native nativesdk to my recipe, and it still seems to be building in i586-poky-linux, which is not the SKDMACHINE architecture. Once again, thank you for your help. You have greatly advanced my understanding of building a recipe for the SDK. -Jim- From: Joseph Andrew de la Peña [jdelap...@lexmark.com] Sent: Friday, November 14, 2014 12:39 AM To: Jim Rafert Cc: nick; yocto@yoctoproject.org Subject: Re: [yocto] New recipe for toolchain fails install, ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored. Good day Jim, Seems to be that the main error is due to /bin/sh: pod2man: command not found. I think the tool is not present or any references to its path was not properly established. Also, for your expectation to be part of native and nativesdk, please add BBCLASSEXTEND = native nativesdk in your recipe. Thanks, - J On Fri, Nov 14, 2014 at 5:14 AM, Jim Rafert j...@spectralogic.commailto:j...@spectralogic.com wrote: I noticed that a couple of my attachments didn't make it. So here they are. They're renamed with a .txt extension to slip them past the Argus eyes of MS Exchange. These are not the droids you're looking forMove along -Jim- From: nick [xerofo...@gmail.commailto:xerofo...@gmail.com] Sent: Thursday, November 13, 2014 1:42 PM To: Jim Rafert; yocto@yoctoproject.orgmailto:yocto@yoctoproject.org Subject: Re: [yocto] New recipe for toolchain fails install, ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored. Hey Jim, I had a stressful day with other things so I would like some time to unwind but I will try and help out later if that's OK. Nick On 14-11-13 03:13 PM, Jim Rafert wrote: Hi folks, I'm trying to put together a recipe to include llvm and clang in the yocto toolchain. My goal is to have the clang compiler available for application development. I do not intend to compile the kernel or OS image with clang. I have created a recipe and placed it in one of my added layers as follows: LICENSE = NCSA PR = r0 LIC_FILES_CHKSUM = file://LICENSE.TXT;md5=47e311aa9caedd1b3abf098bd7814d1d SRC_URI = file://llvm-3.5.0.tar.gz \ SRC_URI[md5sum] = e2dd127722ffb305c981d2a02687b4ff SRC_URI[sha256sum] = 1badb762129feb7ced9484a7969c88cebab9b01b80b83002fc9690933cd7d0e0 EXTRA_OECONF = --config=Linux-yocto INHIBIT_PACKAGE_DEBUG_SPLIT = 1 INSANE_SKIP_${PN} = already-stripped #FILES_${PN} = ${libdir}/* /usr/bin inherit autotools do_configure () { ./configure --enable-optimized --enable-targets=x86,x86_64 --host=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu } The recipe is copied from another recipe of mine that builds the POCO libraries, so INSANE_SKIP_${PN} = already-stripped may not actually be necessary, but was left in until I got the recipe running. I add the recipe to the toolchain by including it in TOOLCHAIN_HOST_TASK from my local.conf, thus: TOOLCHAIN_HOST_TASK += llvm This gets the source unpacked, configures, and compiles, but do_install fails with several instances of this message: ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored. Even though it doesn't install, the build products are in the work directory, so I examined them. [jimr@krusty llvm-3.5.0]$ file /home/jimr/tera/yocto/daisy/build/tmp/work/i586-poky-linux/llvm/3.5.0-r0/llvm-3.5.0/Release+Asserts/bin/clang /home/jimr/tera/yocto/daisy/build/tmp/work/i586-poky-linux/llvm/3.5.0-r0/llvm-3.5.0/Release+Asserts/bin/clang: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, BuildID[sha1]=0x96bd97125551d23e94bcbbc4e68b69b8db36def9, not stripped I was hoping that this would be built for the architecture specified in local.conf for the toolchain, which is: SDKMACHINE ?= x86_64 I think that this architecture mismatch may be the root of the
Re: [yocto] Web frameworks on embedded linux
On Fri, Nov 14, 2014 at 12:13 AM, Maciek Borzecki maciej.borze...@open-rnd.pl wrote: On czw, 2014-11-13 at 23:12 -0800, Edward Wingate wrote: I've been trying to get an existing python flask application running on an embedded linux distro (Poky). The web app was originally deployed on a Debian distro. I need to move the application to a less heftier board and wanted to try a distro created by Yocto, rather than try to pare down Debian. I've been following the chain of dependencies for the web application and adding them to Yocto to try and get the app to work (nginx, uwsgi, python, pyserial, etc.), and hit a bump - Python's built-in logging and codecs modules are not provided by Yocto. Maybe I can add them myself, or maybe I'll rip them out of the application, but I wanted to take a step back and see if maybe Python/Flask is not the best app framework to use in an embedded linux distro. Have you installed python-modules pacakge? This package pulls in all standard python modules as dependencies. No, I haven't. I still have a lot to learn about Yocto and recipes. I went ahead and pulled python-modules in and and got a lot further in making this app work. Thanks, Maciek, for your help. The ramdisk image ballooned to 22MB though. It's expected, but due to flash size constraints, Python may not be an option in this case. I've used Tornado to provide a REST-ful API for an Android application and some basic web pages with status information and so on. Worked quite well. Do you remember what your final ramdisk image size was? I would still love to hear what web frameworks others here have used on embedded linux. -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Web frameworks on embedded linux
On 2014-11-14 10:10, Edward Wingate wrote: On Fri, Nov 14, 2014 at 12:13 AM, Maciek Borzecki maciej.borze...@open-rnd.pl mailto:maciej.borze...@open-rnd.pl wrote: On czw, 2014-11-13 at 23:12 -0800, Edward Wingate wrote: I've been trying to get an existing python flask application running on an embedded linux distro (Poky). The web app was originally deployed on a Debian distro. I need to move the application to a less heftier board and wanted to try a distro created by Yocto, rather than try to pare down Debian. I've been following the chain of dependencies for the web application and adding them to Yocto to try and get the app to work (nginx, uwsgi, python, pyserial, etc.), and hit a bump - Python's built-in logging and codecs modules are not provided by Yocto. Maybe I can add them myself, or maybe I'll rip them out of the application, but I wanted to take a step back and see if maybe Python/Flask is not the best app framework to use in an embedded linux distro. Have you installed python-modules pacakge? This package pulls in all standard python modules as dependencies. No, I haven't. I still have a lot to learn about Yocto and recipes. I went ahead and pulled python-modules in and and got a lot further in making this app work. Thanks, Maciek, for your help. The ramdisk image ballooned to 22MB though. It's expected, but due to flash size constraints, Python may not be an option in this case. You can always just bring in the packages you need (python-modules is a pretty heavy hammer!) Python is split into ~90 separate packages, each with a [small] set of modules/functionality. I've used Tornado to provide a REST-ful API for an Android application and some basic web pages with status information and so on. Worked quite well. Do you remember what your final ramdisk image size was? I would still love to hear what web frameworks others here have used on embedded linux. -- Gary Thomas | Consulting for the MLB Associates |Embedded world -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Web frameworks on embedded linux
Hi Edward, On 11/14/2014 07:10 PM, Edward Wingate wrote: On Fri, Nov 14, 2014 at 12:13 AM, Maciek Borzecki maciej.borze...@open-rnd.pl mailto:maciej.borze...@open-rnd.pl wrote: On czw, 2014-11-13 at 23:12 -0800, Edward Wingate wrote: I've been trying to get an existing python flask application running on an embedded linux distro (Poky). The web app was originally deployed on a Debian distro. I need to move the application to a less heftier board and wanted to try a distro created by Yocto, rather than try to pare down Debian. I've been following the chain of dependencies for the web application and adding them to Yocto to try and get the app to work (nginx, uwsgi, python, pyserial, etc.), and hit a bump - Python's built-in logging and codecs modules are not provided by Yocto. Maybe I can add them myself, or maybe I'll rip them out of the application, but I wanted to take a step back and see if maybe Python/Flask is not the best app framework to use in an embedded linux distro. Have you installed python-modules pacakge? This package pulls in all standard python modules as dependencies. No, I haven't. I still have a lot to learn about Yocto and recipes. I went ahead and pulled python-modules in and and got a lot further in making this app work. Thanks, Maciek, for your help. The ramdisk image ballooned to 22MB though. It's expected, but due to flash size constraints, Python may not be an option in this case. I've used Tornado to provide a REST-ful API for an Android application and some basic web pages with status information and so on. Worked quite well. Do you remember what your final ramdisk image size was? I would still love to hear what web frameworks others here have used on embedded linux. I remember that before several years we worked on a prototype, that had to deliver dynamic content over ethernet. It had to run on ARM board, first with QNX and later with Linux. We then found a small web-server, Mongoose (https://code.google.com/p/mongoose/), which had good license, was lightweight, with very few dependencies, and had very clean interface for extending (actually looking at the license, its now GPL, but I remember that the older versions were licensed under MIT or BSD). As far as I rememer, the whole thing boils down to registering a callback, which is called each time you have to service a HTTP request. We used this to write multiple small extensions in C that generated the dynamic content, each plugins was responsible for a separate domain of functionality. It sounds strange to do this in C instead of higher-level language, but once you start seeing your memory usage to be in KBytes instead of MBytes range, you start to like this little component :D. You can give it a spin, it builds easily for x86 and arm. Regards, Nikolay -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Web frameworks on embedded linux
On pią, 2014-11-14 at 09:10 -0800, Edward Wingate wrote: No, I haven't. I still have a lot to learn about Yocto and recipes. I went ahead and pulled python-modules in and and got a lot further in making this app work. Thanks, Maciek, for your help. The ramdisk image ballooned to 22MB though. It's expected, but due to flash size constraints, Python may not be an option in this case. I've used Tornado to provide a REST-ful API for an Android application and some basic web pages with status information and so on. Worked quite well. Do you remember what your final ramdisk image size was? It was a beefy application image, with lots of dependencies. I would still love to hear what web frameworks others here have used on embedded linux. In yet another project we used lighttpd as request handler, while the actual app was running as fastcgi service. HTML templates were handled by Clearsilver, see http://www.clearsilver.net (really neat library, New BSD license). IIRC, Clearsilver pulls in bdwgc as dependency, so there's no hassle with memory management. Quite recently we had yet another custom work where HTTP JSON-RPC requests were handled using libsoup. -- Maciej Borzęcki Senior Software Developer at Open-RnD Sp. z o.o., Poland www.open-rnd.pl mobile: +48 889 117 365, fax: +48 42 657 9079 Niniejsza wiadomość wraz z załącznikami może zawierać chronione prawem lub poufne informacje i została wysłana wyłącznie do wiadomości i użytku osób, do których została zaadresowana. Jeśli wiadomość została otrzymana przypadkowo zabrania się jej kopiowania lub rozsyłania do osób trzecich. W takim przypadku uprasza się o natychmiastowe zniszczenie wiadomości oraz poinformowanie nadawcy o zaistniałej sytuacji za pomocą wiadomości zwrotnej. Dziękujemy. This message, including any attachments hereto, may contain privileged or confidential information and is sent solely for the attention and use of the intended addressee(s). If you are not an intended addressee, you may neither use this message nor copy or deliver it to anyone. In such case, you should immediately destroy this message and kindly notify the sender by reply email. Thank you. -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] yocto Digest, Vol 50, Issue 54
On Fri, Nov 14, 2014 at 9:39 AM, yocto-requ...@yoctoproject.org wrote: From: Gary Thomas g...@mlbassoc.com On 2014-11-14 10:10, Edward Wingate wrote: The ramdisk image ballooned to 22MB though. It's expected, but due to flash size constraints, Python may not be an option in this case. You can always just bring in the packages you need (python-modules is a pretty heavy hammer!) Python is split into ~90 separate packages, each with a [small] set of modules/functionality. I would really like to try this. How do I find out what the various python packages are and what's in each package? I tried http://layers.openembedded.org/layerindex/branch/master/recipes/, but don't find what I'm looking for (right now, Python's built-in logging and codecs modules). I also can't find where the python-modules recipe is located. I thought that might give me a clue as to what all the modules are and where they are. I would think python-modules would be located in or poky/meta/recipes-devtools/python or meta-openembedded/meta-python where it seems all the other python stuff are, but it's not there that I can see. Where is python-core defined, for that matter? I can't find that anywhere either. All references to python-core and python-modules are in the build/tmp directory, but I don't see the source definition. -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] yocto Digest, Vol 50, Issue 54
On 2014-11-14 11:52, Edward Wingate wrote: On Fri, Nov 14, 2014 at 9:39 AM, yocto-requ...@yoctoproject.org mailto:yocto-requ...@yoctoproject.org wrote: From: Gary Thomas g...@mlbassoc.com mailto:g...@mlbassoc.com On 2014-11-14 10:10, Edward Wingate wrote: The ramdisk image ballooned to 22MB though. It's expected, but due to flash size constraints, Python may not be an option in this case. You can always just bring in the packages you need (python-modules is a pretty heavy hammer!) Python is split into ~90 separate packages, each with a [small] set of modules/functionality. I would really like to try this. How do I find out what the various python packages are and what's in each package? I tried http://layers.openembedded.org/layerindex/branch/master/recipes/, but don't find what I'm looking for (right now, Python's built-in logging and codecs modules). Try looking in your build tree. Depending on your target configuration, you'll have either RPM or IPK packages and the python modules end up in the architecture dependent collection. For example, on my i.MX6 (ARM) target, I have: $ ls tmp/deploy/ipk/cortexa7hf-vfp-neon/python* tmp/deploy/ipk/cortexa7hf-vfp-neon/python-2to3_2.7.3-r0.3.0_cortexa7hf-vfp-neon.ipk tmp/deploy/ipk/cortexa7hf-vfp-neon/python-audio_2.7.3-r0.3.0_cortexa7hf-vfp-neon.ipk tmp/deploy/ipk/cortexa7hf-vfp-neon/python-bsddb_2.7.3-r0.3.0_cortexa7hf-vfp-neon.ipk tmp/deploy/ipk/cortexa7hf-vfp-neon/python-codecs_2.7.3-r0.3.0_cortexa7hf-vfp-neon.ipk tmp/deploy/ipk/cortexa7hf-vfp-neon/python-compile_2.7.3-r0.3.0_cortexa7hf-vfp-neon.ipk ... It can get a bit tricky to decide which package contains the module(s) you need as many of them are grouped together. If you know the name of the module, you can typically find it via a quick search, e.g. to find the package that contains the htmllib module: $ find tmp/work/cortexa7hf-vfp-neon-amltd-linux-gnueabi/python/2.7.3-r0.3/packages-split/ -name htmllib.py tmp/work/cortexa7hf-vfp-neon-amltd-linux-gnueabi/python/2.7.3-r0.3/packages-split/python-html/usr/lib/python2.7/htmllib.py so, in this case I'm looking for the 'python-html' package. Once you determine the package name, just add that to your image (or if you have things set up for package updates, you can just add the packages directly on your board). I also can't find where the python-modules recipe is located. I thought that might give me a clue as to what all the modules are and where they are. I would think python-modules would be located in or poky/meta/recipes-devtools/python or meta-openembedded/meta-python where it seems all the other python stuff are, but it's not there that I can see. Where is python-core defined, for that matter? I can't find that anywhere either. All references to python-core and python-modules are in the build/tmp directory, but I don't see the source definition. Everything comes from just the single 'python' recipe (lots of magic lives within) -- Gary Thomas | Consulting for the MLB Associates |Embedded world -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Web frameworks on embedded linux
From: Gary Thomas g...@mlbassoc.com To: yocto@yoctoproject.org Date: Fri, 14 Nov 2014 12:04:23 -0700 On 2014-11-14 11:52, Edward Wingate wrote: On Fri, Nov 14, 2014 at 9:39 AM, yocto-requ...@yoctoproject.org mailto:yocto-requ...@yoctoproject.org wrote: From: Gary Thomas g...@mlbassoc.com mailto:g...@mlbassoc.com You can always just bring in the packages you need (python-modules is a pretty heavy hammer!) Python is split into ~90 separate packages, each with a [small] set of modules/functionality. I would really like to try this. How do I find out what the various python packages are and what's in each package? I tried http://layers.openembedded.org/layerindex/branch/master/recipes/, but don't find what I'm looking for (right now, Python's built-in logging and codecs modules). Try looking in your build tree. Depending on your target configuration, you'll have either RPM or IPK packages and the python modules end up in the architecture dependent collection. It can get a bit tricky to decide which package contains the module(s) you need as many of them are grouped together. If you know the name of the module, you can typically find it via a quick search, e.g. to find the package that contains the htmllib module: $ find tmp/work/cortexa7hf-vfp-neon-amltd-linux-gnueabi/python/2.7.3-r0.3/packages-split/ -name htmllib.py tmp/work/cortexa7hf-vfp-neon-amltd-linux-gnueabi/python/2.7.3-r0.3/packages-split/python-html/usr/lib/python2.7/htmllib.py so, in this case I'm looking for the 'python-html' package. Once you determine the package name, just add that to your image (or if you have things set up for package updates, you can just add the packages directly on your board). Thanks so much Gary! I pulled in just logging and codecs modules and my image went from 22 MB down to 9MB, and the app is still working. I'm hopeful I can keep the ramdisk image under 16MB now. Moving on to install and configure flask and uwsgi to serve the app now. Speaking of which, how do you assign static IP instead defaulting to DHCP, and get ssh keys into the rootfs instead of Drpbear generating them every bootup? Can this be accomplished through Yocto or do you have to mount and modify the rootfs manually? -- ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto