Bug#307241: gcc-3.4: FTBFS: doxygen segfault processing libstdc++v3 headers
Package: gcc-3.4
Version: 3.4.3-12
Severity: serious
Tags: patch
Hi Matthias,
This bug is the mirror of bug #304659, doxygen segfaulting during the build
of gcc-3.4_3.4.3-12. There appears to be an invalid use of '@var' without a
corresponding variable declaration in libstdc++v3/include/bits/basic_string.h.
Fixing this reference allows gcc-3.4 to build from source again with current
doxygen. Patch attached.
This patch will be included in my upcoming NMU for bug #302995.
Thanks,
--
Steve Langasek
postmodern programmer
diff -uNr gcc-3.4-3.4.3.orig/debian/README.Debian gcc-3.4-3.4.3/debian/README.Debian
--- gcc-3.4-3.4.3.orig/debian/README.Debian 2005-05-01 18:03:06.000000000 -0700
+++ gcc-3.4-3.4.3/debian/README.Debian 2005-05-01 18:02:19.000000000 -0700
@@ -68,7 +68,7 @@
Patches that Debian applied in this version:
cvs-updates:
- CVS updates from the 3.4 branch upto 20050305
+ CVS updates from the 3.4 branch upto 20050314
gcc-version:
Add "(Debian <package version>)" to the gcc version string
@@ -86,6 +86,10 @@
libstdc++-doclink:
adjust hrefs to point to the local documentation
+libstdc++-doxygen-syntax:
+ fix doxygen syntax error in header that causes segfaults with some
+ versions
+
amd64-specs:
On x86-64 use 64bits mode assembly except with -m32.
@@ -123,9 +127,6 @@
library (i.e. gij looks for .so.5 for loading additional libraries
like the GTK based AWT peers.
-pr19311:
- Proposed patch to fix PR19311
-
m68k-update:
Add two m68k specfic patches backported from 4.0 concerning wrong code
generation (Richard Zidlicky).
diff -uNr gcc-3.4-3.4.3.orig/debian/patches/libstdc++-doxygen-syntax.dpatch gcc-3.4-3.4.3/debian/patches/libstdc++-doxygen-syntax.dpatch
--- gcc-3.4-3.4.3.orig/debian/patches/libstdc++-doxygen-syntax.dpatch 1969-12-31 16:00:00.000000000 -0800
+++ gcc-3.4-3.4.3/debian/patches/libstdc++-doxygen-syntax.dpatch 2005-05-01 17:56:05.000000000 -0700
@@ -0,0 +1,39 @@
+#! /bin/sh -e
+
+# DP: fix doxygen syntax error in header that causes segfaults with some
+# DP: versions
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+@DPATCH@
+diff -uNr src.orig/libstdc++-v3/include/bits/basic_string.h src/libstdc++-v3/include/bits/basic_string.h
+--- src.orig/libstdc++-v3/include/bits/basic_string.h 2004-10-28 14:52:40.000000000 -0700
++++ src/libstdc++-v3/include/bits/basic_string.h 2005-05-01 14:31:48.000000000 -0700
+@@ -248,7 +248,7 @@
+ // Data Members (public):
+ // NB: This is an unsigned type, and thus represents the maximum
+ // size that the allocator can hold.
+- /// @var
++ /// @var static const size_type npos
+ /// Value returned by various member functions when they fail.
+ static const size_type npos = static_cast<size_type>(-1);
+
diff -uNr gcc-3.4-3.4.3.orig/debian/rules.patch gcc-3.4-3.4.3/debian/rules.patch
--- gcc-3.4-3.4.3.orig/debian/rules.patch 2005-05-01 18:03:06.000000000 -0700
+++ gcc-3.4-3.4.3/debian/rules.patch 2005-05-01 15:55:41.000000000 -0700
@@ -17,6 +17,7 @@
rename-info-files \
libstdc++-pic \
libstdc++-doclink \
+ libstdc++-doxygen-syntax \
amd64-specs \
gccbug \
gccbug-posix \
Reply to: