public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/58476] New: bootstrap failure with Go enabled
@ 2013-09-19 13:56 tromey at gcc dot gnu.org
  2013-09-19 15:45 ` [Bug bootstrap/58476] " ian at airs dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: tromey at gcc dot gnu.org @ 2013-09-19 13:56 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58476

            Bug ID: 58476
           Summary: bootstrap failure with Go enabled
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tromey at gcc dot gnu.org

I'm using a recent (yesterda) gcc trunk from git.
I have no local patches applied.
I'm building a native gcc on x86-64 Fedora 18.
I configured with:

barimba. ./config.status --version
config.status
configured by ../gcc/configure, generated by GNU Autoconf 2.64,
  with options " '--prefix=/home/tromey/Space/Trunk/Git/install'
'--enable-threads=posix' '--enable-checking=yes' '--enable-java-awt=gtk'
'--disable-multilib' '--enable-libgo' '--enable-libada' '--disable-static'
'--enable-languages=c,ada,c++,fortran,go,java,lto,objc,obj-c++'"


Bootstrap fails when linking the Go front end:

make[3]: Entering directory `/home/tromey/Space/Trunk/Git/build/gcc'
/home/tromey/Space/Trunk/Git/build/./prev-gcc/xg++
-B/home/tromey/Space/Trunk/Git/build/./prev-gcc/
-B/home/tromey/Space/Trunk/Git/install/x86_64-unknown-linux-gnu/bin/
-nostdinc++
-B/home/tromey/Space/Trunk/Git/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/home/tromey/Space/Trunk/Git/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-I/home/tromey/Space/Trunk/Git/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/tromey/Space/Trunk/Git/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/tromey/Space/Trunk/Git/gcc/libstdc++-v3/libsupc++
-L/home/tromey/Space/Trunk/Git/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/home/tromey/Space/Trunk/Git/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
  -g -O2 -gtoggle -DIN_GCC   -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common 
-DHAVE_CONFIG_H -static-libstdc++ -static-libgcc  -o go1 \
      go/ast-dump.o go/dataflow.o go/export.o go/expressions.o go/go-backend.o
go/go-dump.o go/go-gcc.o go/go-lang.o go/go-linemap.o go/go-optimize.o go/go.o
go/gogo-tree.o go/gogo.o go/import.o go/import-archive.o go/lex.o go/parse.o
go/runtime.o go/statements.o go/types.o go/unsafe.o attribs.o libbackend.a
main.o tree-browser.o libcommon-target.a libcommon.a ../libcpp/libcpp.a
../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a  
../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a   -lmpc -lmpfr -lgmp -rdynamic -ldl  -L../zlib
-lz
/home/tromey/Space/Trunk/Git/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(istream.o):
In function `std::istream::ignore(long, int)':
/home/tromey/Space/Trunk/Git/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/../../../../../gcc/libstdc++-v3/src/c++98/istream.cc:116:
undefined reference to `std::istream::ignore(long)'
/home/tromey/Space/Trunk/Git/build/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(istream.o):
In function `std::basic_istream<wchar_t, std::char_traits<wchar_t>
>::ignore(long, unsigned int)':
/home/tromey/Space/Trunk/Git/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++98/../../../../../gcc/libstdc++-v3/src/c++98/istream.cc:521:
undefined reference to `std::basic_istream<wchar_t, std::char_traits<wchar_t>
>::ignore(long)'
collect2: error: ld returned 1 exit status
make[3]: *** [go1] Error 1
make[3]: Leaving directory `/home/tromey/Space/Trunk/Git/build/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/tromey/Space/Trunk/Git/build'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/tromey/Space/Trunk/Git/build'
make: *** [all] Error 2



FWIW, this blocks the auto-dependency patch series.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug bootstrap/58476] bootstrap failure with Go enabled
  2013-09-19 13:56 [Bug bootstrap/58476] New: bootstrap failure with Go enabled tromey at gcc dot gnu.org
@ 2013-09-19 15:45 ` ian at airs dot com
  2013-09-20 16:46 ` tromey at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: ian at airs dot com @ 2013-09-19 15:45 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58476

Ian Lance Taylor <ian at airs dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ian at airs dot com

--- Comment #1 from Ian Lance Taylor <ian at airs dot com> ---
I can not recreate this problem on my x86_64-unknown-linux-gnu (Ubuntu Precise)
system.  I tried building in my current working directory, then I tried
removing x86_64-unknown-linux-gnu/libstdc++ and
x86_64-unknown-linux-gnu/32/libstdc++.  Either way it worked fine for me.

As the Go frontend contains only C and C++ code, this is not of course a Go
problem.  It looks like a problem in libstdc++.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug bootstrap/58476] bootstrap failure with Go enabled
  2013-09-19 13:56 [Bug bootstrap/58476] New: bootstrap failure with Go enabled tromey at gcc dot gnu.org
  2013-09-19 15:45 ` [Bug bootstrap/58476] " ian at airs dot com
