[Bug 1300211] Re: Can't install both gcc-multilib and gcc-arm-linux-gnueabihf

T Parys tparys at gmail.com
Wed Apr 6 17:47:49 UTC 2016


Perhaps the symlink at /usr/include/asm is better suited elsewhere?

The cpp include path for i386 (-m32 flag), is as follows:

foo ~ $ gcc -m32 -Wp,-v test.c 
ignoring nonexistent directory "/usr/local/include/i386-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/4.8/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
 /usr/include/i386-linux-gnu
 /usr/include
End of search list.

And for the armhf toolchain ...

foo ~ $ arm-linux-gnueabihf-gcc -Wp,-v test.c 
ignoring nonexistent directory "/usr/local/include/arm-linux-gnueabihf"
ignoring nonexistent directory "/usr/include/arm-linux-gnueabihf"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/include
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/include-fixed
 /usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/include
 /usr/include

Wouldn't it be better to allow gcc to find i386 specific asm defines in
/usr/include/i386-linux-gnu/asm?

# rm -f /usr/include/asm
# ln -s x86_64-linux-gnu /usr/include/i386-linux-gnu
# ln -s x86_64-linux-gnu /usr/include/x86_64-linux-gnux32

There. Both -m32 and -mx32 flags will work fine. You can have cross
compilers installed at the same time. And to boot, no potential for
cross-contamination between platform specific macros.

Hopefully, we can agree that a symlink at /usr/include/asm is
universally wrong? You can't have platform specific defines in a common
include directory for all gcc targets? Maybe we can file a bug against
gcc-multilib, and move on?

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-defaults in Ubuntu.
https://bugs.launchpad.net/bugs/1300211

Title:
  Can't install both gcc-multilib and gcc-arm-linux-gnueabihf

Status in gcc-defaults package in Ubuntu:
  Invalid

Bug description:
  Problem is on Ubuntu 14.04.  Earlier versions of Ubuntu don't seem to
  have this issue and the two packages can happily coexist.

  When I run e.g.,
  apt-get install gcc-multilib, it uninstalls the ARM compilers.

  root at rufus-linux:/# apt-get install gcc-multilib 
  Reading package lists... Done
  Building dependency tree       
  Reading state information... Done
  The following packages were automatically installed and are no longer required:
    binutils-arm-linux-gnueabihf cpp-4.8-arm-linux-gnueabihf cpp-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf-base
    libasan0-armhf-cross libatomic1-armhf-cross libc6-armel-armhf-cross libc6-armhf-cross libc6-dev-armel-armhf-cross
    libc6-dev-armhf-cross libgcc-4.8-dev-armhf-cross libgcc1-armhf-cross libgomp1-armhf-cross libsfasan0-armhf-cross
    libsfatomic1-armhf-cross libsfgcc-4.8-dev-armhf-cross libsfgcc1-armhf-cross libsfgomp1-armhf-cross
    libsfstdc++-4.8-dev-armhf-cross libsfstdc++6-armhf-cross libstdc++-4.8-dev-armhf-cross libstdc++6-armhf-cross
    linux-libc-dev-armhf-cross
  Use 'apt-get autoremove' to remove them.
  The following packages will be REMOVED
    g++-4.8-arm-linux-gnueabihf g++-4.8-multilib-arm-linux-gnueabihf g++-arm-linux-gnueabihf
    gcc-4.8-arm-linux-gnueabihf gcc-4.8-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf
  The following NEW packages will be installed
    gcc-multilib
  0 to upgrade, 1 to newly install, 6 to remove and 0 not to upgrade.
  Need to get 0 B/1,024 B of archives.
  After this operation, 31.3 MB disk space will be freed.

  Similarly, when I install the arm compiler, it uninstalls gcc-multilib
  root at rufus-linux:/# apt-get install gcc-arm-linux-gnueabihf
  Reading package lists... Done
  Building dependency tree       
  Reading state information... Done
  The following packages were automatically installed and are no longer required:
    libsfstdc++-4.8-dev-armhf-cross libsfstdc++6-armhf-cross libstdc++-4.8-dev-armhf-cross libstdc++6-armhf-cross
  Use 'apt-get autoremove' to remove them.
  The following extra packages will be installed:
    gcc-4.8-arm-linux-gnueabihf gcc-4.8-multilib-arm-linux-gnueabihf
  Suggested packages:
    gcc-4.8-doc gcc-4.8-locales libgcc1-dbg-armhf-cross libgomp1-dbg-armhf-cross libitm1-dbg-armhf-cross
    libatomic1-dbg-armhf-cross libasan0-dbg-armhf-cross libtsan0-dbg-armhf-cross libbacktrace1-dbg-armhf-cross
    libquadmath-dbg-armhf-cross manpages-dev automake1.9 gdb-arm-linux-gnueabihf gcc-doc
  The following packages will be REMOVED
    gcc-multilib
  The following NEW packages will be installed
    gcc-4.8-arm-linux-gnueabihf gcc-4.8-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf
  0 to upgrade, 3 to newly install, 1 to remove and 0 not to upgrade.
  Need to get 0 B/5,074 kB of archives.
  After this operation, 15.7 MB of additional disk space will be used.

  Note, this is a test ubuntu disk image created using pbuilder.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1300211/+subscriptions



More information about the foundations-bugs mailing list