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