LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (http://www.linuxquestions.org/questions/linux-general-1/)
-   -   Cross Compile Embedded (http://www.linuxquestions.org/questions/linux-general-1/cross-compile-embedded-445141/)

EmmaTheViking 05-15-2006 06:52 PM

Cross Compile Embedded
 
Hi All,

I have had several issues attempting to compile a gpe-image. Everytime I use bitbake to create a gpe-image, it falls over, complaining about PREFERRED_PROVIDERS not being set, properly and DISTRO versions. I have however set them in my local.conf file, but I just don't know which versions I can combine with what, so I get a working gpe-image....

Is there anyone which could let me know what exisiting packages I should use and what parameters I should use in my local.conf file for a successful gpe-image so I can run gtk on an embedded device?

Thanks

EmmaTheViking 05-24-2006 10:43 PM

Here is some more specific information.....

Quote:

NOTE: Using cache in '/stuff/build/tmp/cache'
Parsing .bb files, please wait...done.
NOTE: Parsing finished. 0 cached, 3304 parsed, 88 skipped, 0 masked.
NOTE: build 200605251312: started

OE Build Configuration:
BB_VERSION = "1.3.3.4"
OE_REVISION = "4689c198b9377662259edcd5ff48375cfb709ee8"
TARGET_ARCH = "arm"
TARGET_OS = "linux"
MACHINE = "lpd7a400"
DISTRO = "familiar"
DISTRO_VERSION = "v0.8.4-rc1"
TARGET_FPU = "soft"

NOTE: current path: gpe-image (gpe-image)
...
| make[2]: Leaving directory `/stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/build.i686-linux.arm-linux/gcc/intl'
| gcc -c -I/stuff/build/tmp/staging/i686-linux/include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -DHAVE_CONFIG_H -I/stuff/build/tmp/staging/i686-linux/include -I. -If -I/stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc -I/stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f -I/stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/config -I/stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/../include /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.c -o f/com.o
| /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.c: In function ‘ffecom_char_args_x_’:
| /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.c:1938: warning: pointer targets in passing argument 2 of ‘build_string’ differ in signedness
| /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.c: In function ‘ffecom_constantunion’:
| /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.c:10528: warning: pointer targets in passing argument 2 of ‘build_string’ differ in signedness
| /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.c:10549: warning: pointer targets in passing argument 2 of ‘build_string’ differ in signedness
| /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.c: At top level:
| /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.c:11080: error: conflicting types for ‘ffecom_gfrt_basictype’
| /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/gcc/f/com.h:236: error: previous declaration of ‘ffecom_gfrt_basictype’ was here
| make[1]: *** [f/com.o] Error 1
| make[1]: Leaving directory `/stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/gcc-3.3.4/build.i686-linux.arm-linux/gcc'
| make: *** [all-gcc] Error 2
| FATAL: oe_runmake failed
NOTE: Task failed: /stuff/build/tmp/work/i686-linux/gcc-cross-3.3.4-r3/temp/log.do_compile.9506
NOTE: package gcc-cross-3.3.4-r3: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package gcc-cross-3.3.4: failed
ERROR: Build of gpe-image failed

Here are my local.conf parameters



Quote:

DL_DIR = "${HOME}/downloads"
BBFILES := "/stuff/org.openembedded.dev/packages/*/*.bb"

# Use the BBMASK below to instruct BitBake to _NOT_ consider some .bb files
# This is a regulary expression, so be sure to get your parenthesis balanced.
BBMASK = ""

# Select between multiple alternative providers, if more than one is eligible.
#PREFERRED_PROVIDERS += "virtual/qte:qte virtual/libqpe:libqpe-opie"
#PREFERRED_PROVIDERS += " virtual/libsdl:libsdl-qpe"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
PREFERRED_PROVIDERS += "virtual/xserver:xserver-kdrive"
PREFERRED_PROVIDERS += "virtual/gconf:gconf-dbus"


PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc="glibc"
PREFERRED_PROVIDER_tslib="tslib"
PREFERRED_PROVIDER_virtual/xserver="xserver-xorg"
PREFFERRED_PROVIDER_qemu-native="qemu-native"
PREFERRED_PROVIDER_virtual/db-native="db-native"
PREFFERRED_PROVIDER_libx11="diet-x11"
PREFFERRED_PROVIDER_virtual/libiconv="glibc"
PREFERRED_PROVIDER_virutal/libintl="glibc"


PREFERRED_VERSION_gcc="3.3.4"
PREFERRED_VERSION_gcc-cross="3.3.4"
PREFFERED_VERSION_gcc-cross-initial="3.3.4"
PREFERRED_VERSION_binutils-cross="2.15.90.0.3"
PREFERRED_VERSION_binutils="2.15.90.0.3"

ASSUME_PROVIDED+="virtual/arm-linux-gcc-2.95"

# Uncomment this to specify where BitBake should create its temporary files.
# Note that a full build of everything in OpenEmbedded will take GigaBytes of hard
# disk space, so make sure to free enough space. The default TMPDIR is
# <build directory>/tmp
# Don't use symlinks in in the path to avoid problems
# TMPDIR = /usr/local/projects/oetmp

# Uncomment this to specify a machine to build for. See the conf directory
# for machines currently known to OpenEmbedded.
MACHINE = "lpd7a400"

# Use this to specify the target architecture. Note that this is only
# needed when building for a machine not known to OpenEmbedded. Better use
# the MACHINE attribute (see above)
#TARGET_ARCH = "arm"
TARGET_FPU="soft"

# Use this to specify the target operating system. The default is "linux",
# for a normal linux system with glibc. Set this to "linux-uclibc" if you want
# to build a uclibc based system.
TARGET_OS = "linux"
# TARGET_OS = "linux-uclibc"

DISTRO_VERSION="v0.8.4-rc1"
DISTRO="familiar"
DISTRO_TYPE="debug"

OEINCLUDELOGS="yes"

# Add the required image file system types below. Valid are jffs2, tar, cramfs and ext2
IMAGE_FSTYPES = "jffs2 tar"

# Uncomment this to disable the parse cache (not recommended).
# CACHE = ""

# Uncomment this if you want BitBake to emit debugging output
BBDEBUG = "yes"






# Uncomment this if you want BitBake to emit the log if a build fails.
BBINCLUDELOGS = "yes"

# Specifies a location to search for pre-generated tarballs when fetching
# a cvs:// URI. Outcomment this, if you always want to pull directly from CVS.
CVS_TARBALL_STASH = "http://www.oesources.org/source/current/"

export GNU_MIRROR = "http://mirror.cse.unsw.edu.au/gnu"
export DEBIAN_MIRROR = "http://mirror.optusnet.com.au/debian/pool"
export SOURCEFORGE_MIRROR = "http://optusnet.dl.sourceforge.net/sourceforge"
export GPE_MIRROR = "http://ftp.handhelds.org/pub/projects/gpe/source"
export XLIBS_MIRROR = "http://xlibs.freedesktop.org/release"
export GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
Hopefully someone knows what is going on.

By looking at the error messages I think it is the versions I have specified of gcc that is wrong...

vortex01 06-30-2006 06:39 AM

Hi.

I have a similar error with bitbake (for nylon dist with mips cpu).

I also suspect it may be a gcc / glibc version problem.

Did you solve this?

thanks,

.vortex01


All times are GMT -5. The time now is 10:30 AM.