Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: cross-compiling various packages for ARM [GishPuppy]

Another option is distcc. I've successfully cross compiled packages (e.g. python2.6) using distcc on my TS7200 (evbarm). There's a how-to you can read in the pkgsrc/doc dir:

It does mean you need to have pkgsrc and compiler tools on the device though.

- Joel

-----Original Message----- From: netbsdfr.lbj%gishpuppy.com@localhost
Sent: Wednesday, October 12, 2011 12:59
To: port-arm%NetBSD.org@localhost
Subject: cross-compiling various packages for ARM [GishPuppy]

Dear all,

I've been playing with a SheevaPlug. I was able to have a fully functional system. However, now I'd like to add different "packages", like wget, zsh, etc. I cannot compile these packages directly on the Sheeva, it's damn too slow, so I tried to cross-compile, without success. Here is what I did for wget:


ABOUT-NLS ChangeLog configure GNUmakefile MAILING-LIST Makefile.in README aclocal.m4 ChangeLog.README configure.ac INSTALL maint.mk msdos src AUTHORS config.log COPYING lib Makefile NEWS tests build-aux config.status doc m4 Makefile.am po util

export CC=/home/floofy/netbsd3/src/obj/tooldir.Linux-2.6.38-8-generic-i686/bin/arm--netbsde^Melf-gcc

export CFLAGS="-nostdlib -I/home/floofy/netbsd3/src/obj/destdir.evbarm/usr/include"

export LDFLAGS="-L/home/floofy/netbsd3/src/obj/destdir.evbarm/usr/lib/"

./configure --host=arm --without-ssl

configure: WARNING: if you wanted to set the --build type, don't use --host.
   If a cross compiler is detected then cross compile mode will be used
configure: configuring for GNU Wget 1.13.4
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes


Until here, it works like a charm, but as soon as I do a "make", everything breaks up.


make  all-recursive
make[1]: Entering directory `/home/floofy/crosscompile/wget-1.13.4'
Making all in lib
make[2]: Entering directory `/home/floofy/crosscompile/wget-1.13.4/lib'
make  all-recursive
make[3]: Entering directory `/home/floofy/crosscompile/wget-1.13.4/lib'
make[4]: Entering directory `/home/floofy/crosscompile/wget-1.13.4/lib'
depbase=`echo cloexec.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
/home/floofy/netbsd3/src/obj/tooldir.Linux-2.6.38-8-generic-i686/bin/arm--netbsdelf-gcc -DHAVE_CONFIG_H -I. -I../src -nostdlib -I/home/floofy/netbsd3/src/obj/destdir.evbarm/usr/include -MT cloexec.o -MD -MP -MF $depbase.Tpo -c -o cloexec.o cloexec.c &&\
       mv -f $depbase.Tpo $depbase.Po
In file included from ./sys/select.h:60,
from /home/floofy/netbsd3/src/obj/destdir.evbarm/usr/include/sys/time.h:266,
                from ./sys/time.h:41,
from /home/floofy/netbsd3/src/obj/destdir.evbarm/usr/include/time.h:142,
                from ./time.h:42,
                from ./sys/stat.h:46,
                from ./fcntl.h:54,
                from cloexec.c:25:
./signal.h:477: error: size of array 'verify_NSIG_constraint' is negative
./signal.h:687: error: redefinition of 'struct sigaction'
make[4]: *** [cloexec.o] Error 1
make[4]: Leaving directory `/home/floofy/crosscompile/wget-1.13.4/lib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/floofy/crosscompile/wget-1.13.4/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/floofy/crosscompile/wget-1.13.4/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `


I must be doing something wrong, but since I am not very experienced in cross compilation, I'd need a little help. Would it be possible to do a sort of chroot or so ?

Note that I am running:

uname -a
Linux computer 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux

Thanks a lot for your help.


Gishpuppy | To reply to this email, click here:

Home | Main Index | Thread Index | Old Index