ts-7000
[Top] [All Lists]

[ts-7000] Re: How to make an EABI cross compiler for ts boards, step by

To:
Subject: [ts-7000] Re: How to make an EABI cross compiler for ts boards, step by step
From: "Dunge2" <>
Date: Sat, 15 Aug 2009 18:59:06 -0000
Well first, I want to tell to Doug and Zimmerman that you CAN'T use apt-get to 
get libs from debian and then copy them over. Libs from TS rootfs, libs from 
debian-armel and libs from the crosstool-ng created toolchain all uses 
different gcc and glibc version and DON'T match. That's what I tried to do 
before, and it don't work. You could try to use crosstool with versions from ts 
rootfs OR debian-armel repository and build the rest, but patchs included in 
the crosstool-ng directory are for gcc 4.3.3 only anyway so I doubt you can get 
somewhere. I wonder how you managed to build Qt this way, unless it don't have 
any dependencies?

As for using Qt, I can't do it because our application is already final using 
GTK+. I won't recode everything under another lib. Plus, my coworker is telling 
my Qt isn't free, but he can be wrong. Anyway, I think GTK+ can get usable 
using eabi/crunch and even faster using the DirectFB backend, so it's not a big 
problem, what is is getting it to run.

Now Doug, about building libs. You are telling me I should add "-mcpu=ep9312 
-mfpu=maverick -mfloat-abi=softfp" to every config libs?  I though the 
cross-compile patchs were supposed to do that without specifying it. Also, the 
TS-TPC-7390 use a ep9302 cpu, not ep9312. Any problem with that?

Thx for the clue about DESTDIR instead of --prefix. But why do you say to put 
them in ./_install instead of directly in the /x-tools?

As for the LFS book, you are talking about this? :
http://cross-lfs.org/view/clfs-embedded/arm/
I seriously don't find anything useful in there. Most of the libs they explain 
how to build are all already built by crosstool-ng. The rest seems to be simple 
utilities like zLib that I probably don't care about. Nothing about glib or 
cairo or gtk+ for sure.

Anyway, what is needed to have a rootfs? I don't want to have to do every 
network and io and everything system-based by myself. Seems a bit too far 
advanced. That's why I though about using the TS-provided rootfs for these 
things, which I don't think onto when I build my application so it shouldn't 
have libc incompatibilities? I only link against the libs I mentioned earlier, 
which I will compile myself.

Also, what do you guys think about uClibc? Only more problems and 
incompatibility and patches? That's what I think, without having tried it.





With that said, let's try a step-by-step clean build of GLIB which shouldn't 
depend on anything.

1-Download and extract glib-2.20.4.tar.bz2
2-Set PATH, PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR. Set CFLAGS to "-mcpu=ep9312 
-mfpu=maverick -mfloat-abi=softfp"
3-Call "./configure --host=arm-ep9312-linux-gnueabi --prefix=/usr/"

At this point I receive this error:
configure:27279: checking for growing stack pointer
configure:27286: error: in `/home/dunge/Desktop/build_lib/glib-2.20.4':
configure:27289: error: cannot run test program while cross compiling

4-Search google, find some obscure post that might help.
5-Create a config.cache file with this in it:
glib_cv_stack_grows=no
glib_cv_uscore=no
ac_cv_func_posix_getgrgid_r=yes
ac_cv_func_posix_getpwuid_r=yes

6-Retry "./configure --host=arm-ep9312-linux-gnueabi --cache-file=config.cache 
--prefix=/usr/". It PASS!!
7-Call Make. IT PASS!! Really!
8-Call "Make 
DESTDIR=/home/dunge/x-tools/arm-ep9312-linux-gnueabi/arm-ep9312-linux-gnueabi/sys-root/
 install"

9-CELEBRATE! It works. I did nearly the same thing yesterday and it didn't 
pass, but trying it while writing this guide actually worked. I guess it's the 
DESTDIR change.

Thx for the help, I'll try to continue with other libs, and hope not to 
encounter a lot of lib-specific flags. Where in that LFS guide are you talking 
about guys?



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU