public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* Bootstrap broken because of missing intl routines
@ 2003-07-05  1:06 Kaveh R. Ghazi
  2003-07-05  3:54 ` David Edelsohn
  0 siblings, 1 reply; 11+ messages in thread
From: Kaveh R. Ghazi @ 2003-07-05  1:06 UTC (permalink / raw)
  To: zack; +Cc: gcc-bugs, gcc

Zack - bootstrap on solaris2 was broken today because of missing intl
functions:

 > cc -g -DIN_GCC -DHAVE_CONFIG_H -o cc1 \ c-parse.o c-lang.o
 > 	c-pretty-print.o attribs.o c-errors.o c-lex.o c-pragma.o
 > 	c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o
 > 	c-opts.o c-format.o c-semantics.o c-incpath.o cppdefault.o
 > 	c-ppoutput.o c-cppbuiltin.o prefix.o c-objc-common.o c-dump.o
 > 	c-pch.o libcpp.a main.o libbackend.a ../libiberty/libiberty.a
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of libbackend.a(toplev.o)
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of libbackend.a(timevar.o)
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of libbackend.a(rtl-error.o)
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of libbackend.a(final.o)
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of libbackend.a(diagnostic.o)
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of libcpp.a(line-map.o)
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of libcpp.a(cpperror.o)
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of libcpp.a(cppfiles.o)
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of c-incpath.o
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of c-format.o
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of c-opts.o
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of c-typeck.o
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of c-decl.o
 > ild: (undefined symbol) libintl_gettext -- referenced in the text segment of c-parse.o
 > ild: (undefined symbol) libintl_bindtextdomain -- referenced in the text segment of libbackend.a(intl.o)
 > ild: (undefined symbol) libintl_textdomain -- referenced in the text segment of libbackend.a(intl.o)
 > make[2]: *** [cc1] Error 5

The top level intl directory gets built, but as you can see above the
libintl.a library isn't linked with cc1.  The INTLLIBS and INTLDEPS
variables in gcc/Makefile get set to empty.

(An obvious work-around is to configure with --disable-nls)

This error may occur everywhere but perhaps is only noticeable on
systems that don't have intl in libc. (?)

		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu


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

* Bootstrap broken because of missing intl routines
  2003-07-05  1:06 Bootstrap broken because of missing intl routines Kaveh R. Ghazi
@ 2003-07-05  3:54 ` David Edelsohn
  2003-07-05  6:25   ` Kaveh R. Ghazi
  2003-07-05  7:01   ` Zack Weinberg
  0 siblings, 2 replies; 11+ messages in thread
From: David Edelsohn @ 2003-07-05  3:54 UTC (permalink / raw)
  To: Kaveh R. Ghazi, Zack Weinberg; +Cc: gcc, gcc-bugs

>>>>> Kaveh Ghazi writes:

Kaveh> (An obvious work-around is to configure with --disable-nls)

	Nope.  I always bootstrap on AIX with --disable-nls, and that now
fails: 

gcc   -g  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -fno-common   -DHAVE_CONFIG_H  -o cc1 \
        c-parse.o c-lang.o c-pretty-print.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-objc-common.o c-dump.o c-pch.o libcpp.a rs6000-c.o main.o libbackend.a ../libiberty/libiberty.a
ld: 0711-317 ERROR: Undefined symbol: .iconv_open
ld: 0711-317 ERROR: Undefined symbol: .iconv_close
ld: 0711-317 ERROR: Undefined symbol: .iconv

So, Zack's patch appears to now require NLS support on all systems and
break --disable-nls configuration, which is unacceptable.

Zack> I think I see what's wrong (short: version skew between *_GNU_GETTEXT
Zack> autoconf macros) I have to leave now but I will try to do something
Zack> about it tomorrow morning.

	Remember that gcc.gnu.org will be offline tomorrow morning for "a
few hours" to move the machine to a new co-location facility, so all of
these problems are not going to be fixed until the machine comes back up.

Zack> I don't want to delay this patch for it, because I
Zack> need this patch in order to move cpplib to its own directory, and
Zack> that needs to happen in stage 1 which is almost over.

	I again STRONGLY voice my displeasure at a development cycle that
solely is based on dates and not functionality.  Yes, we need to have
milestones associated with dates, but leading developers to believe that
they need to commit functionality earlier than they feel it is ready and
fully tested to meet some inflexible deadline only leads to the current
instability.

	I would recommend goal dates and goal features with regular
updates of which features are on target.  If we know about a large change
and it will be a little late to meet the Stage 1 deadline, we can
accomodate the slippage for individual features.  Instead we have a
perceived hard deadline for a mysterious set of features, which serves no
one. 

David


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-05  3:54 ` David Edelsohn
@ 2003-07-05  6:25   ` Kaveh R. Ghazi
  2003-07-05  7:01   ` Zack Weinberg
  1 sibling, 0 replies; 11+ messages in thread
From: Kaveh R. Ghazi @ 2003-07-05  6:25 UTC (permalink / raw)
  To: dje, zack; +Cc: gcc-bugs, gcc

 > From: David Edelsohn <dje@watson.ibm.com>
 > 
 > >>>>> Kaveh Ghazi writes:
 > 
 > Kaveh> (An obvious work-around is to configure with --disable-nls)
 > 
 > 	Nope.  I always bootstrap on AIX with --disable-nls, and that now
 > fails: 
 > 
 > gcc -g -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes
 > -Wmissing-prototypes -pedantic -Wno-long-long -fno-common
 > -DHAVE_CONFIG_H -o cc1 \ c-parse.o c-lang.o c-pretty-print.o
 > attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o
 > c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o
 > c-semantics.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o
 > prefix.o c-objc-common.o c-dump.o c-pch.o libcpp.a rs6000-c.o
 > main.o libbackend.a ../libiberty/libiberty.a
 > ld: 0711-317 ERROR: Undefined symbol: .iconv_open
 > ld: 0711-317 ERROR: Undefined symbol: .iconv_close
 > ld: 0711-317 ERROR: Undefined symbol: .iconv
 >
 > So, Zack's patch appears to now require NLS support on all systems and
 > break --disable-nls configuration, which is unacceptable.

Hmm, well --disable-nls allowed me to link cc1 on solaris2...
Yours looks like a different problem, gettext vs iconv.
Checking... ah solaris2 has the iconv* functions in libc, that's why
it worked for me.

I would agree that Zack should have tested his patch on a non-glibc
system that didn't have any libintl etc before installing it.
Nevertheless, I am confident he'll fix it ASAP.  It looks like the
gettext problem is just a matter of adding libintl.a to the link
command for cc1.  The iconv stuff I'm not sure about, we may need to
import an iconv package.


 > Zack> I don't want to delay this patch for it, because I
 > Zack> need this patch in order to move cpplib to its own directory, and
 > Zack> that needs to happen in stage 1 which is almost over.
 > 
 > 	I again STRONGLY voice my displeasure at a development cycle that
 > solely is based on dates and not functionality.  Yes, we need to have
 > milestones associated with dates, but leading developers to believe that
 > they need to commit functionality earlier than they feel it is ready and
 > fully tested to meet some inflexible deadline only leads to the current
 > instability.
 > 
 > 	I would recommend goal dates and goal features with regular
 > updates of which features are on target.  If we know about a large change
 > and it will be a little late to meet the Stage 1 deadline, we can
 > accomodate the slippage for individual features.  Instead we have a
 > perceived hard deadline for a mysterious set of features, which serves no
 > one. 
 > 
 > David

While I would agree that a feature-based cycle works for employee
based projects, we still are in a situation in which the RM on
volunteer based project cannot enforce anyone to work on any features,
he can only enforce a deadline.  That's the crux of this problem.

However since I just got bit by this, I'll move myself from the
goal-date column to "on the fence", due to being annoyed by all the
mainline breakage recently.  Working around the missing intl just
get's me to the next bootstrap failure from Jan's patch. :-/

		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-05  3:54 ` David Edelsohn
  2003-07-05  6:25   ` Kaveh R. Ghazi
@ 2003-07-05  7:01   ` Zack Weinberg
  2003-07-05 22:53     ` David Edelsohn
  2003-07-05 23:30     ` David Edelsohn
  1 sibling, 2 replies; 11+ messages in thread
From: Zack Weinberg @ 2003-07-05  7:01 UTC (permalink / raw)
  To: David Edelsohn; +Cc: Kaveh R. Ghazi, gcc, gcc-bugs

David Edelsohn <dje@watson.ibm.com> writes:

