~alpine/devel

4 3

[alpine-devel] Multi architecture support

Mark Constable <markc@renta.net>
Details
Message ID
<4A713B06.9050101@renta.net>
Sender timestamp
1248934662
DKIM signature
missing
Download raw message
I see the default /etc/abuild.conf has CHOST=i486-alpine-linux-uclibc
and there is no sign of a PKGBUILD arch=(i686 x86_64) equivalent so
is there a recommended way to provide multiple archs from a single
APKBUILD?

I guess using a different /etc/abuild.conf in each build environment
would suffice but I thought I should check if there is some inbuilt
method that is not documented yet.

I intend to build a subset of packages for i686, x86_64, arm8 and
possibly ppc (ps3) eventually. I'd use separate chroots for i686
and x86_64 and possibly use the ArchMobile qemu examle for arm8 as
I have a Beagelboard begging for some TLC.

Sorry about the rush of newbie questions and many thanks for the
responses.

--markc


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Timo Teräs <timo.teras@iki.fi>
Details
Message ID
<4A71836D.6020309@iki.fi>
In-Reply-To
<4A713B06.9050101@renta.net> (view parent)
Sender timestamp
1248953197
DKIM signature
missing
Download raw message
Mark Constable wrote:
> I see the default /etc/abuild.conf has CHOST=i486-alpine-linux-uclibc
> and there is no sign of a PKGBUILD arch=(i686 x86_64) equivalent so
> is there a recommended way to provide multiple archs from a single
> APKBUILD?
> 
> I guess using a different /etc/abuild.conf in each build environment
> would suffice but I thought I should check if there is some inbuilt
> method that is not documented yet.
> 
> I intend to build a subset of packages for i686, x86_64, arm8 and
> possibly ppc (ps3) eventually. I'd use separate chroots for i686
> and x86_64 and possibly use the ArchMobile qemu examle for arm8 as
> I have a Beagelboard begging for some TLC.

This is a good question. Alpine is currently x86 only, but we will
soon need it on x86_64. I think ncopa has been thinking this to some
degree, but has been busy on implementing/fixing other things.

If you have experience on multi-arch stuff, input here will be
greatly appreciated.

Thanks,
  Timo


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Details
Message ID
<1248958118.19561.33.camel@localhost.localdomain>
In-Reply-To
<4A713B06.9050101@renta.net> (view parent)
Sender timestamp
1248958118
DKIM signature
missing
Download raw message
On Thu, 2009-07-30 at 16:17 +1000, Mark Constable wrote:
> I see the default /etc/abuild.conf has CHOST=i486-alpine-linux-uclibc
> and there is no sign of a PKGBUILD arch=(i686 x86_64) equivalent so
> is there a recommended way to provide multiple archs from a single
> APKBUILD?
> 
> I guess using a different /etc/abuild.conf in each build environment
> would suffice but I thought I should check if there is some inbuilt
> method that is not documented yet.
> 
> I intend to build a subset of packages for i686, 

This is ok.

> x86_64, 

This should work, but I have never tried it. I think most APKBUILDs will
work too. Looking at Arch Linux it seems like most x86_64 bit specifics
are related to PIC, which we need anyway due to our hardened toolchain.

> arm8 and
> possibly ppc (ps3) eventually. 

Those would probably require cross-compiling. I think its possible but
it will probably require some redesign of abuild and extra things to
consider in APKBUILDs.

> I'd use separate chroots for i686
> and x86_64 and possibly use the ArchMobile qemu examle for arm8 as
> I have a Beagelboard begging for some TLC.

TLC?

I'm not familiar with ArchMobile. Does it cross-compile or native
compile in qemu? Native compile in qemu might work but is slow.

Btw, i use vserver for my development of x86. Its like an advanced
chroot.

> Sorry about the rush of newbie questions and many thanks for the
> responses.
> 
> --markc
> 
> 
> ---
> Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
> Help:         alpine-devel+help@lists.alpinelinux.org
> ---
> 



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Details
Message ID
<1248958186.19561.34.camel@localhost.localdomain>
In-Reply-To
<4A713B06.9050101@renta.net> (view parent)
Sender timestamp
1248958186
DKIM signature
missing
Download raw message
On Thu, 2009-07-30 at 16:17 +1000, Mark Constable wrote:
...

> Sorry about the rush of newbie questions and many thanks for the
> responses.

btw... you are welcome to join #alpine-linux and #alpine-devel on
freenode.

-nc



---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Mark Constable <markc@renta.net>
Details
Message ID
<4A719F9C.4040304@renta.net>
In-Reply-To
<1248958118.19561.33.camel@localhost.localdomain> (view parent)
Sender timestamp
1248960412
DKIM signature
missing
Download raw message
Natanael Copa wrote:
> This should work, but I have never tried it. I think most APKBUILDs will
> work too. Looking at Arch Linux it seems like most x86_64 bit specifics
> are related to PIC, which we need anyway due to our hardened toolchain.

It seems CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe" makes gcc use
-fPIC by default (this is from an ncurses attempt)...

gcc -I../test -I. -DHAVE_CONFIG_H -I. -I../include -march=x86-64 -mtune=generic -O2 -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64  -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe  --param max-inline-insns-single=1200  -fPIC -c ../test/background.c -o ../obj_s/background.o


>> arm8 and possibly ppc (ps3) eventually. 
> 
> Those would probably require cross-compiling.

To bootstrap, sure, but I'm hoping the Beagleboard, with external USB
HDD, will be powerful enough to build packages natively.

> I think its possible but it will probably require some redesign of
> abuild and extra things to consider in APKBUILDs.

One way to find out :)

>> I have a Beagelboard begging for some TLC.
> 
> TLC?

"tender loving care". I've had the beagelboard for a couple of weeks
but I haven't even plugged it in yet. http://beagleboard.org/hardware

> I'm not familiar with ArchMobile. Does it cross-compile or native
> compile in qemu? Native compile in qemu might work but is slow.

Best answerred by...

http://www.archmobile.org/trac/wiki/AFR/BuildEnvironment
http://bbs.archlinux.org/viewtopic.php?pid=587134#p587134

> Btw, i use vserver for my development of x86. Its like an advanced
> chroot.

I should look into it. chroot is simple and native speed.

--markc


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Reply to thread Export thread (mbox)