Re: (new) Failure building GFortran (Cygwin)

Top Page

Reply to this message
Author: Angelo Graziosi
Date:  
To: Paul Richard Thomas
CC: fortran, gcc
Old-Topics: Re: Failure building GFortran (Cygwin)
Subject: Re: (new) Failure building GFortran (Cygwin)
For the sake of completeness I want to flag that the current snapshot
4.4-20080704 has new failures:

/work/build/./prev-gcc/xgcc -B/work/build/./prev-gcc/
-B/usr/local/gfortran/i686-pc-cygwin/bin/ -c -g -O2 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wc++-compat -Wold-style-definition -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Werror -DHAVE_CONFIG_H -I. -I.
-I/work/gcc/gcc -I/work/gcc/gcc/. -I/work/gcc/gcc/../include
-I/work/gcc/gcc/../libcpp/include -I/work/gcc/gcc/../libdecnumber
-I/work/gcc/gcc/../libdecnumber/bid -I../libdecnumber
/work/gcc/gcc/ggc-page.c -o ggc-page.o
cc1: warnings being treated as errors
/work/gcc/gcc/ggc-page.c: In function 'alloc_page':
/work/gcc/gcc/ggc-page.c:802: error: request for implicit conversion
from 'void *' to 'char *' not permitted in C++
/work/gcc/gcc/ggc-page.c:845: error: request for implicit conversion
from 'void *' to 'struct page_entry *' not permitted in C++
make[3]: *** [ggc-page.o] Error 1
make[3]: *** Waiting for unfinished jobs....
rm cpp.pod gfdl.pod gfortran.pod fsf-funding.pod gcc.pod gcov.pod
make[3]: Leaving directory `/work/build/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/work/build'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/work/build'
make: *** [all] Error 2

It seems that this patch solves the problem

--- ggc-page.c.orig 2008-06-29 06:39:16.000000000 +0200
+++ ggc-page.c 2008-07-05 12:00:20.906250000 +0200
@@ -799,7 +799,7 @@
alloc_size = GGC_QUIRE_SIZE * G.pagesize;
else
alloc_size = entry_size + G.pagesize - 1;
- allocation = xmalloc (alloc_size);
+ allocation = (char *)xmalloc (alloc_size);

page = (char *) (((size_t) allocation + G.pagesize - 1) &
-G.pagesize);
head_slop = page - allocation;
@@ -842,7 +842,7 @@
struct page_entry *e, *f = G.free_pages;
for (a = enda - G.pagesize; a != page; a -= G.pagesize)
{
- e = xcalloc (1, page_entry_size);
+ e = (struct page_entry *)xcalloc (1, page_entry_size);
e->order = order;
e->bytes = G.pagesize;
e->page = a;


But I am confused in any case: Why 'not permitted in C++'?
Isn't xgcc a C compiler?

I am enabling only C,Fortran!


Cheers,
Angelo.


Paul Richard Thomas ha scritto:
> Angelo,
>
> I have seen this too - I thought that it was due to the VERY strange
> way in which I was doing the build:-)
>
> Andd 'const' to strsignal.c:408 and the build will go through.
>
> Paul
>
> On Sat, Jun 28, 2008 at 2:09 PM, Angelo Graziosi
> <angelo.graziosi@???> wrote:
>> Last week I flagged some problems with 4.4-20080620 snapshot [1], now the
>> current snapshot fails in a different manner:
>>
>> [...]
>> make[2]: Entering directory `/work/build'
>> make[3]: Entering directory `/work/build'
>> rm -f stage_current
>> make[3]: Leaving directory `/work/build'
>> Comparing stages 2 and 3
>> warning: ./cc1-checksum.o differs
>> Comparison successful.
>> if false; then \
>> rm -rf stage2-*; \
>> echo timestamp > stage2-lean; \
>> fi
>> [...]
>> make[4]: Leaving directory `/work/build/i686-pc-cygwin/libgfortran'
>> make[3]: Leaving directory `/work/build/i686-pc-cygwin/libgfortran'
>> make[2]: Leaving directory `/work/build/i686-pc-cygwin/libgfortran'
>> Checking multilib configuration for libiberty...
>> mkdir -p -- i686-pc-cygwin/libiberty
>> Configuring in i686-pc-cygwin/libiberty
>> [...]
>> /work/build/./gcc/xgcc -B/work/build/./gcc/
>> -B/usr/local/gfortran/i686-pc-cygwin/bin/
>> -B/usr/local/gfortran/i686-pc-cygwin/lib/ -isystem
>> /usr/local/gfortran/i686-pc-cygwin/include -isystem
>> /usr/local/gfortran/i686-pc-cygwin/sys-include -c -DHAVE_CONFIG_H -g -O2
>> -I. -I/work/gcc/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat
>> -Wstrict-prototypes -pedantic /work/gcc/libiberty/strerror.c -o strerror.o
>> if [ x"" != x ]; then \
>> /work/build/./gcc/xgcc -B/work/build/./gcc/
>> -B/usr/local/gfortran/i686-pc-cygwin/bin/
>> -B/usr/local/gfortran/i686-pc-cygwin/lib/ -isystem
>> /usr/local/gfortran/i686-pc-cygwin/include -isystem
>> /usr/local/gfortran/i686-pc-cygwin/sys-include -c -DHAVE_CONFIG_H -g -O2
>> -I. -I/work/gcc/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat
>> -Wstrict-prototypes -pedantic /work/gcc/libiberty/strsignal.c -o
>> pic/strsignal.o; \
>> else true; fi
>> /work/build/./gcc/xgcc -B/work/build/./gcc/
>> -B/usr/local/gfortran/i686-pc-cygwin/bin/
>> -B/usr/local/gfortran/i686-pc-cygwin/lib/ -isystem
>> /usr/local/gfortran/i686-pc-cygwin/include -isystem
>> /usr/local/gfortran/i686-pc-cygwin/sys-include -c -DHAVE_CONFIG_H -g -O2
>> -I. -I/work/gcc/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat
>> -Wstrict-prototypes -pedantic /work/gcc/libiberty/strsignal.c -o strsignal.o
>> /work/gcc/libiberty/strsignal.c:408: error: conflicting types for
>> 'strsignal'
>> /usr/include/string.h:78: error: previous declaration of 'strsignal' was
>> here
>> make[2]: *** [strsignal.o] Error 1
>> make[2]: Leaving directory `/work/build/i686-pc-cygwin/libiberty'
>> make[1]: *** [all-target-libiberty] Error 2
>> make[1]: Leaving directory `/work/build'
>> make: *** [all] Error 2
>>
>> The above happens on Cygwin, using gcc-core, gcc-fortran tarballs and
>> configuring
>>
>> ${gcc_dir}/configure --prefix="${prefix_dir}" \
>> --exec-prefix="${eprefix_dir}" \
>> --sysconfdir="${sysconf_dir}" \
>> --libdir="${lib_dir}" \
>> --libexecdir="${libexec_dir}" \
>> --mandir="${man_dir}" \
>> --infodir="${info_dir}" \
>> --enable-languages=c,fortran \
>> --enable-bootstrap \
>> --enable-decimal-float=bid \
>> --enable-libgomp \
>> --enable-threads \
>> --enable-sjlj-exceptions \
>> --enable-version-specific-runtime-libs \
>> --enable-nls \
>> --enable-checking=release \
>> --disable-fixed-point \
>> --disable-libmudflap \
>> --disable-shared \
>> --disable-win32-registry \
>> --with-system-zlib \
>> --without-included-gettext \
>> --without-x
>>
>>
>>
>> Cheers,
>> Angelo.
>>
>> ---
>> [1] http://gcc.gnu.org/ml/fortran/2008-06/msg00250.html
>>
>
>
>