I have written a new application. But I am not able to figure out how do I compile and run it. As in in which folder should I store what. Not able to find link to appropriate documentation in info-center.
Hello Priya Agarwal,
Please check whether the following procedure would help you.
1. In Yocto environment, run "bitbake usdpaa -c patch -f" to get usdpaa source.
2. In usdpaa source folder, you could follow "reflector" to create your application folder under apps.
Create Makefile.am in apps/<your_app>, define bin_PROGRAMS as your program name, define reflector_SOURCES as your source file, in apps/Makefile.am add your application name.
3. Rebuild usdpaa
bitbake usdpaa -c compile -f
4. Add "usdpaa" in variable "IMAGE_INSTALL" of meta-fsl-networking/images/fsl-image-core.bb(in the recent SDK it has been added by default), then rebuild rootfs with "bitbake fsl-image-core".
5. Boot up the system with usdpaa dtb, and after enter into Linux system, you could use your app command.
Regarding how to run your application, please refer to sections "Running reflector" and "PPAC (and reflector) CLI commands" in http://www.freescale.com/infocenter/index.jsp?topic=%2FQORIQSDK%2F2989554.html.
Have a great day,Yiping
-----------------------------------------------------------------------------------------------------------------------Note: If this post answers your question, please click the Correct Answer button. Thank you!-----------------------------------------------------------------------------------------------------------------------
But I am not able to understand the first step. In yocto environment means, in the yocto folder?
In Yocto env. mean in build directory of YOCTO source.
For example its name like fsl-community-....... and and into its build directory.
As you knowing about procedure.
. ./setup-environment build in yocto source directory.
2. then it will automatically go into build directory after some terms and conditions accept, then after you apply command as Yiping Wang replied you.
bitbake usdpaa -c patch -f
bitbake usdpaa -c patch -f
and all other.
May this will help you.
Thanks and Regards
I got an error while compiling usdpaa. I put the app in this path:
I ran the patch command in /media/NewVolume/yocto/build_t4240qds_release/ folder.
Are these two correct.
ERROR: Function failed: do_compile (see /media/NewVolume/yocto/build_t4240qds_release/tmp/work/ppce6500-fsl_networking-linux/usdpaa/git-r5/temp/log.do_compile.3438 for further information)
ERROR: Logfile of failure stored in: /media/NewVolume/yocto/build_t4240qds_release/tmp/work/ppce6500-fsl_networking-linux/usdpaa/git-r5/temp/log.do_compile.3438
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make CC=powerpc-fsl_networking-linux-gcc -m32 -mhard-float -mcpu=e6500 --sysroot=/media/NewVolume/yocto/build_t4240qds_release/tmp/sysroots/t4240qds LD=powerpc-fsl_networking-linux-ld --sysroot=/media/NewVolume/yocto/build_t4240qds_release/tmp/sysroots/t4240qds AR=powerpc-fsl_networking-linux-ar
| apps/squid/squid-3.4.10/Makefile.am:7: *** missing separator. Stop.
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see /media/NewVolume/yocto/build_t4240qds_release/tmp/work/ppce6500-fsl_networking-linux/usdpaa/git-r5/temp/log.do_compile.3438 for further information)
ERROR: Task 4 (/media/NewVolume/yocto/meta-fsl-ppc/recipes-tools/usdpaa/usdpaa_git.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 430 tasks of which 429 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
Is something wrong with my code or I have done things in the wrong folders?
I think missing some parameter in Makefile.am and form ur logs its shows
ERROR: oe_runmake failed
ERROR: oe_runmake failed
it mean the issue seems to be with kernel compilation rather than with yocto.
oe_runmake only calls make on the kernel tree. So, can you see if building the kernel (in the build/tmp folder) manually works?
Also check the defconfig file that is used manually.
And also same time please check and verify that have you all the host environment set-up as per documentation?
Request to please refer this link once (http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html)
From above link
The essential and graphical support packages you need for a supported Ubuntu or Debian distribution are shown in the following command:
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat libsdl1.2-dev xterm
$ sudo dpkg-reconfigure --terse -f readline dash
$ sudo apt-get install sed wget subversion git-core coreutils unzip
texi2html texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2
diffstat make gcc build-essential xsltproc g++ desktop-file-utils
chrpath libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool
xterm libxml-parser-perl vim-common xz-utils cvs tofrodos
libstring-crc32-perl ubuntu-minimal ubuntu-standard patch
Extra packages are needed for Ubuntu-64b
$ sudo apt-get install ia32-libs lib32ncurses5-dev
and if not then please install all build dependencies for your host system (Ubuntu or whatever...)
may this will help you,
Revert back with result and query if any,
Thanks and regards
Please pay attention to the following error in your building log, there is problem in your Makefile.
apps/squid/squid-3.4.10/Makefile.am:7: *** missing separator. Stop.
The Makefile being referred to is not at all edited by me.
According to this:
1. I have two directories in /apps/<my_app>/ which are : apps/squid/app and apps/squid/squid-3.4.10
I tried to follow ipfwd as well as reflector's files/folders.
In squid-3.4.10 folder , there is the original source-code and Makefile.am. I haven't edited them. So I dont know how it can be wrong.
The makefile i wrote myself is in apps/squid/app/ folder. I have attached it (first one). And also the one which error is referring to.
Is the error due to the fact that I am also trying to compile c++ code, as the original app is written in that.
At line 7 of apps/squid/squid-3.4.10/Makefile.am, please try to use "ifdef" instead, it seems that the compiler treat it as a command line beginning with Tab.
SUBDIRS += libltdl
SUBDIRS += scripts icons errors doc helpers src tools test-suite
Thanks. That solved the problem. But I have got more errors now. They are of two types.
apps/squid/squid-3.4.10/compat/Makefile.am:5: /src/Common.am: No such file or directory
| apps/squid/squid-3.4.10/lib/Makefile.am:1: /src/Common.am: No such file or directory
| apps/squid/squid-3.4.10/lib/Makefile.am:99: warning: overriding commands for target `testHeaders'
| apps/squid/squid-3.4.10/compat/Makefile.am:96: warning: ignoring old commands for target `testHeaders'
| apps/squid/squid-3.4.10/lib/rfcnb/Makefile.am:1: /src/Common.am: No such file or directory
| apps/squid/squid-3.4.10/lib/smblib/Makefile.am:1: /src/Common.am: No such file or directory
| apps/squid/squid-3.4.10/icons/Makefile.am:1: /icons/list: No such file or directory
| apps/squid/squid-3.4.10/errors/Makefile.am:11: /template.list: No such file or directory
| apps/squid/squid-3.4.10/errors/Makefile.am:12: /language.list: No such file or directory
| apps/squid/squid-3.4.10/errors/Makefile.am:65: warning: overriding commands for target `install-data-local'
| apps/squid/squid-3.4.10/icons/Makefile.am:9: warning: ignoring old commands for target `install-data-local'
| apps/squid/squid-3.4.10/errors/Makefile.am:89: warning: overriding commands for target `uninstall-local'
| apps/squid/squid-3.4.10/icons/Makefile.am:12: warning: ignoring old commands for target `uninstall-local'
| apps/squid/squid-3.4.10/errors/Makefile.am:117: warning: overriding commands for target `dist-hook'
| apps/squid/squid-3.4.10/Makefile.am:16: warning: ignoring old commands for target `dist-hook'
| apps/squid/squid-3.4.10/doc/manuals/Makefile.am:5: /language.list: No such file or directory
| apps/squid/squid-3.4.10/helpers/Makefile.am:23: *** missing separator. Stop.
For apps/squid/squid-3.4.10/compat/Makefile.am:5: /src/Common.am: No such file or directory, THE 5TH LINE IS:-
top_srcdir is not being set. I had run ./configure in squid-3.4.10 directory before compiling. Error still persists.
Two Makefiles attached:-
There is problem caused by top_srcdir including in you Makefile, please use "TOP_LEVEL" instead, please refer to apps/ipfwd, TOP_LEVEL is defined as $(shell pwd) in Makefile of usdpaa source.
Retrieving data ...