Summary: | gcc 6.4.0 bootstrap on FreeBSD: error: multiple types in one declaration | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Pengcheng Xu <i> |
Component: | FreeBSD | Assignee: | Gentoo/BSD Team <bsd+disabled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | nigoro.dev |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log, bzip2-compressed |
Description
Pengcheng Xu
2017-08-28 03:21:02 UTC
Created attachment 490938 [details]
build.log, bzip2-compressed
I've confirmed this problem on Gentoo/FreeBSD 9.1, 11.0. I don't know what the real cause of this problem is but I know sys-devel/binutils-2.28 or later version causes some serious problems like Segmentation fault. Would you try binutils-2.27-r1 or older version and please tell me a result? Thanks. The following is an additional information for Gentoo/FreeBSD developers, I've confirmed sys-devel/binutils-2.28.1 works correctly on Gentoo/FreeBSD 11.1. (it's a next version but it isn't available from the official tree yet. I'll open a PR soon.) I'd like to add '>=sys-devel/binutils-2.28' to profiles/releases/freebsd-{9.1,10.3,11.0}/package.mask instead of looking into the real cause. Thanks a lot for the information. Replacing the buggy binutils-2.28 with 2.27 saved my day on my work with the clang stage elsewhere (where clang is generating segfaulting binaries). Unfortunately I'm not able to test if it fixes the problem as I can't reproduce the situation now. The gcc build is stuck at a mysterious "checking for docbook stylesheets for documentation creation...". (despite the fact that the virtual machine has been suspended since the bug was created) For the binutils problem, I'd recommend removing the ~fbsd keywords from =sys-devel/binutils-2.28.1 as they're known not to work on fbsd now. Ah sorry, please ignore my previous comment on the binutils issue. Great! After several annoying kill -HUP $(pgrep xsltproc) 's (which I'm trying to figure out why...), the gcc build succeeded. Seems like masking >=sys-devel/binutils-2.28 for now works perfectly. FYI, I've found the patch for this bug. If you want to use the binutils-2.28.1 on the older versions of Gentoo/FreeBSD, please apply the patch to sys-freebsd/freebsd-libexec. Here's the fix for version 11.0: https://svnweb.freebsd.org/base?view=revision&revision=312401 And, here's the fix for version 10.3: https://svnweb.freebsd.org/base?view=revision&revision=312402 If you don't want to apply the patch, please add LDFLAGS="-Wl,-z,norelro" to /etc/portage/make.conf as a workaround. But, be careful. The workaround will disable relro. If possible, please don't use it to keep your computer security. Thanks. (In reply to Yuta SATOH from comment #6) > If you don't want to apply the patch, please add LDFLAGS="-Wl,-z,norelro" to > /etc/portage/make.conf as a workaround. > But, be careful. The workaround will disable relro. If possible, please > don't use it to keep your computer security. When I was updating the upgrade guide, I realized this workaround is incomplete. The gold linker should be disabled to compile gcc: EXTRA_ECONF="--disable-relro --disable-gold" emerge binutils |