# ~amd64 ? [Solved]

## jeanfrancis

Hi there!

I plan to buy a new laptop with a Core 2 Duo (maybe today  :Very Happy: ), and I searched a bit and decided to give a try to a 64 bits system... (I always been on a Pentium 4 with Gentoo)...

I have a question. I am running ~x86 without any problem. Is it that easy to run ~amd64!? I don't want to start to compile everything and see that my packages won't work...  :Wink: 

Anybody running it?Last edited by jeanfrancis on Fri Jan 19, 2007 6:11 pm; edited 1 time in total

----------

## derverstand

Last friday I installed Gentoo on a amd64 server. So far everything works fine! (X, NIS, NFS, OpenPBS, mplayer, fvwm, cups, apache...) It was pretty staightforward. Only change was, that the /etc/portage/package.XYZs will differ from x86.

Best regards!

----------

## drescherjm

 *Quote:*   

> Anybody running it?

 

~amd64 no. amd64 yes.

I have been running amd64 (with a large /etc/portage/package.keywords file) at work for several years and at home for around a year with very few problems. One thing that you have to know that some packages do not work at amd64 and you have to go to ~amd64 to get the working version. And then there are packages that you want to go to ~amd64 (kde, firefox, gnome, wine ...) as the "stable" version is usually very old. But I would stay away from ~amd64 for (gcc, glibc, baselayout) as these packages get you into a lot of trouble when there is a bug. And for glibc there is no way to downgrade.

----------

## jeanfrancis

Thanks for your answers  :Smile: 

Could one of you post your package.keywords? It would help me a bit to know which packages it is "safe" to start with.

Thanks!

----------

## derverstand

/etc/make.conf

```
MAKEOPTS="-j3"

USE="-kde -gnome usb server win32codecs png jpg ssh ssl php mysql apache2 X nis mencoder mmx sse sse2 encode bzlib crypt ftp gd jpeg ldap mime ming mysql png posix session sharedmem simplexml sockets tiff truetype xml2 xmlrpc xpm xsl zlib ldap mbox mysql pam pam-mysql ssl tcpd doc"

```

/etc/portage/package.keywords

```
sys-cluster/torque

sys-cluster/openpbs-common

```

----------

## Bobnoxous

I don't recommend just adding packages to package.keywords. It various on what you install, what other packages are unmasked, new versions of sw, etc. Just build without anything unmasked, and as you find problems, then add packages to package.keywords.

There was a time when I had 20+ packages in package.keywords. I wanted to get away from that, so I started adding 

>=pagkage-version  ~amd64

so that as packages became stable, I didn't keep upgrading to unstable versions. Eventually, I was able to remove almost all unmasking of packages.  Unless you want to be on the bleeding edge, of course.

----------

## AaronPPC

I installed amd64 and went to ~amd64 within a week afterwards (I just couldn't help myself).  I haven't had any problems.

```
USE="3dnow 3dnowext a52 aac alsa avi cdr cups dbus divx4linux dri dvd dvdr ffmpeg firefox flac foomatic gnome gtk2 hal java jpeg ogg opengl mad mmx mmxest mpeg pdf png ppds usb quicktime smp sse sse2 ssl truetype-fonts type1-fonts vorbis X x264 xine xinerama xv -arts -ipv6 -kde -qt"
```

----------

## jeanfrancis

Thanks to you all.

I like to have newest packages of the apps I use daily (xfce, firefox, music players, Eclipse, etc.), so I'll surely add them in package.keywords to keep latest versions of them.

I'll maybe try ~amd64, but that seems really more dangerous than ~x86. If I try it that will be on another partition and I'll keep my "safe" version just in case  :Wink: 

I keep the topic open, I want more opinions  :Smile: 

----------

## drescherjm

 *Quote:*   

> I don't recommend just adding packages to package.keywords. It various on what you install, what other packages are unmasked, new versions of sw, etc. Just build without anything unmasked, and as you find problems, then add packages to package.keywords. 

 

Very good advice.

----------

## jeanfrancis

I think I'll start this way. Thanks!

----------

## devsk

 *jeanfrancis wrote:*   

> Anybody running it?

 have been running ~amd64 for a year now. No problems. most issues like plugin support etc. are workable with little patience.

----------

## jeanfrancis

Interesting...  I can't choose!  :Wink: 

----------

## i92guboj

Well, there are some separate issues. While you have a WORKING multilib environment with a SANE compiler, no crazy cflags and valid profile, you should not run into any more compilation issues for ~amd64 than you would have for ~x86. There are not much (~)amd64 specific problems at compile time nowadays. Though, as I said, that is if your multilib is not broken. If not, you can expect issues with some programs, like wine or grub to name a couple, but that should not be a problem in a sane installation.

Anyway, if you want a stable system, you should not even start to think about keywording a thing. Just do amd64, and then you can start to add things into keywords if you really need/want some specific package updated. I run ~amd64 in my desktop,  and I have had no portage/gentoo specific problems on it. But that is my choice, and I never complain if I know that something has broken because of that. I also use some cvs stuff, I maintain my overlay manually and I know what exactly is into cvs, and I manually update it when needed, if at all. Of course, when running unstable you will have to keep the pieces yourself, I just wanted to point out that it works fine in a desktop for me, but that does not mean anything.

It is true that you will have still problems with some codecs and flash, though most people can usually work around this without any significant effort. But those are not problems specific to ~amd64, they are specific to any arch not supported by Adobe  :Razz: 

----------

## jeanfrancis

What do you mean by multilib?

Hehe... Yes I know a bit about the "general" x86_64 problems... I read that firefox-bin is working fine and with it I'll run Flash in 32 bits correctly (if I'm right).

As I always take a lot of care of my packages, I'll give a try at ~amd64  :Smile: 

----------

## i92guboj

A "multilib" system is capable of running 32 bits binaries, thanks to -amongst many other things- having compiled glibc with such support. There is also need to enable compatibility with IA32 binaries in the kernel, it is an option in the same place where you can activate ELF support and support for a.out binaries. Of course, it is only visible when using a 64 bits environment.

If you use the stage3 (which you should), you will not run into problems. Just set your profile to something different of the no-multilib profile. For example, you could use 

```

ln -sf /usr/portage/profiles/default-linux/amd64/2006.1/desktop /

```

You could also use /usr/portage/profiles/default-linux/amd64/2006.1/server, but not /usr/portage/profiles/default-linux/amd64/2006.1/no-multilib, unless you don't need binary compatibility with 32 bits applications.

If your system is configured this way you should be able to run any program using 32 bits pieces, for example firefox-bin, neverwinter nights or openoffice-bin. You will also need multilib to compile programs like grub or wine. That removes a big obstacle in your transition to the 64 bits land, since you will always have the possibility to run a 32 bits precompiled binary if something doesn't want to compile on amd64.

----------

## jeanfrancis

I see  :Smile: 

Will I have to do anything particular, for example to compile Wine? (standard emerge will do it for me?  :Smile: )

Do you use the Desktop profile, or the 2006.1 "no desktop, no server" profile? The desktop profile has so much USE flags I don't know about or use... hmmm  :Wink: 

----------

## i92guboj

Well, you can use the 2006.1 profile as well. They do not differ in any critical stuff, just some use flags. Any of the amd64 ones is ok, just don't choose the no-multilib one.

You will not need anything special to compile wine or any other stuff if the ebuilds are known to work on amd64 (wine and all the stable ones in portage should and I have not had any problem) and you are not using "no-multilib". Nowadays, to set a working amd64 system is not any more difficult that setting and x86 one.

----------

## jeanfrancis

Great  :Smile: 

So let's go for Stage 3 + ~amd64 + 2006.1 "standard" profile  :Smile:   (or desktop profile with USE="-... -..." in make.conf)  :Wink: 

----------

## jeanfrancis

Note: as soon as I get my laptop... I learned today that it may be unavailable... already 1 week late  :Wink: 

----------

## jeanfrancis

Another small question... Here is the way I think I'll proceed, please correct it if necessary  :Smile: 

- Follow the amd64 guide for stage3, portage, etc.

- Portage sync.

- Set to ~amd64, verify profile.

- update? (or can I go directly to emerge -e system?)

- emerge -e system twice (to ensure a consistent toolchain, built with a consistent toolchain  :Wink: )

- install remaining applications (X, xfce, firefox, openoffice, etc)

----------

## keenblade

 *jeanfrancis wrote:*   

> ...
> 
> - Set to ~amd64, verify profile.
> 
> - update? (or can I go directly to emerge -e system?)
> ...

 

I think multiple "emerge -e world" are actually unnecessary even useless. There is an interesting article about this topic.

Since you will make a new installation, there is no need to "emerge -e world", I think. It is needed only for upgrading your old toolchain which you lack. Your toolchain already will be  brand new unless you install from an old install media.

I run ~amd64. So far, so good.

make.conf

```

CFLAGS="-march=athlon64 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

MAKEOPTS="-j2"

USE="acpi alsa apache2 arts bluetooth cairo cdr dbus -debug dri dvd dvdr dvdread eds emboss encode esd fam ffmpeg firefox flac gif gnome gstreamer gtk gtk2 hal jack java jpeg kde lash ldap lm_sensors mad mysql mikmod mp3 mpeg ncurses nls ogg opengl png qt4 quicktime readline sdl spell sqlite3 ssl truetype unicode usb vorbis win32codecs X xml xorg xv xvid zlib"

ACCEPT_KEYWORDS="~amd64"

```

package.keywords

```

media-video/vlc a52 aac aalib cddb fbcon libcaca matroska mod nsplugin skins theora vcd wxwindows

media-sound/jack-audio-connection-kit jack-tmpfs

media-sound/alsa-driver jack

media-plugins/alsa-plugins jack

media-sound/rosegarden jack -arts

media-sound/ardour jack

app-editors/emacs-cvs xft gtk toolkit-scroll-bars

x11-libs/qt qt3support

net-im/gaim msn

```

----------

## jeanfrancis

 *keenblade wrote:*   

> Since you will make a new install no need to "emerge -e world", I think. It is needed only for upgrading your old toolchain which you lack. Your toolchain already will be  brand new unless you install from an old install media.
> 
> I run ~amd64. So far, so good.

 

Thanks for your info on make.conf and package.keywords.

However, a "fresh" install using a stage3 takes a stage3 archive from the Gentoo release. As the release packages aren't up to date, it has old versions of gcc, glibc, etc.

The first sync + emerge -uNDav system will show a lot of updates, including GCC... So I think at least 1 update + 1 emerge -e system is necessary. (I may be wrong, my L33t status only shows I help a lot on the forums  :Wink: )

----------

## keenblade

 *jeanfrancis wrote:*   

> ...
> 
> The first sync + emerge -uNDav system will show a lot of updates, including GCC... So I think at least 1 update + 1 emerge -e system is necessary. (I may be wrong, my L33t status only shows I help a lot on the forums )

 

You are absolutely right. I checked my installation and find what!   :Shocked: 

```

grep gcc-4.1.1-r3 /var/log/emerge.log

1167698313:  === (77 of 102) Compiling/Merging (sys-devel/gcc-4.1.1-r3::/usr/portage/sys-devel/gcc/gcc-4.1.1-r3.ebuild)

```

----------

## i92guboj

 *jeanfrancis wrote:*   

> Another small question... Here is the way I think I'll proceed, please correct it if necessary 
> 
> - Follow the amd64 guide for stage3, portage, etc.
> 
> - Portage sync.
> ...

 

To this point, that is what I would do. Then I would just "emerge -auDvN system" and go from there. Add -e if you really feel the need to recompile everything.

Multiple compilations of the toolchain are useless, unless you are compiling a new compiler with a very old one, in which case the quality of the resulting object code might not be the best available today, and that is not usually a good reason still.

