View previous topic :: View next topic |
Author |
Message |
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8722 Location: ~Brussels - Belgique
|
Posted: Tue Dec 27, 2011 10:55 pm Post subject: cross-compiling perl for an armv7l [IMPOSSIBLE] |
|
|
Hello,
I try to build ARM binary packages from x86 computers, but I cannot cross-emerge Perl.
The Configure fails because it tries to execute a cross-compiled C code (try.c) on the host, which obviously cannot be ran.
I see in the build log that the cross-compile configure flags are not enabled. But it seems that this is not so easy to cross-compile Perl (it needs a SSH access to the target, which is quite odd).
Did anyone have succeed to cross-compile Perl ? how are the Perl binary packages built for the provided stage 3 ?
I cannot use QEMU since ARMV7l is not yet supported by QEMU.
If Perl cannot be cross-compiled, I will build it on my Pandaboard and get the binary package and use package.provided to mask it on the cross-compile host. _________________ Kind regards,
Xavier Miller
Last edited by xaviermiller on Fri Jan 06, 2012 9:56 pm; edited 1 time in total |
|
Back to top |
|
|
manaru n00b
Joined: 07 Jan 2008 Posts: 26
|
Posted: Wed Jan 04, 2012 9:04 pm Post subject: |
|
|
hi,
i wasn't able to compile perl and python too. somewhere i read it (perl) is the most ugly think to crosscompile. for me the best and easiest way is to compie it native (arm stage3 from mirror).
you also have to parse the perl entry in
/usr/armv7a-hardfloat-linux-gnueabi/packages/Packages
pandaboard overheats very fast. with makeopts=-j3 it will freeze.
http://therandomlab.blogspot.com/2011/03/pandaboard-is-hot.html
is there any gentoo project site for beagleboard/pandaboard at the moment? can you post your make.conf please.
my make.conf:
Code: | CHOST=armv7a-hardfloat-linux-gnueabi
CBUILD=x86_64-pc-linux-gnu
ARCH=arm
HOSTCC=x86_64-pc-linux-gnu-gcc
E_MACHINE=EM_ARM
ROOT=/usr/${CHOST}/
ACCEPT_KEYWORDS="arm" # ~arm"
USE="${ARCH} zlib -acl"
#MARCH_TUNE="-march=armv4t -mtune=arm9tdmi" #arm-softfloat-linux-uclibc
#MARCH_TUNE="-march=armv5t -mtune=xscale" #armv5teb-softfloat-linux-gnueabi
MARCH_TUNE="-march=armv7-a -mtune=cortex-a9"
#-std=c9x
CFLAGS="-mfpu=vfpv3-d16 -mfloat-abi=hard -O2 -pipe ${MARCH_TUNE} -fomit-frame-pointer -I${ROOT}usr/include/ -I${ROOT}include/"
#CFLAGS="-O2 -pipe ${MARCH_TUNE} -fomit-frame-pointer -I${ROOT}usr/include/ -I${ROOT}include/"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-L${ROOT}lib -L${ROOT}usr/lib"
FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc"
# Be sure we dont overwrite pkgs from another repo..
PKGDIR=${ROOT}packages/
PORTAGE_TMPDIR=${ROOT}tmp/
ELIBC="glibc"
PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
#PORTDIR_OVERLAY="/usr/portage/local/"
LIBDIR_arm="lib"
LIBDIR_amd64=lib64
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PORTDIR_OVERLAY="/var/lib/layman/pandaboard /usr/local/portage"
MAKEOPTS="-j5"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
MAKEOPTS="-j5" |
|
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8722 Location: ~Brussels - Belgique
|
Posted: Wed Jan 04, 2012 9:15 pm Post subject: |
|
|
Hello, and thank you for your replies.
My current Pandaboard installation was fully compiled by the Pandaboard, assisted by an AMD 64x2
I will give you my make.conf as soon I get my external disk back (defect). A new SD card will come and replace this hard disk.
I think I will cross-compile everything except perl on the Pandaboard.
Meanwhile, you can check informations from armin76 : http://dev.gentoo.org/~armin76/arm/pandaboard/ _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8722 Location: ~Brussels - Belgique
|
Posted: Wed Jan 04, 2012 9:33 pm Post subject: |
|
|
Hello,
I will try some trick. Perl seems more to be used at compile time, so it is not necessary on the final target. I will try to continue cross-emerging by disabling perl on the cross target. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8722 Location: ~Brussels - Belgique
|
Posted: Fri Jan 06, 2012 9:58 pm Post subject: |
|
|
Hello,
I disabled perl and portage (because python doesn't not cross-compile too). And blocked 2-3 too recent packages.
And I can update a ROOT from the cross-emerged system
Once it will be fully operational, I will for sure write a short HOWTO. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
|