doxygen_1.4.5-1_arm: FTBFS: cannot bind packed field

Bug #25277 reported by Debian Bug Importer
4
Affects Status Importance Assigned to Milestone
doxygen (Debian)
Fix Released
Unknown
doxygen (Ubuntu)
Invalid
High
Unassigned

Bug Description

Automatically imported from Debian bug report #338099 http://bugs.debian.org/338099

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Automatically imported from Debian bug report #338099 http://bugs.debian.org/338099

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Tue, 8 Nov 2005 15:41:46 +1100
From: =?iso-8859-1?Q?An=EDbal?= Monsalve Salazar <email address hidden>
To: <email address hidden>
Subject: doxygen_1.4.5-1_arm: FTBFS: cannot bind packed field

--lI30RfLwrEjFkDwA
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: doxygen
Severity: serious
Version: 1.4.5-1
Tags: sid
Justification: fails to build from source

There was an error while trying to autobuild your package:

Automatic build of doxygen_1.4.5-1 on cats by sbuild/arm 69
Build started at 20051107-1437

[...]
** Using build dependencies supplied by package:
** Using build dependencies supplied by package:
Build-Depends: debhelper (>=3D 4.1), libqt3-mt-dev (>=3D 3:3.3.4) [!hurd-i3=
86], libqt3-compat-headers [!hurd-i386], flex-old, bison (>=3D 1.875a), pyt=
hon, libpng12-dev, patch
Build-Depends-Indep: tetex-bin, tetex-extra, gs

[...]
make[3]: Entering directory `/build/buildd/doxygen-1.4.5/qtools'
g++ -c -pipe -DQT_NO_CODECS -DQT_LITE_UNICODE -Wall -W -fno-exceptions -O2 =
-I. -o ../objects/qbuffer.o qbuffer.cpp
qstring.h: In member function 'uchar& QChar::cell()':
qstring.h:166: error: cannot bind packed field '((QChar*)this)->QChar::cl' =
to 'uchar&'
qstring.h: In member function 'uchar& QChar::row()':
qstring.h:167: error: cannot bind packed field '((QChar*)this)->QChar::rw' =
to 'uchar&'
make[3]: *** [../objects/qbuffer.o] Error 1

Full build logs are available on buildd.debian.org.

Please refer to the build log at:

http://buildd.debian.org/fetch.php?&pkg=3Ddoxygen&ver=3D1.4.5-1&arch=3Darm&=
stamp=3D1131374720&file=3Dlog&as=3Draw

An=EDbal Monsalve Salazar
--
 .''`. Debian GNU/Linux
: :' : Free Operating System
`. `' http://debian.org/
  `- http://v7w.com/anibal

--lI30RfLwrEjFkDwA
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDcCyKgY5NIXPNpFURAjQBAKCYmmrpd8QUAVMI95ksaRSHUUOzrQCgxm+t
kC0Y6mbP1bMbxaMk0jtKxW8=
=8tAG
-----END PGP SIGNATURE-----

--lI30RfLwrEjFkDwA--

Revision history for this message
Dennis Kaarsemaker (dennis) wrote :

Ubuntu does not support Arm (or Leg)

Revision history for this message
In , Jeremy Nimmer (jwnimmer) wrote : Patch to build under gcc 4.0

package doxygen
tags 338099 +patch
thanks bts

This bug is a problem with the unmaintained subset of Qt that is copied
into Doxygen. It would be better to build against a maintained version
of Qt that is already in Debian, rather than the outdated fork shipped
from the Doxygen upstream. Or maybe upstream should just pull a new
version of Qt.

In any case, this is a problem with references to members of packed
structs (the packing is only enabled on ARM). A patch to build with gcc
3.4 is at http://home.mchsi.com/~cmisip/gcc-3.4-patch, but it doesn't
work with 4.0 (tested by adding attribute((packed)) to my x86 build).

If we look at the libqt3-headers package, we see that the packing checks
for ARM now have the Q_NO_PACKED_REFERENCE as in the patch, but
qstring.h has had the non-const versions of cell and row removed,
replaced by setCell and setRow.

I think this is also the correct solution for the Doxygen fork of Qt, as
in the attached patch. A scan through the source code finds no call
sites where a mutable reference return value is required, so we can
safely drop these two methods.

Patch attached.

Thanks,
- Jeremy

Revision history for this message
Debian Bug Importer (debzilla) wrote :
Download full text (3.9 KiB)

Message-Id: <email address hidden>
Date: Sun, 04 Dec 2005 15:45:15 -0500
From: Jeremy Nimmer <email address hidden>
To: <email address hidden>
Cc: <email address hidden>
Subject: Patch to build under gcc 4.0

--=-ZBT/ZC1TQUVq83spqZJG
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

package doxygen
tags 338099 +patch
thanks bts

This bug is a problem with the unmaintained subset of Qt that is copied
into Doxygen. It would be better to build against a maintained version
of Qt that is already in Debian, rather than the outdated fork shipped
from the Doxygen upstream. Or maybe upstream should just pull a new
version of Qt.

In any case, this is a problem with references to members of packed
structs (the packing is only enabled on ARM). A patch to build with gcc
3.4 is at http://home.mchsi.com/~cmisip/gcc-3.4-patch, but it doesn't
work with 4.0 (tested by adding attribute((packed)) to my x86 build).

If we look at the libqt3-headers package, we see that the packing checks
for ARM now have the Q_NO_PACKED_REFERENCE as in the patch, but
qstring.h has had the non-const versions of cell and row removed,
replaced by setCell and setRow.

I think this is also the correct solution for the Doxygen fork of Qt, as
in the attached patch. A scan through the source code finds no call
sites where a mutable reference return value is required, so we can
safely drop these two methods.

Patch attached.

Thanks,
- Jeremy

--=-ZBT/ZC1TQUVq83spqZJG
Content-Disposition: inline; filename=338099.patch
Content-Type: text/x-patch; name=338099.patch; charset=ANSI_X3.4-1968
Content-Transfer-Encoding: 7bit

diff -urN doxygen-1.4.5/debian/changelog doxygen-1.4.5.new/debian/changelog
--- doxygen-1.4.5.orig/debian/changelog 2005-12-04 20:37:17.000000000 +0000
+++ doxygen-1.4.5/debian/changelog 2005-12-04 20:19:19.000000000 +0000
@@ -1,3 +1,10 @@
+doxygen (1.4.5-1.1) unstable; urgency=low
+
+ * Remove unused code (QChar::row, QChar::col) that does not build with
+ gcc 4.0 (closes: #338099).
+
+ -- Jeremy Nimmer <email address hidden> Sun, 4 Dec 2005 15:18:45 -0500
+
 doxygen (1.4.5-1) unstable; urgency=low

   * New upstream version.
diff -urN doxygen-1.4.5/debian/patches/qstring-gcc40.dpatch doxygen-1.4.5.new/debian/patches/qstring-gcc40.dpatch
--- doxygen-1.4.5.orig/debian/patches/qstring-gcc40.dpatch 1970-01-01 00:00:00.000000000 +0000
+++ doxygen-1.4.5/debian/patches/qstring-gcc40.dpatch 2005-12-04 20:18:11.000000000 +0000
@@ -0,0 +1,41 @@
+#! /bin/sh -e
+
+# DP: Remove unused code that does not build with gcc 4.0 (#338099).
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "usage: `basename $0`: -patch|-unpatch [-d <srcdir>]"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "usage: `basename $0`: -patch|-unpatch [-d <srcdir>]"
+ exit 1
+esac
+exit 0
+
+--- qtools/qstring.h.orig 2004-12-01 19:26:16.000000000 +0000
++++ qtools/qstring.h 2005-12-04 20:09:01.000000000 +0000
+@@ -16...

Read more...

Revision history for this message
In , Steve Langasek (vorlon) wrote : usertags for RC bugs on non-RC archs

# use usertags so we can keep track of bugs that should be considered
# RC if and when these architectures become release candidates again
user <email address hidden>
severity 343154 important
usertag 343154 rc-arm
severity 341311 important
usertag 341311 rc-sparc
severity 344525 important
usertag 344525 rc-m68k
severity 329845 important
usertag 329845 rc-arm
severity 341517 important
usertag 341517 rc-sparc
severity 338099 important
usertag 338099 rc-arm
severity 329092 important
usertag 329092 rc-m68k
severity 343687 important
usertag 343687 rc-m68k
severity 341797 important
usertag 341797 rc-sparc
thanks

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
<email address hidden> http://www.debian.org/

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Mon, 26 Dec 2005 23:56:00 -0800
From: Steve Langasek <email address hidden>
To: <email address hidden>
Subject: usertags for RC bugs on non-RC archs

--ctP54qlpMx3WjD+/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

# use usertags so we can keep track of bugs that should be considered
# RC if and when these architectures become release candidates again
user <email address hidden>
severity 343154 important
usertag 343154 rc-arm
severity 341311 important
usertag 341311 rc-sparc
severity 344525 important
usertag 344525 rc-m68k
severity 329845 important
usertag 329845 rc-arm
severity 341517 important
usertag 341517 rc-sparc
severity 338099 important
usertag 338099 rc-arm
severity 329092 important
usertag 329092 rc-m68k
severity 343687 important
usertag 343687 rc-m68k
severity 341797 important
usertag 341797 rc-sparc
thanks

--=20
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
<email address hidden> http://www.debian.org/

--ctP54qlpMx3WjD+/
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDsPOQKN6ufymYLloRArdTAJ9zgD99xgvL+IxOh5MBSkwIYALVTACgzNZu
hn5WMjqIi8vfjOplP4ixr4E=
=qL+A
-----END PGP SIGNATURE-----

--ctP54qlpMx3WjD+/--

Revision history for this message
In , Matthias Klose (doko) wrote : Bug#338099: fixed in doxygen 1.4.6-1

Source: doxygen
Source-Version: 1.4.6-1

We believe that the bug you reported is fixed in the latest version of
doxygen, which is due to be installed in the Debian FTP archive:

doxygen-doc_1.4.6-1_all.deb
  to pool/main/d/doxygen/doxygen-doc_1.4.6-1_all.deb
doxygen-gui_1.4.6-1_i386.deb
  to pool/main/d/doxygen/doxygen-gui_1.4.6-1_i386.deb
doxygen_1.4.6-1.diff.gz
  to pool/main/d/doxygen/doxygen_1.4.6-1.diff.gz
doxygen_1.4.6-1.dsc
  to pool/main/d/doxygen/doxygen_1.4.6-1.dsc
doxygen_1.4.6-1_i386.deb
  to pool/main/d/doxygen/doxygen_1.4.6-1_i386.deb
doxygen_1.4.6.orig.tar.gz
  to pool/main/d/doxygen/doxygen_1.4.6.orig.tar.gz

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to <email address hidden>,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <email address hidden> (supplier of updated doxygen package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing <email address hidden>)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Fri, 30 Dec 2005 17:23:10 +0100
Source: doxygen
Binary: doxygen-doc doxygen doxygen-gui
Architecture: source all i386
Version: 1.4.6-1
Distribution: unstable
Urgency: low
Maintainer: Matthias Klose <email address hidden>
Changed-By: Matthias Klose <email address hidden>
Description:
 doxygen - Documentation system for C, C++ and IDL
 doxygen-doc - Documentation for doxygen
 doxygen-gui - GUI configuration tool for doxygen
Closes: 338099 344468
Changes:
 doxygen (1.4.6-1) unstable; urgency=low
 .
   * New upstream version.
   * Fix generation of (La)TeX files (closes: #344468).
 .
 doxygen (1.4.5-1.1) unstable; urgency=low
 .
   * Remove unused code (QChar::row, QChar::col) that does not build with
     gcc 4.0 (closes: #338099).
Files:
 f8469504681a24e3ad6347e0206a2c7b 769 devel optional doxygen_1.4.6-1.dsc
 3db9f1a7549d3427cbdc1f7c5e1af137 2889068 devel optional doxygen_1.4.6.orig.tar.gz
 f3332f7571b38f94e2bfef9c50768ae9 16511 devel optional doxygen_1.4.6-1.diff.gz
 29336c1ff13cbec7ca2f3af8b0f352ef 1327564 devel optional doxygen_1.4.6-1_i386.deb
 aabfbc909c18f174cf22825492369bf7 90132 devel optional doxygen-gui_1.4.6-1_i386.deb
 0b88e5cf3a88426f1601dc9406252a0a 1289194 doc optional doxygen-doc_1.4.6-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDtWMsStlRaw+TLJwRAvNlAKDCBQqRzsbKYWoj++7cOaW+Xps7KACglfY4
r/ZON+J4oqgXtldpCQxRejI=
=k7jL
-----END PGP SIGNATURE-----

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-Id: <email address hidden>
Date: Fri, 30 Dec 2005 09:02:07 -0800
From: Matthias Klose <email address hidden>
To: <email address hidden>
Subject: Bug#338099: fixed in doxygen 1.4.6-1

Source: doxygen
Source-Version: 1.4.6-1

We believe that the bug you reported is fixed in the latest version of
doxygen, which is due to be installed in the Debian FTP archive:

doxygen-doc_1.4.6-1_all.deb
  to pool/main/d/doxygen/doxygen-doc_1.4.6-1_all.deb
doxygen-gui_1.4.6-1_i386.deb
  to pool/main/d/doxygen/doxygen-gui_1.4.6-1_i386.deb
doxygen_1.4.6-1.diff.gz
  to pool/main/d/doxygen/doxygen_1.4.6-1.diff.gz
doxygen_1.4.6-1.dsc
  to pool/main/d/doxygen/doxygen_1.4.6-1.dsc
doxygen_1.4.6-1_i386.deb
  to pool/main/d/doxygen/doxygen_1.4.6-1_i386.deb
doxygen_1.4.6.orig.tar.gz
  to pool/main/d/doxygen/doxygen_1.4.6.orig.tar.gz

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to <email address hidden>,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <email address hidden> (supplier of updated doxygen package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing <email address hidden>)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Fri, 30 Dec 2005 17:23:10 +0100
Source: doxygen
Binary: doxygen-doc doxygen doxygen-gui
Architecture: source all i386
Version: 1.4.6-1
Distribution: unstable
Urgency: low
Maintainer: Matthias Klose <email address hidden>
Changed-By: Matthias Klose <email address hidden>
Description:
 doxygen - Documentation system for C, C++ and IDL
 doxygen-doc - Documentation for doxygen
 doxygen-gui - GUI configuration tool for doxygen
Closes: 338099 344468
Changes:
 doxygen (1.4.6-1) unstable; urgency=low
 .
   * New upstream version.
   * Fix generation of (La)TeX files (closes: #344468).
 .
 doxygen (1.4.5-1.1) unstable; urgency=low
 .
   * Remove unused code (QChar::row, QChar::col) that does not build with
     gcc 4.0 (closes: #338099).
Files:
 f8469504681a24e3ad6347e0206a2c7b 769 devel optional doxygen_1.4.6-1.dsc
 3db9f1a7549d3427cbdc1f7c5e1af137 2889068 devel optional doxygen_1.4.6.orig.tar.gz
 f3332f7571b38f94e2bfef9c50768ae9 16511 devel optional doxygen_1.4.6-1.diff.gz
 29336c1ff13cbec7ca2f3af8b0f352ef 1327564 devel optional doxygen_1.4.6-1_i386.deb
 aabfbc909c18f174cf22825492369bf7 90132 devel optional doxygen-gui_1.4.6-1_i386.deb
 0b88e5cf3a88426f1601dc9406252a0a 1289194 doc optional doxygen-doc_1.4.6-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDtWMsStlRaw+TLJwRAvNlAKDCBQqRzsbKYWoj++7cOaW+Xps7KACglfY4
r/ZON+J4oqgXtldpCQxRejI=
=k7jL
-----END PGP SIGNATURE-----

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.