>>>>>> Kaveh Ghazi writes:
>
> Kaveh> (An obvious work-around is to configure with --disable-nls)
>
> 	Nope.  I always bootstrap on AIX with --disable-nls, and that now
> fails: 
>
> gcc   -g  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
> -Wmissing-prototypes -pedantic -Wno-long-long -fno-common   -DHAVE_CONFIG_H  -o cc1 \
>         c-parse.o c-lang.o c-pretty-print.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-objc-common.o c-dump.o c-pch.o libcpp.a rs6000-c.o main.o libbackend.a ../libiberty/libiberty.a
> ld: 0711-317 ERROR: Undefined symbol: .iconv_open
> ld: 0711-317 ERROR: Undefined symbol: .iconv_close
> ld: 0711-317 ERROR: Undefined symbol: .iconv

This is likely to be the charset patch, not the NLS patch.  Could you
please determine which object file contains the references to the
missing symbols?  Also, the complete text of gcc/config.log would be
useful.

zw


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-05  7:01   ` Zack Weinberg
@ 2003-07-05 22:53     ` David Edelsohn
  2003-07-05 23:30     ` David Edelsohn
  1 sibling, 0 replies; 11+ messages in thread
From: David Edelsohn @ 2003-07-05 22:53 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: Kaveh R. Ghazi, gcc, gcc-bugs

>>>>> Zack Weinberg writes:

>> ld: 0711-317 ERROR: Undefined symbol: .iconv_open
>> ld: 0711-317 ERROR: Undefined symbol: .iconv_close
>> ld: 0711-317 ERROR: Undefined symbol: .iconv

Zack> This is likely to be the charset patch, not the NLS patch.  Could you
Zack> please determine which object file contains the references to the
Zack> missing symbols?  Also, the complete text of gcc/config.log would be
Zack> useful.

cppcharset.o
         - U .iconv_open
         - U .iconv_close
         - U .iconv

gcc/config.log sent privately.

David


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-05  7:01   ` Zack Weinberg
  2003-07-05 22:53     ` David Edelsohn
@ 2003-07-05 23:30     ` David Edelsohn
  2003-07-06  0:21       ` Zack Weinberg
  1 sibling, 1 reply; 11+ messages in thread
From: David Edelsohn @ 2003-07-05 23:30 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: Kaveh R. Ghazi, gcc, gcc-bugs

>>>>> Zack Weinberg writes:

>> ld: 0711-317 ERROR: Undefined symbol: .iconv_open
>> ld: 0711-317 ERROR: Undefined symbol: .iconv_close
>> ld: 0711-317 ERROR: Undefined symbol: .iconv

Zack> This is likely to be the charset patch, not the NLS patch.  Could you
Zack> please determine which object file contains the references to the
Zack> missing symbols?  Also, the complete text of gcc/config.log would be
Zack> useful.

	BTW, with NLS enabled, the GCC bootstrap breaks even earlier on
AIX: 

gcc   -g  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prot
otypes -pedantic -Wno-long-long -fno-common   -DHAVE_CONFIG_H  -o
Tcollect2 \
        collect2.o tlink.o intl.o version.o ./../intl/libintl.a
	../libiberty/libiberty.a -lld
ld: 0711-317 ERROR: Undefined symbol: .iconv_open
ld: 0711-317 ERROR: Undefined symbol: .iconv_close
ld: 0711-317 ERROR: Undefined symbol: .iconv

AIX provides the iconv functions in libiconv.a.  configure tests for that
library and uses it to set HAVE_ICONV.  LIBICONV is defined in Makefile:

# Character encoding conversion library.
LIBICONV =  -liconv

but not used on the link line of all executable referencing those
functions with the intl and cppcharset changes.

David


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-05 23:30     ` David Edelsohn
@ 2003-07-06  0:21       ` Zack Weinberg
  2003-07-06 17:46         ` Kaveh R. Ghazi
  0 siblings, 1 reply; 11+ messages in thread
From: Zack Weinberg @ 2003-07-06  0:21 UTC (permalink / raw)
  To: David Edelsohn; +Cc: Kaveh R. Ghazi, gcc, gcc-bugs

David Edelsohn <dje@watson.ibm.com> writes:

...
> AIX provides the iconv functions in libiconv.a.  configure tests for that
> library and uses it to set HAVE_ICONV.  LIBICONV is defined in Makefile:
>
> # Character encoding conversion library.
> LIBICONV =  -liconv
>
> but not used on the link line of all executable referencing those
> functions with the intl and cppcharset changes.

