Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Why portage doesn't really support amd64?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64
View previous topic :: View next topic  
Author Message
RushPL
Tux's lil' helper
Tux's lil' helper


Joined: 25 Dec 2005
Posts: 116
Location: Poland, Gdansk

PostPosted: Thu Oct 26, 2006 10:23 pm    Post subject: Why portage doesn't really support amd64? Reply with quote

Hellow fellow amd64 users,
Despite of having an amd64 cpu I am now running on a 32-bit kernel with a 32-bit system, probably like many other people. That is really a pity cause I am not using my CPU's full capabilities. The reasons for using a 32-bit system are quite obvious, handling the 32-bit binaries, wine.... Ok, but why this weird question in the topic name ?
I am simply unable to understand why one has to maintain a lib32 dir manually, couldn't portage do it for him/her ? I imagine this like that: the 32-bit and 64-bit versions of libraries are made in a similiar way to slots so that I can have 2 versions of one library, one 64-bit and the other 32-bit in a lib32 dir ... of course it would require compiling much stuff 2 times but you must agree that it is better than handling it manually and looking for the libraries on the internet ... Well, I'd like to know your opinion because I must confess that I do not have any experience with 64-bit gentoo, I've been only reading about the struggles with it just before buying my Athlon64 ....
Regards,
Rush
Back to top
View user's profile Send private message
hiziki_gard
n00b
n00b


Joined: 05 Jan 2006
Posts: 50
Location: dark side of the moon

PostPosted: Thu Oct 26, 2006 10:48 pm    Post subject: Reply with quote

Obviously you should've at least tried gentoo amd64. It runs perfectly here including wine. The necessary emulation library for the 32 bit app that you might need are provided in portage. The only 32-bit linux apps that I occasionally run are firefox-bin for flash/java compatability and mplayer-bin for any windows media files that I need to play. A week ago I was also running the 32 bit openoffice binary but that changed with the release of 2.04.
_________________
default-linux/amd64/2007.0, gcc-4.2.3, glibc-2.7-r2, 2.6.25-hh5 x86_64
Back to top
View user's profile Send private message
Headrush
Watchman
Watchman


Joined: 06 Nov 2003
Posts: 5597
Location: Bizarro World

PostPosted: Thu Oct 26, 2006 10:50 pm    Post subject: Reply with quote

Everything you mentioned IS handled by portage and -bin packages as needed. :roll:

(Never had to install a single library manually, ever and no use for a 32bit chroot either.)
Back to top
View user's profile Send private message
UncleOwen
Veteran
Veteran


Joined: 27 Feb 2003
Posts: 1493
Location: Germany, Hamburg

PostPosted: Thu Oct 26, 2006 11:00 pm    Post subject: Reply with quote

Headrush wrote:
Everything you mentioned IS handled by portage and -bin packages as needed. :roll:


Though it would be cool if you could compile the emul-linux-x86-foo-packages for yourself instead of using -bin packages. But there is the usual problem: The idea has been there for ages, it's just that no-one has gotten around to do it. I'm pretty sure that patches are welcome.
Back to top
View user's profile Send private message
RushPL
Tux's lil' helper
Tux's lil' helper


Joined: 25 Dec 2005
Posts: 116
Location: Poland, Gdansk

PostPosted: Thu Oct 26, 2006 11:16 pm    Post subject: Reply with quote

Well, despite from what you're saying people still sometimes run into problems of missing 32-bit libraries like SDL on 64-bit platforms .. or maybe I was misguided ? ... And why do you use firefox-bin ? Why do people also use mplayer-bin on amd64 ? Maybe it's because you cannot do a 32-bit emerge on another slot ? Ok, I might have been A BIT wrong about the libs themeselves but the 32-bit compiling of normal applications is NOT handled by portage for sure. Unless it is supported, I will just say that the amd64 support is not full, using binaries is not the Gentoo way, if you know what I mean ....
Cheers.
PS. My posts sounds a bit a like an attack but it isn't by any means. ;)
Back to top
View user's profile Send private message
UncleOwen
Veteran
Veteran


Joined: 27 Feb 2003
Posts: 1493
Location: Germany, Hamburg

PostPosted: Thu Oct 26, 2006 11:27 pm    Post subject: Reply with quote

