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

Akeo 1300211 at bugs.launchpad.net
Sat Mar 20 19:18:54 UTC 2021


This is what worked for me, to build x86_32, x86_64, ARM and ARM64 UEFI
drivers from a single Ubuntu 20.04 platform (which is actually an
AppVeyor build environment):

sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9
sudo -E apt-get install -y gcc-9-multilib gcc-9-aarch64-linux-gnu gcc-9-arm-linux-gnueabi
sudo ln -s /usr/include/x86_64-linux-gnu/asm/ /usr/local/include/asm
sudo ln -s /usr/bin/aarch64-linux-gnu-gcc-9 /usr/bin/aarch64-linux-gnu-gcc
sudo ln -s /usr/bin/aarch64-linux-gnu-gcc-ar-9 /usr/bin/aarch64-linux-gnu-gcc-ar
sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-9 /usr/bin/arm-linux-gnueabi-gcc
sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-ar-9 /usr/bin/arm-linux-gnueabi-gcc-ar

If you are interested, you can find the AppVeyor build log, that
demonstrates how all 4 versions of gcc were properly invoked, at
https://ci.appveyor.com/project/pbatard/ntfs-
3g/builds/38316398?fullLog=true

Note that this is a real-life scenario, where some developers actually
need to produce UEFI executables, for all supported UEFI archs, in one
go. As such, it would really be a lot nicer if a 'gcc-multilib gcc-
aarch64-linux-gnu gcc-arm-linux-gnueabi' configuration was supported
without having to resort to applying workarounds.

-- 
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:
  Confirmed

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