For the rest, it is totally pointless that you compile gcc-4.1.1 with gcc-4.1.1 twice. The object code you obtain does not depend on how "optimized" your gcc is, but in "which version" it is.

Gcc 4.1.1 with your cflags will produce the same code regardless of the cflags that you used to compìle it -meaning by 'it' the gcc that you are using to compile your definitive one-. It is only the version and the CURRENT cflags which matters for the result. So, if you are using 4.x in the installation environment, I don't see a reason why you should rebuild your toolchain many times.

Then, you can start installing the rest of the things.

----------

## i92guboj

 *keenblade wrote:*   

>  *jeanfrancis wrote:*   ...
> 
> The first sync + emerge -uNDav system will show a lot of updates, including GCC... So I think at least 1 update + 1 emerge -e system is necessary. (I may be wrong, my L33t status only shows I help a lot on the forums ) 
> 
> You are absolutely right. I checked my installation and find what!  
> ...

 

If you really want to rebuild all with your shinny new compiler, why not upgrade the toolchain first (gcc, glibc and binutils, in that order) and the just do an "emerge -aeuDvN system". Recompiling most system packages twice will not do any good.

----------

## jeanfrancis

 *6thpink wrote:*   

> If you really want to rebuild all with your shinny new compiler, why not upgrade the toolchain first (gcc, glibc and binutils, in that order) and the just do an "emerge -aeuDvN system". Recompiling most system packages twice will not do any good.

 

I understand better now... thanks  :Smile:  I saw lots of threads saying to emerge -e system twice, then emerge -e world twice to people with problems with the toolchain... I guessed it was obsessive, and now, with what I read from you and the article (thanks to keenblade), I understand that this is useless  :Wink: 

I can't wait to have my notebook!   :Mad:   I hope they will be able to get it! I read on all selling sites that this is a special order (no one in stock  :Wink: )

----------

## keenblade

 *6thpink wrote:*   

> ...
> 
> If you really want to rebuild all with your shinny new compiler, why not upgrade the toolchain first (gcc, glibc and binutils, in that order) and the just do an "emerge -aeuDvN system". Recompiling most system packages twice will not do any good.

 

Thanks. (at emerge.log) with my regular "emerge -vuDN world", they are upgraded with this order: binutils, gcc, glibc. I never did "emerge -e system", because I thought only networkless  install needed it.  So can I assume my toolchain is updated properly?

----------

## jeanfrancis

 *keenblade wrote:*   

>  *6thpink wrote:*   ...
> 
> If you really want to rebuild all with your shinny new compiler, why not upgrade the toolchain first (gcc, glibc and binutils, in that order) and the just do an "emerge -aeuDvN system". Recompiling most system packages twice will not do any good. 
> 
> Thanks. (at emerge.log) with my regular "emerge -vuDN world", they are upgraded with this order: binutils, gcc, glibc. I never did "emerge -e system", because I thought only networkless  install needed it.  So can I assume my toolchain is updated properly?

 

I would say yes... But I'll wait for 6thpink's answer  :Smile: 

----------

## jeanfrancis

 :Evil or Very Mad:  Toshiba seems to be "not" shipping the computer... ! I guess I'll have to wait for new models and a deal from the shop to try this out  :Wink: 

----------

## keenblade

 *jeanfrancis wrote:*   

>  Toshiba seems to be "not" shipping the computer... ! I guess I'll have to wait for new models and a deal from the shop to try this out 

 

Don't forget to tell us your laptop model and the success story of installation, when you got it.

----------

## jeanfrancis

Yes  :Smile: 

I even started my first wiki page  :Wink:  (I don't even know if I proceeded correctly...)

http://gentoo-wiki.com/HARDWARE_Toshiba_Satellite_A100-TA9

If I get this one, here it is... if not, I'll delete this wiki and let you know about the new one  :Wink: 

I'm "supposed" to know what I will get with Microsoft will release Vista, then Toshiba their laptops  :Wink: 

----------

