public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Build of egcs-971114 again fails with `C function `doublehypot(double, double)' conflicts with ...'
@ 1997-11-17 22:24 Toon Moene
  1997-11-18 23:13 ` Build of egcs-971114 again fails with `C function `double hypot(double, " Jeffrey A Law
  0 siblings, 1 reply; 8+ messages in thread
From: Toon Moene @ 1997-11-17 22:24 UTC (permalink / raw)
  To: egcs

Yesterday, I wrote:

>  One point to notice is the /usr/test directory in this
>  list, because it's where the headers of the previously
>  installed snapshot are.  I thought this would be harmless,
>  until I removed -rf /usr/test; subsequently the compile
>  of the offending file in .../libstdc++ couldn't find
>  _G_config_ (sp?) - a completely different problem.

Unfortunately, that's not the root of the problem - however, if we  
now look again at the include-file-search-list:

GNU CPP version egcs-2.90.17 971114 (gcc2-970802 experimental)  
(68k, MIT syntax)
#include "..." search starts here:
#include <...> search starts here:
 .
 stl
 ../libio
 /Users/toon/Unix/compilers/egcs-971114/gcc/include
 /usr/local/include
 /NextDeveloper/Headers
 /NextDeveloper/Headers/ansi
 /NextDeveloper/Headers/bsd
 /NextDeveloper/2.0CompatibleHeaders
 /usr/include
 /usr/include/bsd
End of search list.

and compare it with the one in config/nextstep.h:

#undef  INCLUDE_DEFAULTS
#define INCLUDE_DEFAULTS                                \
  {                                                     \
    { GPLUSPLUS_INCLUDE_DIR, 1, 1 },                    \
    { LOCAL_INCLUDE_DIR, 0, 1 },                        \
    { TOOL_INCLUDE_DIR, 0, 1 },                         \
    { GCC_INCLUDE_DIR, 0, 0 },                          \
    /* These are for fixincludes-fixed ansi/bsd headers \
       which wouldn't be found otherwise.               \
       (The use of string catenation here is OK since   \
        NeXT's native compiler is derived from GCC.) */ \
    { GCC_INCLUDE_DIR "/ansi", 0, 0 },                  \
    { GCC_INCLUDE_DIR "/bsd", 0, 0 },                   \
    { "/NextDeveloper/Headers", 0, 0 },                 \
    { "/NextDeveloper/Headers/ansi", 0, 0 },            \
    { "/NextDeveloper/Headers/bsd", 0, 0 },             \
    { "/LocalDeveloper/Headers", 0, 0 },                \
    { "/LocalDeveloper/Headers/ansi", 0, 0 },           \
    { "/LocalDeveloper/Headers/bsd", 0, 0 },            \
    { "/NextDeveloper/2.0CompatibleHeaders", 0, 0 },    \
    { STANDARD_INCLUDE_DIR, 0, 0 },                     \
    { "/usr/include/bsd", 0, 0 },                       \
    { 0, 0, 0 }                                         \
  }

then I definitely get the impression that two lines have to be added:

    { GPLUSPLUS_INCLUDE_DIR "/ansi, 1, 1 },                    \
    { GPLUSPLUS_INCLUDE_DIR "/bsd", 1, 1 },                    \

Of course, this begs the question why this hasn't gone wrong in the  
past ...

Could someone with somewhat more experience on this please comment ?

TIA,
Toon.

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

* Re: Build of egcs-971114 again fails with `C function `double hypot(double, double)' conflicts with ...'
  1997-11-17 22:24 Build of egcs-971114 again fails with `C function `doublehypot(double, double)' conflicts with ...' Toon Moene
@ 1997-11-18 23:13 ` Jeffrey A Law
  1997-11-19 15:47   ` Build of egcs-971114 again fails with `C function `doublehypot(double, " Toon Moene
  1997-11-19 16:32   ` Toon Moene
  0 siblings, 2 replies; 8+ messages in thread
From: Jeffrey A Law @ 1997-11-18 23:13 UTC (permalink / raw)
  To: Toon Moene; +Cc: egcs

  In message < 9711180619.AA23307@moene.indiv.nluug.nl >you write:
  > then I definitely get the impression that two lines have to be added:
  > 
  >     { GPLUSPLUS_INCLUDE_DIR "/ansi, 1, 1 },                    \
  >     { GPLUSPLUS_INCLUDE_DIR "/bsd", 1, 1 },                    \
  > 
  > Of course, this begs the question why this hasn't gone wrong in the  
  > past ...
I tend to agree.  Do things work if you put them in?

jeff

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

* Re: Build of egcs-971114 again fails with `C function `doublehypot(double, double)' conflicts with ...'
  1997-11-18 23:13 ` Build of egcs-971114 again fails with `C function `double hypot(double, " Jeffrey A Law
@ 1997-11-19 15:47   ` Toon Moene
  1997-11-19 16:32   ` Toon Moene
  1 sibling, 0 replies; 8+ messages in thread
From: Toon Moene @ 1997-11-19 15:47 UTC (permalink / raw)
  To: law; +Cc: egcs

  In message < 9711180619.AA23307@moene.indiv.nluug.nl > I write:

  > then I definitely get the impression that two lines have to be added:
  >
  >     { GPLUSPLUS_INCLUDE_DIR "/ansi, 1, 1 },                    \
  >     { GPLUSPLUS_INCLUDE_DIR "/bsd", 1, 1 },                    \
  >
  > Of course, this begs the question why this hasn't gone wrong in the  
  > past ...

Jeff:

> I tend to agree.  Do things work if you put them in?

Nope, unfortunately not.

The problem is that I cannot seem to correlate the directories  
defined in config/nextstep.h with the ones listed in the -v output  
correctly:

GNU CPP version egcs-2.90.17 971114 (gcc2-970802 experimental)  
(68k, MIT syntax)
#include "..." search starts here:
#include <...> search starts here:
 .
 stl
 ../libio
 /Users/toon/Unix/compilers/egcs-971114/gcc/include
 /usr/local/include
 /NextDeveloper/Headers
 /NextDeveloper/Headers/ansi
 /NextDeveloper/Headers/bsd
 /NextDeveloper/2.0CompatibleHeaders
 /usr/include
 /usr/include/bsd
End of search list.

config/nextstep.h:

    { GPLUSPLUS_INCLUDE_DIR, 1, 1 },                    \
    { GPLUSPLUS_INCLUDE_DIR "/ansi", 1, 1 },            \
    { GPLUSPLUS_INCLUDE_DIR "/bsd", 1, 1 },             \
    { LOCAL_INCLUDE_DIR, 0, 1 },                        \
    { TOOL_INCLUDE_DIR, 0, 1 },                         \
    { GCC_INCLUDE_DIR, 0, 0 },                          \
    /* These are for fixincludes-fixed ansi/bsd headers \
       which wouldn't be found otherwise.               \
       (The use of string catenation here is OK since   \
        NeXT's native compiler is derived from GCC.) */ \
    { GCC_INCLUDE_DIR "/ansi", 0, 0 },                  \
    { GCC_INCLUDE_DIR "/bsd", 0, 0 },                   \
    { "/NextDeveloper/Headers", 0, 0 },                 \
    ....

I thought GPLUSPLUS_INCLUDE_DIR was  
/Users/toon/Unix/compilers/egcs-971114/gcc/include,
because I assumed that LOCAL_INCLUDE_DIR is /usr/local/include.

But, apparently, the above change does not have any effect :-(

Sorry,
Toon.

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

* Re: Build of egcs-971114 again fails with `C function `doublehypot(double, double)' conflicts with ...'
  1997-11-18 23:13 ` Build of egcs-971114 again fails with `C function `double hypot(double, " Jeffrey A Law
  1997-11-19 15:47   ` Build of egcs-971114 again fails with `C function `doublehypot(double, " Toon Moene
@ 1997-11-19 16:32   ` Toon Moene
  1997-11-20  0:22     ` Build of egcs-971114 again fails with `C function `double hypot(double, " Jeffrey A Law
  1 sibling, 1 reply; 8+ messages in thread
From: Toon Moene @ 1997-11-19 16:32 UTC (permalink / raw)
  To: law; +Cc: egcs

I changed the include order in config/nextstep.h to:

    { GPLUSPLUS_INCLUDE_DIR, 1, 1 },                    \
    { GPLUSPLUS_INCLUDE_DIR "/ansi", 1, 1 },            \
    { GPLUSPLUS_INCLUDE_DIR "/bsd", 1, 1 },             \
    { LOCAL_INCLUDE_DIR, 0, 1 },                        \
    { TOOL_INCLUDE_DIR, 0, 1 },                         \
    { GCC_INCLUDE_DIR, 0, 0 },                          \
    /* These are for fixincludes-fixed ansi/bsd headers \
       which wouldn't be found otherwise.               \
       (The use of string catenation here is OK since   \
        NeXT's native compiler is derived from GCC.) */ \
    { GCC_INCLUDE_DIR "/ansi", 0, 0 },                  \
    { GCC_INCLUDE_DIR "/bsd", 0, 0 },                   \
    { "/NextDeveloper/Headers", 0, 0 },                 \
    ....

Unfortunately, that is not even useless, it's incorrect  
(GPLUSPLUS_INCLUDE_DIR has nothing to do with my problem).  The  
point is that GCC_INCLUDE_DIR doesn't exist yet at the moment the  
build of libraries/libstdc++ goes wrong and this list assumes it  
does.

This is passed as GCC_INCLUDE_DIR (quoting the Makefile):

% grep GCC_INCLUDE gcc/Makefile
          -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \

libsubdir is $(libdir)/gcc-lib/$(target_alias)/$(version)

libdir is ${exec_prefix}/lib

and exec_prefix is ${prefix} is /usr/test.

This means that as-is, on m68k-next-nextstep3, you can only build  
libraries/libstdc++ once the compiler is installed, and not half  
way.

Unfortunately, I am not a hacker of Makefiles, nor a wizard of  
autoconf, so I'll drop the ball right here.

HTH,
Toon.

"Fortran is our Forte"

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

* Re: Build of egcs-971114 again fails with `C function `double hypot(double, double)' conflicts with ...'
  1997-11-19 16:32   ` Toon Moene
@ 1997-11-20  0:22     ` Jeffrey A Law
  0 siblings, 0 replies; 8+ messages in thread
From: Jeffrey A Law @ 1997-11-20  0:22 UTC (permalink / raw)
  To: Toon Moene; +Cc: egcs

[ ... ]

  > This is passed as GCC_INCLUDE_DIR (quoting the Makefile):
  > 
  > % grep GCC_INCLUDE gcc/Makefile
  >           -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
  > 
  > libsubdir is $(libdir)/gcc-lib/$(target_alias)/$(version)
  > 
  > libdir is ${exec_prefix}/lib
  > 
  > and exec_prefix is ${prefix} is /usr/test.
  > 
  > This means that as-is, on m68k-next-nextstep3, you can only build  
  > libraries/libstdc++ once the compiler is installed, and not half  
  > way.
Right, but the -B<path_to_gcc_objdir> should have taken care of the libsubdir
stuff so that you can find include files in objdir/gcc/include, including the
ansi & bsd variants.

I'm sure you sent a copy of the failing command line at some point, but with
my line down I can't easily look it up -- can you resend it?

jeff

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

* Re: Build of egcs-971114 again fails with `C function `doublehypot(double, double)' conflicts with ...'
  1997-11-16  2:32   ` Build of egcs-971114 again fails with `C function `doublehypot(double, " Toon Moene
@ 1997-11-17 15:38     ` Toon Moene
  0 siblings, 0 replies; 8+ messages in thread
From: Toon Moene @ 1997-11-17 15:38 UTC (permalink / raw)
  To: egcs

In this thread, I wrote:

>  Oh, <cough, gripe> I see.  This is the search list from
>  the intermediate compiler:

> stl
> ../libio
> /Users/toon/Unix/compilers/egcs-971114/gcc/include
> /usr/local/include
> /usr/test/m68k-next-nextstep3/include
> /NextDeveloper/Headers
> /NextDeveloper/Headers/ansi
> /NextDeveloper/Headers/bsd
> /NextDeveloper/2.0CompatibleHeaders
> /usr/include
> /usr/include/bsd
>End of search list.

One point to notice is the /usr/test directory in this list,  
because it's where the headers of the previously installed snapshot  
are.  I thought this would be harmless, until I removed -rf  
/usr/test; subsequently the compile of the offending file in  
.../libstdc++ couldn't find _G_config_ (sp?) - a completely  
different problem.

So I proceeded by a rebuild with /usr/test removed.  More results  
in 9 hours (if it fails at the same spot) or more (if it succeeds).

[ And then someone wrote on comp.lang.fortran that he would switch
  to C++ because Fortran was to difficult - beati pauperes spiritu ]

Toon.

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

* Re: Build of egcs-971114 again fails with `C function `doublehypot(double, double)' conflicts with ...'
  1997-11-15 15:12 ` Build of egcs-971114 again fails with `C function `double hypot(double, " Richard Henderson
@ 1997-11-16  2:32   ` Toon Moene
  1997-11-17 15:38     ` Toon Moene
  0 siblings, 1 reply; 8+ messages in thread
From: Toon Moene @ 1997-11-16  2:32 UTC (permalink / raw)
  To: Richard Henderson; +Cc: egcs

On Sat, Nov 15, 1997 at 07:28:30PM +0100, I wrote:

>> despite the fact that /NextDeveloper/Headers/ansi/math.h has been  
>> fixed by `fixincludes'.  Is there a way to override the fact that  
>> /Users/toon/Unix/compilers/egcs-971114/gcc/include
>> should be used (the ansi/math.h in that directory is OK) ?

>  The fixincluded file didn't go in .../gcc/include/math.h?

Oh, <cough, gripe> I see.  This is the search list from the  
intermediate compiler:

Reading specs from /Users/toon/Unix/compilers/egcs-971114/gcc/specs
gcc version egcs-2.90.17 971114 (gcc2-970802 experimental)
 /Users/toon/Unix/compilers/egcs-971114/gcc/cpp -lang-c++  
-nostdinc++ -v -I. -I./stl -I../libio -I./../libio -isystem  
/Users/toon/Unix/compilers/egcs-971114/gcc/include -undef  
-D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=90  
-Dmc68000 -Dm68k -DNeXT -Dunix -D__MACH__ -D__BIG_ENDIAN__  
-D__ARCHITECTURE__="m68k" -D_NEXT_SOURCE -D__mc68000__ -D__m68k__  
-D__NeXT__ -D__unix__ -D__MACH__ -D__BIG_ENDIAN__  
-D__ARCHITECTURE__="m68k" -D_NEXT_SOURCE -D__mc68000 -D__m68k  
-D__NeXT -D__unix -Asystem(unix) -Asystem(mach) -Acpu(m68k)  
-Amachine(m68k) -D__EXCEPTIONS -D__OPTIMIZE__ -g -D__STDC__  
-D_NEXT_SOURCE -DF ./cinst.cc /usr/tmp/cc020847.ii
GNU CPP version egcs-2.90.17 971114 (gcc2-970802 experimental)  
(68k, MIT syntax)
#include "..." search starts here:
#include <...> search starts here:
 .
 stl
 ../libio
 /Users/toon/Unix/compilers/egcs-971114/gcc/include
 /usr/local/include
 /usr/test/m68k-next-nextstep3/include
 /NextDeveloper/Headers
 /NextDeveloper/Headers/ansi
 /NextDeveloper/Headers/bsd
 /NextDeveloper/2.0CompatibleHeaders
 /usr/include
 /usr/include/bsd
End of search list.

So, sure, the right directory .../gcc/include is searched first.   
However, the fixed math.h is not in that directory, but in the  
.../gcc/include/ansi directory, where fixincludes put it,  
analogously to NextDeveloper/Headers/ansi.

In other words, there's a mismatch between the directory structure  
fixincludes creates and the one that is searched.  I hope someone  
knows how to deal with this.

Toon.

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

* Build of egcs-971114 again fails with `C function `doublehypot(double, double)' conflicts with ...'
@ 1997-11-15 10:32 Toon Moene
  1997-11-15 15:12 ` Build of egcs-971114 again fails with `C function `double hypot(double, " Richard Henderson
  0 siblings, 1 reply; 8+ messages in thread
From: Toon Moene @ 1997-11-15 10:32 UTC (permalink / raw)
  To: egcs

Hi,

I got the following error again (building egcs-971114 on  
m68k-next-nextstep3):

/Users/toon/Unix/compilers/egcs-971114/gcc/xgcc  
-B/Users/toon/Unix/compilers/egcs-971114/gcc/ -c -g -O2  
-fno-implicit-templates -I. -I./stl -I../libio -I./../libio  
-nostdinc++  -DF `for N in MAIN ADDCC ADDCF ADDFC SUBCC SUBCF SUBFC  
MULCC MULCF MULFC DIVCC DIVCF DIVFC PLUS MINUS EQCC EQCF EQFC NECC  
NECF NEFC ABS ARG POLAR CONJ NORM COS COSH EXP LOG POWCC POWCF POWCI  
POWFC SIN SINH SQRT; do echo " -D${N}"; done` \
  ./cinst.cc -o fcomplex.o
In file included from cmath:7,
                 from std/complext.h:34,
                 from complex:7,
                 from std/complext.cc:28,
                 from ./cinst.cc:29:
/NextDeveloper/Headers/ansi/math.h:59: warning: declaration of  
`const double cos(double)'
/NextDeveloper/Headers/ansi/math.h:59: warning: conflicts with  
built-in declaration `double cos(double)'
/NextDeveloper/Headers/ansi/math.h:60: warning: declaration of  
`const double sin(double)'
/NextDeveloper/Headers/ansi/math.h:60: warning: conflicts with  
built-in declaration `double sin(double)'
/NextDeveloper/Headers/ansi/math.h:72: warning: declaration of  
`const double sqrt(double)'
/NextDeveloper/Headers/ansi/math.h:72: warning: conflicts with  
built-in declaration `double sqrt(double)'
In file included from complex:7,
                 from std/complext.cc:28,
                 from ./cinst.cc:29:
std/complext.h:314: declaration of C function `double hypot(double,  
double)' conflicts with
/NextDeveloper/Headers/ansi/math.h:26: previous declaration `const  
double hypot(double, double)' here
make[2]: *** [bigstmp-complex] Error 1

despite the fact that /NextDeveloper/Headers/ansi/math.h has been  
fixed by `fixincludes'.  Is there a way to override the fact that  
/Users/toon/Unix/compilers/egcs-971114/gcc/include
should be used (the ansi/math.h in that directory is OK) ?

Toon.

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

end of thread, other threads:[~1997-11-20  0:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-11-17 22:24 Build of egcs-971114 again fails with `C function `doublehypot(double, double)' conflicts with ...' Toon Moene
1997-11-18 23:13 ` Build of egcs-971114 again fails with `C function `double hypot(double, " Jeffrey A Law
1997-11-19 15:47   ` Build of egcs-971114 again fails with `C function `doublehypot(double, " Toon Moene
1997-11-19 16:32   ` Toon Moene
1997-11-20  0:22     ` Build of egcs-971114 again fails with `C function `double hypot(double, " Jeffrey A Law
  -- strict thread matches above, loose matches on Subject: below --
1997-11-15 10:32 Build of egcs-971114 again fails with `C function `doublehypot(double, " Toon Moene
1997-11-15 15:12 ` Build of egcs-971114 again fails with `C function `double hypot(double, " Richard Henderson
1997-11-16  2:32   ` Build of egcs-971114 again fails with `C function `doublehypot(double, " Toon Moene
1997-11-17 15:38     ` Toon Moene

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