Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflict with homebrew/core #21

Open
Kyle-Ye opened this issue Feb 6, 2022 · 2 comments
Open

Conflict with homebrew/core #21

Kyle-Ye opened this issue Feb 6, 2022 · 2 comments
Assignees
Labels

Comments

@Kyle-Ye
Copy link

Kyle-Ye commented Feb 6, 2022

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`).
@danirod
Copy link
Contributor

danirod commented Feb 7, 2022

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.

@danirod danirod self-assigned this Feb 7, 2022
@danirod danirod added the bug label Feb 7, 2022
@anta40
Copy link

anta40 commented Sep 9, 2023

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.

ta5een added a commit to ta5een/t5os that referenced this issue Jun 20, 2024
Homebrew doesn't provide an i386 ELF toolchain as an official formula,
though one is available from the tap `nativeos/i386-elf-toolchain`.
Unfortunately, the binaries included in this toolchain conflicts with
the deprecated names for the official x86_64 ELF toolchain, blocking me
from having both installed simultaneously (see [1] for more
information).

Fortunately, Homebrew provides an i686 ELF toolchain as an official
formulua. Since the i686 cross compiler supports compiling to i386, I'll
use it as the designated toolchain on macOS.

[1] nativeos/homebrew-i386-elf-toolchain#21
ta5een added a commit to ta5een/t5os that referenced this issue Jun 20, 2024
Homebrew doesn't provide an i386 ELF toolchain as an official formula,
though one is available from the tap `nativeos/i386-elf-toolchain`.
Unfortunately, the binaries included in this toolchain conflicts with
the deprecated names for the official x86_64 ELF toolchain, blocking me
from having both installed simultaneously (see [1] for more
information).

Fortunately, Homebrew provides an i686 ELF toolchain as an official
formulua. Since the i686 cross compiler supports compiling to i386, I'll
use it as the designated toolchain on macOS.

[1] nativeos/homebrew-i386-elf-toolchain#21
ta5een added a commit to ta5een/t5os that referenced this issue Jun 20, 2024
Homebrew doesn't provide an i386 ELF toolchain as an official formula,
though one is available from the tap `nativeos/i386-elf-toolchain`.
Unfortunately, the binaries included in this toolchain conflicts with
the deprecated names for the official x86_64 ELF toolchain, blocking me
from having both installed simultaneously (see [1] for more
information).

Fortunately, Homebrew provides an i686 ELF toolchain as an official
formulua. Since the i686 cross compiler supports compiling to i386, I'll
use it as the designated toolchain on macOS.

[1] nativeos/homebrew-i386-elf-toolchain#21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants