libstdc++6-4.5-dev does not contain 64-bit headers in the i386 package

Bug #793411 reported by Michael Wild
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
gcc-4.4 (Ubuntu)
Fix Released
Undecided
Unassigned
Maverick
Won't Fix
Undecided
Unassigned
Natty
Won't Fix
Undecided
Unassigned
gcc-4.5 (Ubuntu)
Fix Released
Undecided
Unassigned
Maverick
Won't Fix
Undecided
Unassigned
Natty
Won't Fix
Undecided
Unassigned
gcc-4.6 (Ubuntu)
Fix Released
Undecided
Unassigned
Maverick
Invalid
Undecided
Unassigned
Natty
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: libstdc++6-4.{5,6}-dev

The package i386 architecture of the package libstdc++6-4.{5,6}-dev does not contain the 64-bit headers. This makes it impossible to compile for amd64 on a i386 installation. Also, this makes g++-4.{5,6}-multilib unusable.

Michael Wild (themiwi)
description: updated
Michael Wild (themiwi)
description: updated
Revision history for this message
Matthias Klose (doko) wrote :

what is missing? the headers are in libstdc++6-4.5-dev

Changed in gcc-4.5 (Ubuntu):
status: New → Incomplete
Changed in gcc-4.6 (Ubuntu):
status: New → Incomplete
Revision history for this message
Michael Wild (themiwi) wrote :

No, they are not. All headers in /usr/include/c++/4.{5,6}/i{4,6}86-linux-gnu/64 are missing in the libstdc++6-4.{5,6}-dev_*_i386.deb packages. Try the following on a i386 install (or a i386-chroot):

$ echo "#include <fstream>" | g++ -m64 -xc++ -E -

You will see that g++ is not able to find the header bits/c++config.h. The same command (obviously with -m32 instead of -m64) works fine on a amd64 installation, because /usr/include/c++/4.{5,6}/x86_64-linux-gnu/32 is present.

Revision history for this message
Michael Wild (themiwi) wrote :

You can also use "apt-file search 64/bits/c++config.h" in a i386 installation. You will see that nothing shows up. "apt-file search 32/bits/c++config.h" on a amd64 installation will turn up the libstdc++6-4.{5,6}-dev packages. Also, looking at http://packages.ubuntu.com/oneiric/i386/libstdc++6-4.6-dev/filelist only shows the 32-bit versions of bits/c++config.h.

Revision history for this message
Matthias Klose (doko) wrote :

confirmed, i386, not amd64

Changed in gcc-4.5 (Ubuntu):
status: Incomplete → Confirmed
Changed in gcc-4.6 (Ubuntu):
status: Incomplete → Confirmed
Changed in gcc-4.4 (Ubuntu):
status: New → Confirmed
Revision history for this message
Micah Gersten (micahg) wrote :

isn't this expected behaviour with multiarch? shouldn't one be able to install the amd64 -dev package to cross compile?

Revision history for this message
Matthias Klose (doko) wrote :

as a quick workaround:

  mv /usr/include/c++/4.x/i486-linux-gnu /usr/include/c++/4.x/i686-linux-gnu/64

Revision history for this message
Michael Wild (themiwi) wrote :

You mean that it's just a "typo" and the headers got installed into the wrong place?

Revision history for this message
Matthias Klose (doko) wrote : Re: [Bug 793411] Re: libstdc++6-4.5-dev does not contain 64-bit headers in the i386 package

On 06/06/2011 10:16 PM, Michael Wild wrote:
> You mean that it's just a "typo" and the headers got installed into the
> wrong place?

yes.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gcc-4.6 - 4.6.0-11ubuntu2

---------------
gcc-4.6 (4.6.0-11ubuntu2) oneiric; urgency=low

  * Update to SVN 20110606 (r174700) from the gcc-4_6-branch.
    - PR target/49186, PR rtl-optimization/49235, PR tree-optimization/48702,
      PR tree-optimization/49243, PR c++/49134.
  * Fix c++ biarch header installation on i386. LP: #793411.

gcc-4.6 (4.6.0-11) unstable; urgency=low

  * Update to SVN 20110604 (r174637) from the gcc-4_6-branch.
    - Fix PR c++/49165, PR tree-optimization/49218, PR target/45263,
      PR target/43700, PR target/43995, PR tree-optimization/49217,
      PR c++/49223, PR c++/47049, PR c++/47277, PR c++/48284, PR c++/48657,
      PR c++/49176, PR fortran/48955, PR tree-optimization/49038,
      PR tree-optimization/49093, PR middle-end/48985, PR middle-end/48953,
      PR c++/49276, PR fortran/49265, PR fortran/45786.
  * Configure the hppa64 and spu cross builds with --enable-plugin.
 -- Matthias Klose <email address hidden> Mon, 06 Jun 2011 21:55:42 +0200

Changed in gcc-4.6 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Michael Wild (themiwi) wrote :

Indeed, http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/oneiric/gcc-4.6/oneiric/revision/19#debian/rules2 would explain it ;-) Will this fix also go into Natty's gcc-4.5?

Revision history for this message
Michael Wild (themiwi) wrote :

Not to forget, Maverick? AFAIK Lucid is fine.

Funny, that nobody stumbled across this during the development of Maverick...

Revision history for this message
Matthias Klose (doko) wrote :

fixed in oneiric

Changed in gcc-4.6 (Ubuntu Natty):
status: New → Invalid
Changed in gcc-4.6 (Ubuntu Maverick):
status: New → Invalid
Changed in gcc-4.4 (Ubuntu Maverick):
status: New → Confirmed
Changed in gcc-4.4 (Ubuntu):
status: Confirmed → Fix Released
Changed in gcc-4.4 (Ubuntu Natty):
status: New → Confirmed
Changed in gcc-4.5 (Ubuntu):
status: Confirmed → Fix Released
Changed in gcc-4.5 (Ubuntu Maverick):
status: New → Confirmed
Changed in gcc-4.5 (Ubuntu Natty):
status: New → Confirmed
Changed in gcc-4.4 (Ubuntu Maverick):
milestone: none → maverick-updates
Changed in gcc-4.4 (Ubuntu Natty):
milestone: none → natty-updates
Changed in gcc-4.5 (Ubuntu Maverick):
milestone: none → maverick-updates
Changed in gcc-4.5 (Ubuntu Natty):
milestone: none → natty-updates
Revision history for this message
Matthias Klose (doko) wrote :

updated packages are available in the ubuntu-toolchain-r PPA

Revision history for this message
Paisa Seeluangsawat (paisa) wrote :

> Funny, that nobody stumbled across this during the development of Maverick...

http://stackoverflow.com/questions/4643197/missing-include-bits-cconfig-h-when-cross-compiling-64-bit-program-on-32-bit

Revision history for this message
Rolf Leggewie (r0lf) wrote :

maverick has seen the end of its life and is no longer receiving any updates. Marking the maverick task for this ticket as "Won't Fix".

Changed in gcc-4.4 (Ubuntu Maverick):
status: Confirmed → Won't Fix
Changed in gcc-4.5 (Ubuntu Maverick):
status: Confirmed → Won't Fix
Revision history for this message
Rolf Leggewie (r0lf) wrote :

natty has seen the end of its life and is no longer receiving any updates. Marking the natty task for this ticket as "Won't Fix".

Changed in gcc-4.4 (Ubuntu Natty):
status: Confirmed → Won't Fix
Changed in gcc-4.5 (Ubuntu Natty):
status: Confirmed → Won't Fix
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.