I'm working with an Athlon X2 machine (experienced with Gentoo, but new to AMD64). The main thing this machine will be used for is to run Cerberus Helpdesk. I got that installed, but it chokes when it tries to load libcurl. Cerberus support tells me it's because it's a 64-bit library.

So I need a 32-bit version of curl. What I'm wondering is, can't I just compile it myself in 32-bit mode? I could even hack the ebuild a bit to have it done automatically every time I update curl if I get truly ambitious. I think I just need to a) get my gcc working with the multilib use flag, and b) get the libraries compiled (with advice from the forum FAQ) and stuck into /usr/lib32. Does this sound rational? Is there an easier way?

The only stumbling block I have ATM is that I can't seem to convince my gcc to recompile with multilib. When I do an emerge -v, multilib shows up as

Code:

(-multilib)

which I guess means I can't change it (since adding mulitlib to make.conf and packages.use both failed abysmally). My profile is set to

which is the multilib profile, right? I have the following emul-linux-x86 libs installed (if that's relevant): baselibs, compat, and glibc. No X on this machine, so I don't think I need any of the others.

Any thoughts?

Last edited by barefootcoder on Thu Apr 27, 2006 11:53 pm; edited 1 time in total

There's an older 32 bit curl in my xine32 ebuild that you could use since xine relies on it. It's getting a bit dated, but installing it should work. I didn't break it into a seperate package from xine, though. The xine files could be removed and you could redo it pretty easily to just be curl. Just search the amd64 board for xine32 and you'll find it._________________"we should make it a law that all geeks have dates" - Linus

The reason you can't 'enable' multilib is because it is already enabled. When a USE flag is in ()s, that means the flag exists for certain profiles but your profile does not have the option of changing it. In your case, your profile forces you to use multilib so it is actually already on.

There's an older 32 bit curl in my xine32 ebuild that you could use since xine relies on it. It's getting a bit dated, but installing it should work. I didn't break it into a seperate package from xine, though. The xine files could be removed and you could redo it pretty easily to just be curl. Just search the amd64 board for xine32 and you'll find it.

Thanx, I'll give that a shot. But I'm still interested in compiling it directly because then I could (theoretically) have an ebuild that keeps it updated as well. But this might get me by temporarily.

Quote:

The reason you can't 'enable' multilib is because it is already enabled. When a USE flag is in ()s, that means the flag exists for certain profiles but your profile does not have the option of changing it. In your case, your profile forces you to use multilib so it is actually already on.

Well, I considered that, but then wouldn't it say

Code:

(+multilib)

instead? If it is on, I should be able to compile the libcurl libs for 32-bit then ... maybe I'll just try it and see what it says.

Thanx paulisdead. I did find it (you might want to update the first post to include the right URL tho) and it works like a charm. Until I get a chance to see if I can generate the 32-bit libs myself (without creating a chroot), this has helped me move forward on testing the Cerberus stuff. Good deal.

Okay! I hacked together an ebuild to make the 32-bit libs for me. Since this could conceivably be useful for others in the same boat, I've included it below. A quick diff of this vs. the standard ebuild it's patterned after should reveal what I changed (and it wasn't all that much).

So niskel, you were right and multilib is apparently turned on for my gcc. I still say that it ought to show up as (+multilib) as opposed to (-multilib), but that's a quibble for the emerge authors.

Here's the ebuild. If anyone sees any improvements I could make, please let me know.

Thanks for the tip , I used it for ingame downloads with ioUrbanTerror 4.0 on x64. (needs libcurl for downloading but wouldn`t with the native x64libcurl, so I installed the 32bit version & now works for me

Better late but never _________________Dont waste clock cycles, use GNU/Gentoo!