Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
cross-compiling perl for an armv7l [IMPOSSIBLE]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures
View previous topic :: View next topic  
Author Message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8718
Location: ~Brussels - Belgique

PostPosted: Tue Dec 27, 2011 10:55 pm    Post subject: cross-compiling perl for an armv7l [IMPOSSIBLE] Reply with quote

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
View user's profile Send private message
manaru
n00b
n00b


Joined: 07 Jan 2008
Posts: 26

PostPosted: Wed Jan 04, 2012 9:04 pm    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8718
Location: ~Brussels - Belgique

PostPosted: Wed Jan 04, 2012 9:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8718
Location: ~Brussels - Belgique

PostPosted: Wed Jan 04, 2012 9:33 pm    Post subject: Reply with quote

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
View user's profile Send private message
xaviermiller
Bodhisattva
Bodhisattva


Joined: 23 Jul 2004
Posts: 8718
Location: ~Brussels - Belgique

PostPosted: Fri Jan 06, 2012 9:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum