Debian Bug report logs - #697695
dpkg-cross fails to match include directories in cflags values of pkg-config files.

version graph

Package: dpkg-cross; Maintainer for dpkg-cross is Debian Embedded Group <>; Source for dpkg-cross is src:dpkg-cross.

Reported by: Neil Williams <>

Date: Tue, 8 Jan 2013 16:00:02 UTC

Severity: normal

Found in version dpkg-cross/2.5.8

Fixed in version dpkg-cross/2.6.10

Done: Neil Williams <>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox

Report forwarded to, Debian Embedded Group <>:
Bug#697695; Package dpkg-cross. (Tue, 08 Jan 2013 16:00:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <>:
New Bug report received and forwarded. Copy sent to Debian Embedded Group <>. (Tue, 08 Jan 2013 16:00:04 GMT) Full text and rfc822 format available.

Message #5 received at (full text, mbox):

From: Neil Williams <>
Subject: dpkg-cross fails to match include directories in cflags values of pkg-config files.
Date: Tue, 8 Jan 2013 15:57:46 +0000
[Message part 1 (text/plain, inline)]
Package: dpkg-cross
Version: 2.5.8
Severity: normal

The current dpkg-cross conversion of pkg-config files is failing to catch some instances
of /usr/include in the CFLAGS section of the .pc file. This isn't often a problem but
when libraries rely on assembly code (like Qt), the presence of /usr/include in the
command line passed to the cross-compiler preprocessor can cause i386 assembly to be
included into the file to be armel cross compiler:

arm-linux-gnueabi-g++ -c -pipe -g -DQT_SHARED -I/usr/include/qt4 
-I. -I/usr/arm-linux-gnueabi/include/qt4/QtCore 
-I/usr/arm-linux-gnueabi/include/qt4/QtDBus -I/usr/arm-linux-gnueabi/include/qt4 -I. 
-I/usr/arm-linux-gnueabi/include -o confdata.o confdata.cpp
{standard input}: Assembler messages:
{standard input}:167: Error: bad instruction `lock'
{standard input}:168: Error: bad instruction `incl [r3,#0]'
{standard input}:169: Error: bad instruction `setne [fp,#-5]'
{standard input}:217: Error: bad instruction `lock'
{standard input}:218: Error: bad instruction `decl [r3,#0]'
{standard input}:219: Error: bad instruction `setne [fp,#-5]'

This happens because neither the QJson.pc nor the QtCore.pc files are converted correctly.

The fix needs to handle both the includedir and the Cflags values.

Fixed version of the QJson.pc:


Name: QJson
Description: QJson is a qt-based library that maps JSON data to QVariant objects
Version: 0.7.1
Requires: QtCore
Libs: -L${libdir} -lqjson
Cflags: -I${includedir}

Fixed version of the QtCore.pc file:

qt_config=lex yacc warn_on uic resources qt warn_on release incremental
link_prl arm-linux-gnueabi no_mocdepend release stl qt_no_framework
cross_compile system-sqlite release shared dll embedded largefile stl
exceptions_off dylib create_prl link_prl depend_includepath QTDIR_build
nostrip use_libmysqlclient_r qt_install_headers qt warn_on
depend_includepath qmake_cache target_qt create_libtool create_pc
explicitlib moc thread shared dll

Name: Qtcore
Description: Qtcore Library
Version: 4.6.3
Libs: -L${libdir} -lQtCore 
Libs.private: -L/usr/lib -L/usr/arm-linux-gnueabi/lib/ -L/usr/lib  -lsqlite3 -ldbus-1 -lpthread -lrt -lpthread -lz -lm -ldl -lrt  
Cflags: -DQT_SHARED -I/usr/arm-linux-gnueabi/include/qt4 -I${includedir}

-- Package-specific info:

-- /etc/dpkg-cross/cross-compile --

# /etc/dpkg-cross/cross-compile: configuration for dpkg-cross

# default architecture for dpkg-cross (to avoid always typing the -a option
# if you do cross installations only for one architecture)
# Note: default_arch is managed by debconf - it can be overridden
# if ~/.dpkg-cross/cross-compile exists or by specifying an
# architecture on the command line.
# Use '[sudo] dpkg-reconfigure dpkg-cross' to change this value.
#default_arch = 

# All subsequent variables may be removed (and/or become
# unsupported) at any time.

# general section: paths of cross compiling environment
# you can set the following variables here:
#  crossprefix: prefix for cross compiling binaries; default: $(DEB_HOST_GNU_SYSTEM)-
#  crossbase  : base prefix for the following; default: /usr
#  crossdir   : base directory for architecture; default:
#               $(CROSSBASE)/$(DEB_HOST_GNU_TYPE)
#  crossbin   : dir for binaries; default: $(CROSSDIR)/bin
#  crosslib   : dir for libraries; default: $(CROSSDIR)/lib
#  crossinc   : dir for headers; default: $(CROSSDIR)/include
#  maintainer : maintainer name to pass to original dpkg-buildpackage
#               in -m option. If not set at all, don't pass a -m, thus
#               dpkg-buildpackage will use the name from the changelog
#               file. If set to the special string CURRENTUSER,
#               dpkg-buildpackage will use the name from the
#               changelog, too, but signing the .changes will be done
#               as the current user (default key).
#  removedeps : comma-separated list of package names that should be removed
#               from depends/conflicts/etc fields
#  keepdeps   : comma-separated list of package names that should be kept
#               in depends/conflicts/etc fields as is, without adding
#               -arch-cross.
# In preparation for merging dpkg-cross into dpkg, the previous
# defaults have been removed.

-- System Information:
Debian Release: 6.0.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-0.bpo.3-686-pae (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dpkg-cross depends on:
ii  binutils-multiarch     2.20.1-16         Binary utilities that support mult
ii  debconf [debconf-2.0]          Debian configuration management sy
ii  dpkg-dev       Debian package development tools
ii  libconfig-auto-perl    0.20-2            Magical config file parser
ii  libdebian-dpkgcross-pe 2.5.8             functions to aid cross-compiling D
ii  perl                   5.10.1-17squeeze3 Larry Wall's Practical Extraction 

Versions of packages dpkg-cross recommends:
ii  fakeroot                      1.14.4-1   Gives a fake root environment

dpkg-cross suggests no packages.

-- debconf information:
  dpkg-cross/default-arch: None


Neil Williams

[Message part 2 (application/pgp-signature, inline)]

Information forwarded to, Debian Embedded Group <>:
Bug#697695; Package dpkg-cross. (Thu, 21 Mar 2013 18:51:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Neil Williams <>:
Extra info received and forwarded to list. Copy sent to Debian Embedded Group <>. (Thu, 21 Mar 2013 18:51:04 GMT) Full text and rfc822 format available.

Message #10 received at (full text, mbox):

From: Neil Williams <>
Subject: pending
Date: Thu, 21 Mar 2013 18:49:55 +0000
[Message part 1 (text/plain, inline)]
tag 697695 + pending


Neil Williams

[Message part 2 (application/pgp-signature, inline)]

Added tag(s) pending. Request was from Neil Williams <> to (Thu, 21 Mar 2013 19:45:05 GMT) Full text and rfc822 format available.

Reply sent to Neil Williams <>:
You have taken responsibility. (Thu, 21 Mar 2013 22:21:20 GMT) Full text and rfc822 format available.

Notification sent to Neil Williams <>:
Bug acknowledged by developer. (Thu, 21 Mar 2013 22:21:21 GMT) Full text and rfc822 format available.

Message #17 received at (full text, mbox):

From: Neil Williams <>
Subject: Bug#697695: fixed in dpkg-cross 2.6.10
Date: Thu, 21 Mar 2013 22:17:37 +0000
Source: dpkg-cross
Source-Version: 2.6.10

We believe that the bug you reported is fixed in the latest version of
dpkg-cross, which is due to be installed in the Debian FTP archive.

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

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

Debian distribution maintenance software
Neil Williams <> (supplier of updated dpkg-cross 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

Hash: SHA256

Format: 1.8
Date: Thu, 21 Mar 2013 17:42:37 +0000
Source: dpkg-cross
Binary: dpkg-cross libdebian-dpkgcross-perl
Architecture: source all
Version: 2.6.10
Distribution: experimental
Urgency: low
Maintainer: Debian Embedded Group <>
Changed-By: Neil Williams <>
 dpkg-cross - tools for cross compiling Debian packages
 libdebian-dpkgcross-perl - functions to aid cross-compiling Debian packages
Closes: 697695
 dpkg-cross (2.6.10) experimental; urgency=low
   * Fix include directories in cflags values of pkg-config files
     (Closes: #697695)
 e232e44bab8d38c3a58960c3de6340d88c5bccf4 1946 dpkg-cross_2.6.10.dsc
 979585cb0393338619b9c8e8944ee6aac62918eb 78936 dpkg-cross_2.6.10.tar.gz
 6cd98caff09cb5491807aacbb3856c8eb9d437f7 55606 dpkg-cross_2.6.10_all.deb
 3c30ba3ed3576b080408b7e4442c27486477bb83 29670 libdebian-dpkgcross-perl_2.6.10_all.deb
 c12e18782ad5ab98b9782d915683e7fa590988b94f35d6fa36ae6ecdc3e3811b 1946 dpkg-cross_2.6.10.dsc
 3ab17656d0640a4e3197ec33116323d8375cec6d753d5c67d6d96fe8666ccc76 78936 dpkg-cross_2.6.10.tar.gz
 2277951b10cbdb34e0dec8ab7544c76857048d9167028c16cff4832cfb288526 55606 dpkg-cross_2.6.10_all.deb
 995dacc39509ef4a4b69cfd49262454e1803f8948e712e2dce12bf17661d21ac 29670 libdebian-dpkgcross-perl_2.6.10_all.deb
 18ce04240d818692b771a776bb3f75b9 1946 utils extra dpkg-cross_2.6.10.dsc
 0b3eb6a3d72b36c1143904ac1d1c39c9 78936 utils extra dpkg-cross_2.6.10.tar.gz
 a84b8b3cf3d7374b8773137210880edd 55606 utils extra dpkg-cross_2.6.10_all.deb
 d125d7e6f83554bc7baf884bf9c2ef83 29670 perl extra libdebian-dpkgcross-perl_2.6.10_all.deb

Version: GnuPG v1.4.12 (GNU/Linux)


Bug archived. Request was from Debbugs Internal Request <> to (Tue, 02 Jul 2013 07:50:39 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.

Debian bug tracking system administrator <>. Last modified: Fri Apr 18 14:04:03 2014; Machine Name:

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.