Re: segfault when building gcc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tom,

That fixed the problem. I installed the latest binutils and now gcc builds 
without any problems.

Thanks for your help!

-Andrew

On Wednesday, September 22, 2021 2:57:46 PM PDT Tom Kacvinsky wrote:
> On Wed, Sep 22, 2021 at 5:47 PM Andrew Benson via Gcc-help <
> 
> gcc-help@xxxxxxxxxxx> wrote:
> > Thanks for pointing that out. It seems that the actual linker command
> > that's
> > segfaulting is:
> > 
> > /usr/bin/ld -v --eh-frame-hdr -m elf_x86_64 -shared -o .libs/libstdc++.so.
> > 6.0.29 -L/home/abenson/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/src
> > -L/home/
> > abenson/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
> > -L/home/abenson/
> > gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
> > -L/home/abenson/
> > gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs
> > -L/home/abenson/
> > gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/src -L/home/abenson/gcc-build/
> > x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/home/abenson/gcc-build/./gcc
> > -L/
> > lib/../lib64 -L/usr/lib/../lib64 -L/home/abenson/gcc-build/./gcc
> > -L/lib/../
> > lib64 -L/usr/lib/../lib64 /usr/lib/../lib64/crti.o
> > /home/abenson/gcc-build/./
> > gcc/crtbeginS.o .libs/compatibility.o .libs/compatibility-debug_list.o
> > .libs/
> > compatibility-debug_list-2.o .libs/compatibility-c++0x.o
> > .libs/compatibility-
> > atomic-c++0x.o .libs/compatibility-thread-c++0x.o
> > .libs/compatibility-chrono.o
> > .libs/compatibility-condvar.o --whole-archive ../libsupc++/.libs/libsupc+
> > +convenience.a ../src/c++98/.libs/libc++98convenience.a
> > ../src/c++11/.libs/
> > libc++11convenience.a ../src/c++17/.libs/libc++17convenience.a ../src/c+
> > +20/.libs/libc++20convenience.a --no-whole-archive -lm -lc -lgcc_s /home/
> > abenson/gcc-build/./gcc/crtendS.o /usr/lib/../lib64/crtn.o -O1 -z relro
> > --gc-
> > sections --version-script=libstdc++-symbols.ver -soname libstdc++.so.6GNU
> > ld
> > version 2.20.51.0.2-5.42.el6 20100205
> 
> I'd say your binutils is way out of date for building the version of GCC
> your
> building. I am not sure what the recommended policy is for building GCC.
> 
> Can you try building a new binutils and putting that on PATH before building
> GCC?
> 
> Tom
> 
> with a particular binutils, but 2.20 is like 17 revisions behind the
> current binutils.
> 
> > On Wednesday, September 22, 2021 2:37:27 PM PDT Jeff Law wrote:
> > > On 9/22/2021 2:25 PM, Andrew Benson via Gcc-help wrote:
> > > > I'm attempting to build GCC (current git master) but am running into a
> > > > segfault.
> > > > 
> > > > I'm configuring using:
> > > > 
> > > > ./gcc-git/configure
> > 
> > --prefix=/home/abenson--enable-languages=c,c++,fortran
> > 
> > > > -- disable-multilib
> > > > 
> > > > which appears to succeed. Then running make eventually gives
> > > > 
> > > > libtool: link:  /home/abenson/gcc-build/./gcc/xgcc -shared-libgcc
> > 
> > -B/home/
> > 
> > > > abenson/gcc-build/./gcc -nostdinc++
> > > > -L/home/abenson/gcc-build/x86_64-pc-linux- gnu/libstdc++-v3/src
> > > > -L/home/abenson/gcc-build/x86_64-pc-linux-gnu/libstdc++- v3/src/.libs
> > > > -L/home/abenson/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/
> > > > libsupc++/.libs
> > 
> > -B/home/abenson/Galacticus/Tools/x86_64-pc-linux-gnu/bin/
> > 
> > > > -B/ home/abenson/Galacticus/Tools/x86_64-pc-linux-gnu/lib/ -isystem
> > > > /home/abenson/ Galacticus/Tools/x86_64-pc-linux-gnu/include -isystem
> > > > /home/abenson/ Galacticus/Tools/x86_64-pc-linux-gnu/sys-include
> > > > -fno-checking  -fPIC -DPIC -D_GLIBCXX_SHARED -shared -nostdlib
> > > > /usr/lib/../lib64/crti.o /home/abenson/ gcc-build/./gcc/crtbeginS.o
> > > > .libs/compatibility.o .libs/compatibility- debug_list.o
> > > > .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o
> > > > .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o
> > > > .libs/ compatibility-chrono.o .libs/compatibility-condvar.o
> > > > -Wl,--whole-archive ../ libsupc++/.libs/libsupc++convenience.a
> > > > ../src/c++98/.libs/libc+
> > > > +98convenience.a ../src/c++11/.libs/libc++11convenience.a
> > > > ../src/c++17/.libs/ libc++17convenience.a
> > > > ../src/c++20/.libs/libc++20convenience.a -Wl,--no-whole- archive
> > > > -L/home/abenson/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/libsupc+
> > > > +/.libs -L/home/abenson/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/src
> > > > -L/ home/abenson/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs
> > 
> > -lm
> > 
> > > > -L/home/ abenson/gcc-build/./gcc -L/lib/../lib64 -L/usr/lib/../lib64
> > 
> > -lc
> > 
> > > > -lgcc_s /home/ abenson/gcc-build/./gcc/crtendS.o
> > 
> > /usr/lib/../lib64/crtn.o
> > 
> > > >  -Wl,-O1 -Wl,-z - Wl,relro -Wl,--gc-sections
> > > > 
> > > > -Wl,--version-script=libstdc++-symbols.ver   -Wl,- soname
> > > > -Wl,libstdc++.so.6 -o .libs/libstdc++.so.6.0.29
> > > > collect2: fatal error: ld terminated with signal 11 [Segmentation
> > 
> > fault]
> > 
> > > > compilation terminated.
> > > > make[6]: *** [libstdc++.la] Error 1
> > > > make[6]: Leaving directory
> > 
> > `/home/abenson/gcc-build/x86_64-pc-linux-gnu/
> > 
> > > > libstdc++-v3/src'
> > > > make[5]: *** [all-recursive] Error 1
> > > > make[5]: Leaving directory
> > 
> > `/home/abenson/gcc-build/x86_64-pc-linux-gnu/
> > 
> > > > libstdc++-v3/src'
> > > > make[4]: *** [all-recursive] Error 1
> > > > make[4]: Leaving directory
> > 
> > `/home/abenson/gcc-build/x86_64-pc-linux-gnu/
> > 
> > > > libstdc++-v3'
> > > > make[3]: *** [all] Error 2
> > > > make[3]: Leaving directory
> > 
> > `/home/abenson/gcc-build/x86_64-pc-linux-gnu/
> > 
> > > > libstdc++-v3'
> > > > make[2]: *** [all-stage1-target-libstdc++-v3] Error 2
> > > > make[2]: Leaving directory `/home/abenson/gcc-build'
> > > > make[1]: *** [stage1-bubble] Error 2
> > > > make[1]: Leaving directory `/home/abenson/gcc-build'
> > > > make: *** [all] Error 2
> > > > 
> > > > Using "git bisect" shows that the first bad commit causing this
> > > > problem
> > > > is:
> > > > 
> > > > https://gcc.gnu.org/git/?
> > > > p=gcc.git;a=commit;h=a68412117fa47786bd82ab79b009ec7933aef476
> > > > 
> > > > Has any one else found this problem, or know how to work around it?
> > > 
> > > Note that you're actually getting a segfault in the linker which is part
> > > of the binutils project.  While the compiler might be generating
> > > something the linker dislikes, the linker shouldn't be segfaulting.
> > > 
> > > Jeff
> > 
> > --
> > 
> > * Andrew Benson: https://abensonca.github.io
> > 
> > * Galacticus: https://github.com/galacticusorg/galacticus


-- 

* Andrew Benson: https://abensonca.github.io

* Galacticus: https://github.com/galacticusorg/galacticus






[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux