homebrew-i386-elf-toolchain
homebrew-i386-elf-toolchain copied to clipboard
Conflict with homebrew/core
Description
Since homebrew treat "i386-elf-binutils" as an old and deprecated name for "x86_64-elf-binutils", there is some confusion for homebrew if we install both x86_64-elf-binutils and nativeos/i386-elf-toolchain/i386-elf-binutils
How to reproduce
At first I do the following, and everything is OK.
brew install x86_64-elf-binutils
brew install x86_64-elf-gcc
brew tap nativeos/i386-elf-toolchain
brew install nativeos/i386-elf-toolchain/i386-elf-binutils
brew install nativeos/i386-elf-toolchain/i386-elf-gcc
Then when I try to do brew install nativeos/i386-elf-toolchain/i386-elf-gdb, it gives me the following error
Error: x86_64-elf-binutils from homebrew/core is given, but old name i386-elf-binutils was installed from nativeos/i386-elf-toolchain.
Please try to use fully-qualified nativeos/i386-elf-toolchain/i386-elf-binutils to refer to the formula.
To force migration, run:
brew migrate --force i386-elf-binutils
Error: undefined method `core_tap?' for nil:NilClass
Full log
Though homebrew gives error about it, I can still successfully install gdb.
➜ Linux-0.11 git:(master) ✗ brew install nativeos/i386-elf-toolchain/i386-elf-gdb
Running `brew update --preinstall`...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 1 formula.
Error: x86_64-elf-binutils from homebrew/core is given, but old name i386-elf-binutils was installed from nativeos/i386-elf-toolchain.
Please try to use fully-qualified nativeos/i386-elf-toolchain/i386-elf-binutils to refer to the formula.
To force migration, run:
brew migrate --force i386-elf-binutils
Error: undefined method `core_tap?' for nil:NilClass
==> Downloading https://ftp.gnu.org/gnu/gdb/gdb-10.2.tar.xz
######################################################################## 100.0%
==> Installing i386-elf-gdb from nativeos/i386-elf-toolchain
==> ./configure --prefix=/opt/homebrew/Cellar/i386-elf-gdb/10.2_2 --target=i386-elf --pro
==> make
==> make install
🍺 /opt/homebrew/Cellar/i386-elf-gdb/10.2_2: 31 files, 7.7MB, built in 2 minutes 34 seconds
==> Running `brew cleanup i386-elf-gdb`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
I'll have a look on it. I've already namespaced binutils and gcc but I still haven't checked that gdb and grub are up to date and namespaced.
Just experienced this: I need to build a project which requires x86_64-elf-gcc, so I installed it. Then build another project which required i386-elf-gcc... somehow it conflicted with x86_64-elf gcc so got automatically removed.