| Summary: | dev-lang/go: failed to emerge go with binary format error on ppc64le | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Leno Hou <lenohou> |
| Component: | [OLD] Development | Assignee: | William Hubbs <williamh> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | blueness, kevin.zhaoshuai, ppc64, vapier |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | PPC64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Leno Hou
2016-04-26 17:14:39 UTC
does go have a LE port ? if not, then just mask go in the LE sub-profile. We've successfully used gcc5[go] to compile GO-1.6.1 on ppc64le. So GO-1.6.1 have LE port. It does, and I can build a bootstrap binary for you so you don't have to use gccgo; I will include one with 1.6.2. Looking at the profiles, I currently do not see a way to tell the difference between ppc64 and ppc64le, so I don't know how to support it. Is the support not in the tree yet? The difference ARCH ppc64 ppc64le CHOST powerpc64-unknown-linux-gnu powerpc64le-unkown-linux-gnu tc-arch ppc64 ppc64le So maybe you can use CHOST or tc-arch to distinguish . There now is a bootstrap tarball for ppc64le, so the only thing left is to figure out what I can test against to select it to download in src_uri. I added go-1.6.2 to the tree along with the download for a ppc64le bootstrap tree I created. Please try to build go-1.6.2 without gccgo on ppc64le and report back. Thanks, William Hi William, Build with failures as same as before and I'll send the workaround patch for you. This workaround patch works fine with me. e.g. successfully build go-1.6.2 without gccgo. Could you help me to review and merge ? Thanks Hi, Sure, I'll take a look at what you send. What I've found looks like tc-arch might be the culpret. Line 153 in the ebuild is where GOROOT_BOOTSTRAP is set. The go_arch function selects the architecture based on tc-arch, but it doesn't appear to recognize ppc64le? Yes. select architecture based on tc-arch can't recognise ppc64le platform. So I changed to based on tc-endian. Based on your information, I modified go_arch to take tc-endian into account. Please try to build again without the gccgo use flag and report back. Thanks, William Thanks in advance. Works fine. >>> Installing (1 of 1) dev-lang/go-1.6.2::gentoo * fixing timestamps to avoid unnecessary rebuilds ... [ ok ] * Messages for package dev-lang/go-1.6.2: * GOROOT_BOOTSTRAP is /var/tmp/portage/dev-lang/go-1.6.2/work/go-linux-ppc64le-bootstrap >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. * IMPORTANT: 3 config files in '/etc' need updating. * See the CONFIGURATION FILES section of the emerge * man page to learn how to update config files. * IMPORTANT: 13 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. Thanks for your help. |