Package Base Details: gcc-git

Git Clone URL: (read-only, click to copy)
Submitter: Allan
Maintainer: jamespharvey20
Last Packager: jamespharvey20
Votes: 11
Popularity: 0.002531
First Submitted: 2013-06-26 03:43
Last Updated: 2019-10-13 02:29

Pinned Comments

jamespharvey20 commented on 2019-10-13 02:28

Temporarily hold to commit fcab78b9 (2019-10-01 18:21:31.) Otherwise, fails to build. There are several breaking commits after this, involving packaging failures on ada and a bootstrap failure when comparing stages 2 and 3.

jamespharvey20 commented on 2017-02-15 04:30

*** STICKY ***

These gcc*-git packages replace core's gcc* (non-git) packages. Technically, replacing the system gcc-libs can be dangerous. The possibility of a new upstream gcc git commit breaking your system isn't zero. When you compile and install this, you're using the latest git source, so you may be the first Arch user to be using that particular commit.

In practice, I haven't seen an Arch user report such a problem for many years. Just understand that if installing these packages causes your computer to eat you, don't have your loved ones blame me. Oh, and know that if things go wrong, all you *should* have to do is uninstall the git version and go back to a previously working git version or even the core version. You might be able to do this while your system is still running, or you might have to do something like boot off an Arch ISO CD.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

jamespharvey20 commented on 2018-10-19 11:23

Just pushed an update. It's pinned at commit 7961f40b (trunk/master branch, but dated 2018-09-25.) I've tested it with "makepkg" and "extra-x86_64-build".

It's pinned on a commit as of 3 weeks ago, because any more recent than that (starting at 81512c36) gives a compilation failure in gcc's bootstrap stage 3. If I run this offending commit, or even trunk/master's most recent commit, manually with the commands in the PKGBUILD, it builds fine. But, as soon as I run those same commands through "makepkg" ("extra-x86_64-build" internally uses "makepkg") the compilation fails.

I wrote a very detailed post about this here:

I would appreciate any help on this, including a confirmation by someone that this PKGBUILD with 7961f40b builds but that with 81512c36 or trunk/master (remove the "#commit=...") it fails.

You may have success with trunk/master by adding "--disable-bootstrap" as an option to configure. I personally don't want to run a gcc that fails bootstrap stage 3, don't recommend that you do either, and don't feel comfortable releasing one here that uses this option.

jamespharvey20 commented on 2018-10-18 04:33

Sorry, been working on this for the past few days actually.

I just pushed a bunch of commits all at once, rebuilding starting with core's gcc. I re-did all the modifications I've made that weren't pushed yet, in small commits to show small steps, hoping to find a mistake. (BTW, only the most recent pushed commit has a rebuilt .SRCINFO, as the other commits pushed with it at the same time were intended to show steps, and not necessarily be valid within themselves, or be intermediary places to actually use.)

After fixing the issue described below, I will update to use isl-0.20. (Doing so has no effect on the error.) I wouldn't be surprised if there's one or two other modifications to make to actually build the package. (Previously, provides gave basever, this is trying out a full pkgver, etc.)

If I manually follow the steps in the PKGBUILD (run everything in prepare(), the exact same configure, and make) it compiles correctly, and gets me manually to where the end of the PKGBUILD's build() would be.

If I run extra-x86_64-build (devtools, my preference), or even makepkg, it fails to compile, with the error below. This is before the PKGBUILD's build() finishes, specifically in running plain "make".

I've been quite confused. My next step is to look through what makepkg is doing, and hopefully figure out how to reproduce the failure manually and if needed figure out if it's possible to perform an efficient bisect. I'll also be posting on the PKGBUILD forums. Might reach upstream, but I'm not thinking the issue lies there since it compiles just fine outside of makepkg.

I don't know how the other AUR building tools will do, until this is fixed. I wouldn't be surprised if they all use makepkg at some point, so my bet is they will fail.

