Bug#350688: gcc-2.95: FTBFS with new make
Le Mardi 31 Janvier 2006 12:03, Matthias Klose a écrit :
> Daniel Schepler writes:
> > Package: gcc-2.95
> > Version: 2.95.4ds15-24
> > Severity: serious
> >
> > >From my pbuilder build log:
> >
> > ...
> > stage1/xgcc -Bstage1/ -B/usr/i486-linux-gnu/bin/ -DIN_GCC -g -O2
> > -DHAVE_CONFIG_H `case "stage1/xgcc -Bstage1/ -B/usr/i486-linux-gnu/bin/"
> > in *gcc*) echo -Wall -Wmissing-prototypes -Wpointer-arith;; esac` -o
> > xgpc p/gpc.o prefix.o version.o \ obstack.o
> > ../libiberty/libiberty.a
> > ../libiberty/libiberty.a(choose-temp.o): In function
> > `choose_temp_base':choose-temp.c:(.text+0x18e): warning: the use of
> > `mktemp' is dangerous, better use `mkstemp' sed -e 's: ../: :g;\
> > s: convert.o::g;\
> > s: dbxout.o::g;\
> > s: dwarf2out.o::g;\
> > s: emit-rtl.o::g;\
> > s: expr.o::g;\
> > s: fold-const.o::g;\
> > s: function.o::g;\
> > s: integrate.o::g;\
> > s: optabs.o::g;\
> > s: stmt.o::g;\
> > s: stor-layout.o::g;\
> > s: toplev.o::g;\
> > s: tree.o::g' "stamp-objlist" > "p/stamp-gbe" || { rm -f
> > "p/stamp-gbe"; false; } sed: -e expression #1, char 258: unterminated
> > address regex
> > make[4]: *** [p/stamp-gbe] Error 1
> > make[4]: Leaving directory
> > `/tmp/buildd/gcc-2.95-2.95.4.ds15/build-native/gcc' make[3]: ***
> > [boot_stage_c] Error 2
> > make[3]: Leaving directory
> > `/tmp/buildd/gcc-2.95-2.95.4.ds15/build-native/gcc' make[2]: ***
> > [bootstrap-lean] Error 2
> > make[2]: Leaving directory
> > `/tmp/buildd/gcc-2.95-2.95.4.ds15/build-native' s=`cat status`; rm -f
> > status; test $s -eq 0
> > make[1]: *** [stamps/05-build-stamp-native] Error 1
> > make[1]: Leaving directory `/tmp/buildd/gcc-2.95-2.95.4.ds15'
> > make: *** [stamps/05-build-stamp-native] Error 2
>
> we mabye can workaround this by just disabling the pascal build.
I was able to fix it with the attached make-langs.diff patch, and the
testsuite output was as expected. I'm not sure how to make it into a proper
dpatch file to drop into debian/patches/, though.
> > (I also noticed that the package is mucking with debian/control at build
> > time, which is considered a Bad Thing. It's all right to have code to
> > autogenerate debian/control, just don't invoke it automatically from the
> > clean, build, or binary targets.
>
> please send a fix. I do not intend to touch this code. it's fixed in
> the 3.4, 4.0 and 4.1 packages.
See the attached no-auto-control.diff (tested by editing the code in
debian/rules.conf afterwards to fail if it got invoked).
> > Fixing this would also allow you to drop
> > the self-Build-Depends on cpp-2.95, incidentally.)
Okay, I was fooled by the fact that it works fine without cpp-2.95 on i386.
>
> Matthias
--
Daniel Schepler
--- src-native/gcc/p/Make-lang.in.old 2006-01-31 12:15:09.000000000 +0000
+++ src-native/gcc/p/Make-lang.in 2006-01-31 12:16:05.000000000 +0000
@@ -570,20 +570,20 @@
# Exclude patched files from language-independent object file list.
# Not necessary for gcc-3 since for a library (libbackend.a), the linker does this automatically.
p/stamp-gbe: stamp-objlist Makefile
- sed -e 's: ../: :g;\
- s: convert.o::g;\
- s: dbxout.o::g;\
- s: dwarf2out.o::g;\
- s: emit-rtl.o::g;\
- s: expr.o::g;\
- s: fold-const.o::g;\
- s: function.o::g;\
- s: integrate.o::g;\
- s: optabs.o::g;\
- s: stmt.o::g;\
- s: stor-layout.o::g;\
- s: toplev.o::g;\
- s: tree.o::g' "$<" > "$@" || { rm -f "$@"; false; }
+ sed -e 's: ../: :g;'\
+' s: convert.o::g;'\
+' s: dbxout.o::g;'\
+' s: dwarf2out.o::g;'\
+' s: emit-rtl.o::g;'\
+' s: expr.o::g;'\
+' s: fold-const.o::g;'\
+' s: function.o::g;'\
+' s: integrate.o::g;'\
+' s: optabs.o::g;'\
+' s: stmt.o::g;'\
+' s: stor-layout.o::g;'\
+' s: toplev.o::g;'\
+' s: tree.o::g' "$<" > "$@" || { rm -f "$@"; false; }
gpc1$(exeext): $(P) $(GPC_GCC_VERSION_DEPS) $(GPC_OBJS) $(LIBDEPS)
@grep "@@ PATCHED FOR GPC 20030218 @@" $(srcdir)/stor-layout.c > /dev/null || \
diff -urN gcc-2.95-2.95.4.ds15.old/debian/rules gcc-2.95-2.95.4.ds15/debian/rules
--- gcc-2.95-2.95.4.ds15.old/debian/rules 2006-01-31 12:08:57.000000000 +0000
+++ gcc-2.95-2.95.4.ds15/debian/rules 2006-01-31 12:10:36.000000000 +0000
@@ -36,7 +36,7 @@
$(MAKE) -f debian/rules.conf control
touch $(control_stamp)
-configure: control $(configure_stamps)
+configure: patch $(configure_stamps)
$(configure_stamp)-%:
$(MAKE) -f debian/rules2 TARGET=$* $@
Reply to: