This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: (new) Failure building GFortran (Cygwin)
- From: Angelo Graziosi <angelo dot graziosi at alice dot it>
- To: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- Cc: fortran at gcc dot gnu dot org, gcc at gcc dot gnu dot org
- Date: Sat, 05 Jul 2008 13:15:36 +0200
- Subject: Re: (new) Failure building GFortran (Cygwin)
- References: <486629E7.7030003@alice.it> <339c37f20806281308y78981c25h22fec3bddb77d60b@mail.gmail.com>
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@alice.it> 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