Using makepkg or extra-x86_64-build (devtools), I get this compilation error in stage 3 of the build (which is a verification step of gcc's build process.)

Full build error here (too hard to post here, AUR takes too much of it as formatting):


/build/gcc-git/src/gcc/gcc/config/i386/i386.c:19200:1: error: invalid operand in unary operation

19200 | output_fix_trunc (rtx_insn insn, rtx operands, bool fisttp)

   | ^~~~~~~~~~~~~~~~

/build/gcc-git/src/gcc/gcc/config/i386/i386.c:19200:1: error: incorrect sharing of tree nodes

(ssizetype) _19

_58 = (long unsigned int) ((ssizetype) _19 <= 7 ? 7 - (ssizetype) _19 : 0);

/build/gcc-git/src/gcc/gcc/config/i386/i386.c:19200: confused by earlier errors, bailing out

make[3]: *** [Makefile:2287: i386.o] Error 1

SpaceboyRoss commented on 2018-10-18 00:19

==> ERROR: pkgver in provides is not allowed to be empty.

marehr commented on 2018-05-31 14:54

Since a recent system update (It might be a pacman update), I can't build this anymore:

makepkg -si

==> ERROR: pkgver in provides is not allowed to be empty.

==> ERROR: An unknown error has occurred. Exiting...

Any help?

ssorgatem commented on 2018-03-16 13:28

It gives an error due to not finding x86_64-pc-linux-gnu/libcilkrts

ssorgatem commented on 2018-03-16 13:27

The packaging step doesn't work

EndlessEden commented on 2017-05-21 00:27

Please update the PKGBUILD to conform with binutils-git(s/binutils>=2.26/binutils>=2.29/)

jamespharvey20 commented on 2017-04-03 01:28

@giacombum. Also, I've never used yaourt before. But, out of curiosity, in a VM, I installed yaourt and successfully built gcc-git 7.0.1.r153096.7714131b8c8-1.

jamespharvey20 commented on 2017-04-02 04:21

@giacombum. This is caused by your CHOST environment variable being set incorrectly.

My bet is: (1) in your /etc/makepkg.conf, your CHOST is set to "x86_64-unknown-linux-gnu", rather than "x86_64-pc-linux-gnu"; and (2) there's probably an /etc/makepkg.conf.pacnew file. If this is the case, if you never made custom modifications to makepkg.conf, move the .pacnew file to the .conf file. Read up at, and read through pacman notifications when upgrading packages for the future.

Please comment back if this was the issue or not.

I ran into the exact failure you're having in late 2015 (you can see comments on this package) when upstream gcc git changed, and no longer expected the vendor portion of CHOST to be "unknown". On a x86_64 platform, it started expecting "pc".

In late 2015, I changed this PKGBUILD to have a workaround of changing unknown to pc, which should have worked for everyone on x86_64 platforms. On 2/15/2017, I changed the PKGBUILD to mirror the gcc (non git) package, which was able to avoid this workaround since /etc/makepkg.conf had been changed to use "pc".

You'll see in the beginning part of your build, it's properly using "x86_64-pc-linux-gnu". Then, you hit PKGBUILD line 110 (just after running "make") which is "make -C $CHOST/libstdc++-v3/doc doc-man-doxygen" which causes the failure.

giacombum commented on 2017-03-30 21:26

I obtain the following error:

/bin/sh ./libtool --tag=CC --mode=link /tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc-build/./gcc/xgcc -B/tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc-build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -mrtm -Wall -Werror -Wc,-pthread -g -march=native -O2 -fstack-protector-strong -Wl,-O1 -o -version-info 1:0:0 -Wl,--version-script,/tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc/libitm/ -rpath /usr/lib/../lib aatree.lo alloc.lo alloc_c.lo alloc_cpp.lo barrier.lo beginend.lo clone.lo eh_cpp.lo local.lo query.lo retry.lo rwlock.lo useraction.lo util.lo sjlj.lo tls.lo method-serial.lo method-gl.lo method-ml.lo x86_sse.lo x86_avx.lo futex.lo
libtool: link: /tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc-build/./gcc/xgcc -B/tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc-build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -shared -fPIC -DPIC .libs/aatree.o .libs/alloc.o .libs/alloc_c.o .libs/alloc_cpp.o .libs/barrier.o .libs/beginend.o .libs/clone.o .libs/eh_cpp.o .libs/local.o .libs/query.o .libs/retry.o .libs/rwlock.o .libs/useraction.o .libs/util.o .libs/sjlj.o .libs/tls.o .libs/method-serial.o .libs/method-gl.o .libs/method-ml.o .libs/x86_sse.o .libs/x86_avx.o .libs/futex.o -mrtm -pthread -march=native -Wl,-O1 -Wl,--version-script -Wl,/tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc/libitm/ -Wl,-soname -Wl, -o .libs/
libtool: link: (cd ".libs" && rm -f "" && ln -s "" "")
libtool: link: (cd ".libs" && rm -f "" && ln -s "" "")
libtool: link: ar rc .libs/libitm.a aatree.o alloc.o alloc_c.o alloc_cpp.o barrier.o beginend.o clone.o eh_cpp.o local.o query.o retry.o rwlock.o useraction.o util.o sjlj.o tls.o method-serial.o method-gl.o method-ml.o x86_sse.o x86_avx.o futex.o
libtool: link: ranlib .libs/libitm.a
libtool: link: ( cd ".libs" && rm -f "" && ln -s "../" "" )
true DO=all multi-do # make
make[4]: Leaving directory '/tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc-build/x86_64-pc-linux-gnu/libitm'
make[3]: Leaving directory '/tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc-build/x86_64-pc-linux-gnu/libitm'
make[2]: Leaving directory '/tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc-build/x86_64-pc-linux-gnu/libitm'
make[1]: Leaving directory '/tmp/yaourt-tmp-giacomo/aur-gcc-git/src/gcc-build'
make: *** x86_64-unknown-linux-gnu/libstdc++-v3/doc: No such file or directory. Stop.