@ 2013-09-20 16:46 ` tromey at gcc dot gnu.org
  2013-09-20 17:42 ` [Bug bootstrap/58476] In top-level configure --disable-static should change default for --with-boot-ldflags ian at airs dot com
  2015-05-06 20:05 ` michael at talosis dot ca
  3 siblings, 0 replies; 5+ messages in thread
From: tromey at gcc dot gnu.org @ 2013-09-20 16:46 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58476

--- Comment #2 from Tom Tromey <tromey at gcc dot gnu.org> ---
The problem occurs because I use --disable-static.
If I remove this, the bootstrap completes.
I am not sure whether or not this is a supported configuration.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug bootstrap/58476] In top-level configure --disable-static should change default for --with-boot-ldflags
  2013-09-19 13:56 [Bug bootstrap/58476] New: bootstrap failure with Go enabled tromey at gcc dot gnu.org
  2013-09-19 15:45 ` [Bug bootstrap/58476] " ian at airs dot com
  2013-09-20 16:46 ` tromey at gcc dot gnu.org
@ 2013-09-20 17:42 ` ian at airs dot com
  2015-05-06 20:05 ` michael at talosis dot ca
  3 siblings, 0 replies; 5+ messages in thread
From: ian at airs dot com @ 2013-09-20 17:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58476

Ian Lance Taylor <ian at airs dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|bootstrap failure with Go   |In top-level configure
                   |enabled                     |--disable-static should
                   |                            |change default for
                   |                            |--with-boot-ldflags

--- Comment #3 from Ian Lance Taylor <ian at airs dot com> ---
The default value for --with-boot-ldflags is "-static-libstdc++ -static-libgcc"
(set in the top level configure.ac file).  When the g++ driver sees
-static-libstdc++, it puts -Bstatic before -lstdc++ and puts -Bdynamic after
it.  So when you build with --disable-static, the effect is that go1 is linked
against some other libstdc++ that it finds on the system, not the one that was
just built.  So it is not surprising that something went wrong.

I would say that if someone configures with --disable-static, we need to change
the default value of --with-boot-ldflags.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug bootstrap/58476] In top-level configure --disable-static should change default for --with-boot-ldflags
  2013-09-19 13:56 [Bug bootstrap/58476] New: bootstrap failure with Go enabled tromey at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2013-09-20 17:42 ` [Bug bootstrap/58476] In top-level configure --disable-static should change default for --with-boot-ldflags ian at airs dot com
@ 2015-05-06 20:05 ` michael at talosis dot ca
  3 siblings, 0 replies; 5+ messages in thread
From: michael at talosis dot ca @ 2015-05-06 20:05 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58476

Michael Deutschmann <michael at talosis dot ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |michael at talosis dot ca

--- Comment #4 from Michael Deutschmann <michael at talosis dot ca> ---
I'm experiencing a problem almost exactly like this in the new GCC 5.1.0 --
link failures due to missing overloaded "istream::ignore" functions that go
away when --disable-static is removed from the configure line.  However, it is
cc1 that is failing instead of go1 (which I'm not building).

> the effect is that go1 is linked against some other libstdc++ that it finds on the system, not the one that was just built.  So it is not surprising that something went wrong.

That appears not to be the problem, in my case at least.  I've compared working
and non-working build trees, and the non-working one has a libstdc++.a file
that is missing several modules compared to the working one.  One of them is
compatibility.o, which contains the missing functions.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-05-06 20:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-19 13:56 [Bug bootstrap/58476] New: bootstrap failure with Go enabled tromey at gcc dot gnu.org
2013-09-19 15:45 ` [Bug bootstrap/58476] " ian at airs dot com
2013-09-20 16:46 ` tromey at gcc dot gnu.org
2013-09-20 17:42 ` [Bug bootstrap/58476] In top-level configure --disable-static should change default for --with-boot-ldflags ian at airs dot com
2015-05-06 20:05 ` michael at talosis dot ca

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).