RushPL wrote:
Why do people also use mplayer-bin on amd64 ? Maybe it's because you cannot do a 32-bit emerge on another slot ?


Because 32bit binary codecs/plugins don't work in 64bit mplayer/firefox. Nothing Gentoo can do about.

btw: http://en.wikipedia.org/wiki/Plenk
Back to top
View user's profile Send private message
Headrush
Watchman
Watchman


Joined: 06 Nov 2003
Posts: 5597
Location: Bizarro World

PostPosted: Thu Oct 26, 2006 11:34 pm    Post subject: Reply with quote

UncleOwen wrote:
RushPL wrote:
Why do people also use mplayer-bin on amd64 ? Maybe it's because you cannot do a 32-bit emerge on another slot ?


Because 32bit binary codecs/plugins don't work in 64bit mplayer/firefox. Nothing Gentoo can do about.

btw: http://en.wikipedia.org/wiki/Plenk

Or use one of the cvs versions of mplayer in several of the portage overlays. Haven't needed mplayer-bin since switching.

RushPL wrote:
Well, despite from what you're saying people still sometimes run into problems of missing 32-bit libraries like SDL on 64-bit platforms .. or maybe I was misguided ? ... And why do you use firefox-bin ? Why do people also use mplayer-bin on amd64 ? Maybe it's because you cannot do a 32-bit emerge on another slot ? O
PS. My posts sounds a bit a like an attack but it isn't by any means. ;)

Can you be more specific of the 32-bit libraries like SDL examples?
Most often 32bit bin versions are needed when proprietary 32 bit only binary programs are all that is available. (flash, shochwave, etc.)

RushPL wrote:
I might have been A BIT wrong about the libs themeselves but the 32-bit compiling of normal applications is NOT handled by portage for sure. Unless it is supported, I will just say that the amd64 support is not full, using binaries is not the Gentoo way, if you know what I mean ....

You can set up Gentoo to compile 32 bit versions of programs, the question you have to ask, is for a few programs, is the effort worth it?
Most users are gonna say no.

The only -bin programs I have or have had are mplayer, firefox, and openoffice.
With the current cvs mplayer, mplayer-bin is no longer needed. With the 32bit plugins on 64 konqueror I don't need firefox-bin.
I only use openoffice-bin to save time. Everything else works so far.
Back to top
View user's profile Send private message
RushPL
Tux's lil' helper
Tux's lil' helper


Joined: 25 Dec 2005
Posts: 116
Location: Poland, Gdansk

PostPosted: Fri Oct 27, 2006 12:01 am    Post subject: Reply with quote

UncleOwen wrote:
RushPL wrote:
Why do people also use mplayer-bin on amd64 ? Maybe it's because you cannot do a 32-bit emerge on another slot ?


Because 32bit binary codecs/plugins don't work in 64bit mplayer/firefox. Nothing Gentoo can do about.

Well, I already knew that, that question was retoric. My point is that it should be possible to emerge a 32-bit version of mplayer without any black magic.

Quote:
btw: http://en.wikipedia.org/wiki/Plenk

Sorry and thanks for pointing that out.

Headrush wrote:
UncleOwen wrote:
RushPL wrote:
Why do people also use mplayer-bin on amd64 ? Maybe it's because you cannot do a 32-bit emerge on another slot ?


Because 32bit binary codecs/plugins don't work in 64bit mplayer/firefox. Nothing Gentoo can do about.

btw: http://en.wikipedia.org/wiki/Plenk

Or use one of the cvs versions of mplayer in several of the portage overlays. Haven't needed mplayer-bin since switching.

You mean the new wmv support in mplayer-1.0-rc1?

Quote:

RushPL wrote:
Well, despite from what you're saying people still sometimes run into problems of missing 32-bit libraries like SDL on 64-bit platforms .. or maybe I was misguided ? ... And why do you use firefox-bin ? Why do people also use mplayer-bin on amd64 ? Maybe it's because you cannot do a 32-bit emerge on another slot ? O
PS. My posts sounds a bit a like an attack but it isn't by any means. ;)

Can you be more specific of the 32-bit libraries like SDL examples?
Most often 32bit bin versions are needed when proprietary 32 bit only binary programs are all that is available. (flash, shochwave, etc.)

