On 10/09/15 05:49, Alan McKinnon wrote:
On 09/09/2015 21:37, Ajai Khattri wrote:
On Fri, 4 Sep 2015, Fernando Rodriguez wrote:

Post your emerge --info.
Why do you have  i686-pc-linux-gnu-gcc on a 64-bit machine?
FYI, this is 32bit Gentoo running on a 64bit virtual machine (so it has
a 64bit kernel) because awhile ago I upgraded from a 32bit setup. Was
hoping I wouldn't have to reinstall the whole OS...

You have a 64 bit kernel, this is true, but a 32 bit userland.

I don't know how Go does these things but apps don't usually talk to the
kernel directly, they talk to libc. Which in your case is ... 32 bit

Reinstall.
Not necessary. It builds successfully with the command:

linux32 emerge go

Without the linux32 pre-command, the go build system detects the system as "linux/amd64". However, when adding it the system is identified as "linux/386".

(But beware that it will probably cause issues when you update in future)

I've been running a system with 64 bit kernel and 32 bit userspace for quite a few years and its only the 4th issue I've hit, so while its generally not supported, it still works mostly. For reference, the other issues I've hit are:
 - kernel ABI incompatibility with autofs (fixed in a later kernel)
 - virtualbox kernel modules needed to be built 64 bit
- steam has issues detecting system & tries to launch 64 bit binaries (I'll try the linux32 trick with that later too)

I'd never had more than passing interest in go, but tonight I've started working through the tutorial & I think I'll keep playing with it for a bit.

Cheers
Bruce

--
:b

Reply via email to