Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Fix MacOS 10.15 package installation error #11056

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

nickjjzhao
Copy link
Contributor

@nickjjzhao nickjjzhao commented Jan 29, 2022

Change Description

EPE-2017

The Test Package step for macOS 10.15 Catalina fails continuously on all eos branches (example1 and example2). It started at early Jan 2022. It looks like the Test Package fails whenever it has output "Checking for dependents of upgraded formulae". I didn't see this output in a previously passed test (example1 and example2).

After changing environment variable HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK to false, the Test Package passed. Here is the description about this variable:

HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK:    {
  description: "If set, do not check for broken linkage of dependents or outdated dependents after " \
               "installing, upgrading or reinstalling formulae. This will result in fewer dependents " \
               " (and their dependencies) being upgraded or reinstalled but may result in more breakage " \
               "from running `brew install <formula>` or `brew upgrade <formula>`.",
  boolean:     true,
},

Change Type

Select ONE:

  • Documentation
  • Stability bug fix
  • Other
  • Other - special case

Testing Changes

Select ANY that apply:

  • New Tests
  • Existing Tests
  • Test Framework
  • CI System
  • Other

Consensus Changes

  • Consensus Changes

API Changes

  • API Changes

Documentation Additions

  • Documentation Additions

Copy link
Contributor

@kj4ezj kj4ezj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like this covers up a real dependency problem with our package configuration rather than fixing it. During your research, did you find any other software projects on the web asking their customers to mess with the internal workings of their package manager just to do an install?

I have never had to do anything remotely like this to install a package with Homebrew. I think if we aren't going to support Homebrew correctly, we should just delete it.

perform 'mkdir homebrew-eosio'
perform 'git init homebrew-eosio'
perform 'cp *.rb homebrew-eosio'
perform "sed -i.bk -e 's/url \".*\"/url \"http:\/\/127.0.0.1:7800\"/' homebrew-eosio/*.rb"
perform "pushd homebrew-eosio && git add *.rb && git commit -m 'test it!' && popd"
perform 'export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=false'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This explains why installing it twice or running the fix links command works but it's hideous this is the default Homebrew behavior. I don't see a way to force this in the formulae itself.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we try (rather than setting this export) brew list --formula | xargs -I % sh -c 'brew unlink %; brew link %' after brew update to see if its a problem with the existing installed formula?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test Package failed https://buildkite.com/EOSIO/eosio/builds/32239#3d89b1f3-3a2b-49f6-87f8-f07fc422c033 after trying brew list --formula | xargs -I % sh -c 'brew unlink %; brew link %'. Will keep setting this export as a fix since we can't prove it’s eosio, and the fix suggests its a problem with the existing installed packages.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the fix suggests its a problem with the existing installed packages.

I thought the point of this test is that this is a clean image with no existing installed formula. What brew packages are already installed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updating my comments: the fix suggests some broken linkage of dependents or outdated dependents after installing, upgrading or reinstalling formulae.

@nickjjzhao nickjjzhao requested a review from kj4ezj February 1, 2022 01:06
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants