[arch-general] gcc -m64

Ciprian Dorin, Craciun ciprian.craciun at gmail.com
Sat Nov 7 08:26:59 EST 2009


On Sat, Nov 7, 2009 at 2:14 PM, Ciprian Dorin, Craciun
<ciprian.craciun at gmail.com> wrote:
> On Sat, Nov 7, 2009 at 1:56 PM, Allan McRae <allan at archlinux.org> wrote:
>> Ciprian Dorin, Craciun wrote:
>>>
>>> On Sat, Nov 7, 2009 at 12:04 PM, Xavier <shiningxc at gmail.com> wrote:
>>>>
>>>> On Sat, Nov 7, 2009 at 8:14 AM, Ciprian Dorin, Craciun
>>>> <ciprian.craciun at gmail.com> wrote:
>>>>>
>>>>> On Sat, Nov 7, 2009 at 3:13 AM, Sven-Hendrik Haase <sh at lutzhaase.com>
>>>>> wrote:
>>>>>>
>>>>>> Ciprian Dorin, Craciun wrote:
>>>>>>>
>>>>>>>   Hello all!
>>>>>>>
>>>>>>>   I have ArchLinux i686 version, but I'm trying to compile an x86_64
>>>>>>> kernel... And you've guessed... Not supported by the ArchLinux stock
>>>>>>> gcc / binutils...
>>>>>>>
>>>>>>>   I've done the "raining" dance, by trying to compile my own gcc /
>>>>>>> binutils, but it didn't "rain" (I mean it didn't work)... Any
>>>>>>> pointers?
>>>>>>>
>>>>>>>   Thanks,
>>>>>>>   Ciprian.
>>>>>>>
>>>>>>>   P.S.: Is there any good reason for which there isn't even a
>>>>>>> separate package of gcc that is able to do this? (I've read the bug
>>>>>>> from one year ago, but no good reason was specified...)
>>>>>>>   P.P.S.: I'm missing Debian...
>>>>>>>
>>>>>>>
>>>>>> Arch users generally prefer a clean 32bit/64bit chroot to a "dirty"
>>>>>> system
>>>>>> and have therefore developed tools to make chroot creation really
>>>>>> convenient. You should try it too - get the devtools and try
>>>>>> "mkarchroot".
>>>>>>
>>>>>> -- Sven-Hendrik
>>>>>
>>>>>   About the reason I've read it and somehow understood it. Also
>>>>> mkarchroot is quite nice (in fact the reason I'm struggling with
>>>>> kernel compilation is for a Vserver deployment)...
>>>>>
>>>>>   But back to the problem at hand: I cannot use a chrooted Linux,
>>>>> because in order to use x86_64 packages I need a x86_64 enabled kernel
>>>>> on my laptop (which I don't). So actually I need to cross-compile the
>>>>> kernel.
>>>>>
>>>>>   Now I've seen that in the default repository we have gcc for
>>>>> crosscompiling for arm. Why not one for x86_64?
>>>>>
>>>>>   Anyway thanks for the pointer of mkarchroot! (It would help me in
>>>>> deployment of virtual servers.)
>>>>>
>>>>>   Ciprian.
>>>>>
>>>> Why do you want to build the kernel ? Arch already provides it ! All
>>>> packages are provided in both i686 and x86_64
>>>>
>>>> http://allanmcrae.com/2009/06/using-an-x86_64-kernel-on-an-i686-userland/
>>>
>>>    Good question. Well the reasons could be multiple:
>>>
>>>    * first of all the real reason is that I want to compile an x86_64
>>> kernel for one of my servers that I want to use as VServer hosting
>>> target; but my laptop has ArchLinux i386, and I don't want to either
>>> install x86_64 ArchLinux on my laptop, or on the server itself just to
>>> be able to compile the kernel;
>>>
>>>    * second cross-compiling is one of the basic operations one should
>>> be able to do in an development environment;
>>>
>>>    * third I believe that the real power of OSS / FOS (and therefore
>>> also Linux based distributions), is that it allows you the flexibility
>>> to customize things to match your liking; furthermore I've switched
>>> from Debian (which also provided everything I needed and even more),
>>> to ArchLinux (which provides almost everything I need), because I've
>>> seen ArchLinux as a more suitable target for experimenting with Linux;
>>> (I hope I'm not wrong!)
>>>
>>>    By the way: I'me preparing three custom packages:
>>> cross-x86_64-gcc-base, cross-x86_64-binutils, and cross-x86_64-glibc.
>>> Anyone interested in them? Any ideeas if someone has already done
>>> this?
>>
>> FYI, I thought packages that dod that were already in the AUR.
>>
>> Allan
>
>    I haven't found one... I've already searched the AUR for "gcc" and
> the only entries that resemble what I need are:
>    * http://aur.archlinux.org/packages.php?ID=28545 (gcc-multilib);
>    * http://aur.archlinux.org/packages.php?ID=31547 (cross32-gcc);
>    But both of them are for crosscompiling an i686 from a x86_64,
> while I need the reverse.
>
>    Could you please give me the exact URL from those packages?
>
>    Thanks,
>    Ciprian.

    The saga is over!!!

    Binaries available at http://www.kernel.org/pub/tools/crosstool/

    I've created a small package that installs that. See bellow.

    Ciprian.

~~~~

_build=gcc-3.4.5-glibc-2.3.6
pkgname="cross-x86_64-${_build}"
pkgver="${_build//-/_}"
pkgrel=1
pkgdesc="Cross-compiler binaries"
arch=('i686')
license=('GPL')
url="http://www.kernel.org/pub/tools/crosstool"
groups=()
depends=()
makedepends=()
options=(!'strip' !'libtool' !'emptydirs' !'docs')
source=("http://www.kernel.org/pub/tools/crosstool/files/bin/i386/x86_64-${_build}.tar.gz")
md5sums=('1093a4fae1fc14f53b82633b6f92b033')

build () {

  mkdir "${pkgdir}/opt"
  cp -RaTv "${srcdir}/${_build}/x86_64-unknown-linux-gnu"
"${pkgdir}/opt/${pkgname}"

}

~~~~


More information about the arch-general mailing list