I exactly remember that when a friend of mine was installing UT99 on his amd64-gentoo, he asked for my help in running it, he was missing some libraries, one of them was SDL. (not to mention that SDL was emerged) We ended up in filling the missing dependencies with the Slackware libraries. :D It's hard to be specific at this hour(2:21 here) ... just imagine those closed-source games and applications. :)

Quote:

RushPL wrote:
I might have been A BIT wrong about the libs themeselves but the 32-bit compiling of normal applications is NOT handled by portage for sure. Unless it is supported, I will just say that the amd64 support is not full, using binaries is not the Gentoo way, if you know what I mean ....

You can set up Gentoo to compile 32 bit versions of programs, the question you have to ask, is for a few programs, is the effort worth it?
Most users are gonna say no.

That's quite a good point of yours ... however are you saying about the effort of implementing the missing(in my opinion) features in portage or just the effort of manually playing with compiler flags/install dirs? I think the first is really worth it cause it would open some nice possibilities, it would just be very very cool and it would of course save the effort of users. :P

Good night for now.
Back to top
View user's profile Send private message
dopey
Apprentice
Apprentice


Joined: 10 Feb 2003
Posts: 235

PostPosted: Fri Oct 27, 2006 2:26 pm    Post subject: Reply with quote

The original poster has a good point here, and it's not something for everyone, but it's a good idea for those that heavily rely on both 64-bit and 32-bit envs. Having to use chroot should only be a temporary workaround until a true dual 32-bit and 64-bit environment is supported via portage.
basically, instead of using app-emulation packages, all packages that contain libraries can be double built. Take a look at glibc's ebuild for amd64 arch. This is also similar to how glibc used to build both non-nptl and nptl versions and include them into different directories.

Solaris and RedHat 64-bit do the same thing. /lib and /usr/lib are 32-bit libraries. /lib64 and /usr/lib64 are 64-bit versions of the libraries. Each package ebuild can be modified to build both at the same time (possibly even controlled via a use flag) and the appropriate libraries are packaged into the appropriate directories. This allows both 32-bit and 64-bit runtime and development support. RedHat hasn't fully implemented the development portion of it as a good number of their packages don't include .la and .a files necessary for linking 32-bit applications but they have more 32-bit development support than gentoo's linux-emul-x86 packages do, and Solaris I believe has ALL of it's supported 32-bit runtime libraries complemented by their development files as well.

I found another gentoo forum post that stated that the devs were working at a similar such layout but not to expect it anytime soon.

As for building your own linux-emul-* packages you can. The emool tool can be used to do it. The steps to use emool are:
1) emerge emool
2) edit /etc/emool/emool.conf as necessary
2a) optional step is to create /etc/emool/portage/package.[use, keywords, unmask, etc] files.
3) download a i686 stage3 tarball to the location specified by the stage property in emool.conf
4) run emool [packages to include in an linux-emul tarball]
5) create your own ebuild and use the package created in #4. The tarball will be located in the cwd that you ran the emool command from.

Emool is very poorly documented, so if you know bash shell scripting, read the scripts to figure out what it's doing.

One thing I use emool for is to build my own freetype library with the TT bytecode interpreter enabled via the bindist use flag. Thus, my /etc/emool/portage/package.use contains
media-libs/freetype bindist

Then i run /usr/sbin/emool freetype
This extracts the stage tarball and sets it up for a temporary chroot environment. It then chroot's into that environment and emerge's freetype then creates a tarball containing the .so files that freetype created. I then created my own ebuild to use to emerge that tarball. Or you could just extract that tarball into / without using an ebuild and it'll put the files into the proper /emul directories.

emool's script is incredibly basic, and very very very poor at handling error conditions, so it's not for the faint of heart. For example, if an emerge bombs out emool doesn't detect that and bomb out itself. Instead if continues on and then finally fails when it can't find the files it's looking for. This breaks the emool chroot and requires you to fix it by hand (it's a pain in the ass).

However, last night, I managed to create a custom stage3 tarball to build things using /emul/linux/x86/usr/lib as the --libdir argument for configure by default, and was able to build all the gnome libraries necessary to support gnome-vfs in firefox-bin. YAY!! I know have XDG MIME support in firefox-bin.

If i get unlazy this weekend I'll create a gentoo-wiki article for it. Given the amount of yardwork I have to do and required wife-time I doubt I'll get to it, but I can try :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on AMD64 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