Yeah.  I'm working on a fix, but it's a little finicky, please be
patient.

zw


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-06  0:21       ` Zack Weinberg
@ 2003-07-06 17:46         ` Kaveh R. Ghazi
  2003-07-06 18:17           ` Zack Weinberg
  0 siblings, 1 reply; 11+ messages in thread
From: Kaveh R. Ghazi @ 2003-07-06 17:46 UTC (permalink / raw)
  To: zack; +Cc: dje, gcc-bugs, gcc

 > I'm working on a fix, but it's a little finicky, please be patient.
 > zw

Ok.

FYI on solaris2 and irix6, (with --disable-nls) I now get:

 > cc1: conversion from UTF-8 to UCS-4BE not supported by iconv

So even though these platforms have iconv and can link cc1, what is
provided by default on those systems is not sufficient to produce a
working compiler.

--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-06 17:46         ` Kaveh R. Ghazi
@ 2003-07-06 18:17           ` Zack Weinberg
  2003-07-07  2:43             ` Kaveh R. Ghazi
  0 siblings, 1 reply; 11+ messages in thread
From: Zack Weinberg @ 2003-07-06 18:17 UTC (permalink / raw)
  To: Kaveh R. Ghazi; +Cc: dje, gcc-bugs, gcc

"Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> writes:

> FYI on solaris2 and irix6, (with --disable-nls) I now get:
>
>  > cc1: conversion from UTF-8 to UCS-4BE not supported by iconv
>
> So even though these platforms have iconv and can link cc1, what is
> provided by default on those systems is not sufficient to produce a
> working compiler.

Ugh.

Which versions?  On Solaris 2.8, the system-provided iconv is happy to
do this conversion.

zw


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-06 18:17           ` Zack Weinberg
@ 2003-07-07  2:43             ` Kaveh R. Ghazi
  2003-07-07  5:37               ` Kaveh R. Ghazi
  0 siblings, 1 reply; 11+ messages in thread
From: Kaveh R. Ghazi @ 2003-07-07  2:43 UTC (permalink / raw)
  To: zack; +Cc: dje, gcc-bugs, gcc

 > From: "Zack Weinberg" <zack@codesourcery.com>
 > 
 > "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> writes:
 > 
 > > FYI on solaris2 and irix6, (with --disable-nls) I now get:
 > >
 > >  > cc1: conversion from UTF-8 to UCS-4BE not supported by iconv
 > >
 > > So even though these platforms have iconv and can link cc1, what is
 > > provided by default on those systems is not sufficient to produce a
 > > working compiler.
 > 
 > Ugh.
 > 
 > Which versions?  On Solaris 2.8, the system-provided iconv is happy to
 > do this conversion.
 > 
 > zw

I'm using solaris2.7 and irix6.5.

(I think sgi distinguishes among various irix6.5 micro releases but
config.guess doesn't say which one I have, and I don't know how to
find out.)

--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu


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

* Re: Bootstrap broken because of missing intl routines
  2003-07-07  2:43             ` Kaveh R. Ghazi
@ 2003-07-07  5:37               ` Kaveh R. Ghazi
  0 siblings, 0 replies; 11+ messages in thread
From: Kaveh R. Ghazi @ 2003-07-07  5:37 UTC (permalink / raw)
  To: zack; +Cc: dje, gcc-bugs, gcc

 > I'm using solaris2.7 and irix6.5.
 > 
 > (I think sgi distinguishes among various irix6.5 micro releases but
 > config.guess doesn't say which one I have, and I don't know how to
 > find out.)

Thanks to David Billinghurst, who pointed out that the magic
incantation is:

	uname -R

which says I have irix "6.5.9f".

--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu


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

end of thread, other threads:[~2003-07-07  5:37 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-05  1:06 Bootstrap broken because of missing intl routines Kaveh R. Ghazi
2003-07-05  3:54 ` David Edelsohn
2003-07-05  6:25   ` Kaveh R. Ghazi
2003-07-05  7:01   ` Zack Weinberg
2003-07-05 22:53     ` David Edelsohn
2003-07-05 23:30     ` David Edelsohn
2003-07-06  0:21       ` Zack Weinberg
2003-07-06 17:46         ` Kaveh R. Ghazi
2003-07-06 18:17           ` Zack Weinberg
2003-07-07  2:43             ` Kaveh R. Ghazi
2003-07-07  5:37               ` Kaveh R. Ghazi

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).