user2358175
user2358175

Reputation: 21

Brew doctor shows warnings How to solve it

I am new to OSX while running

brew doctor

shows the following warnings.

Warning: You have an outdated version of /usr/bin/install_name_tool installed. 
This will cause binary package installations to fail.
This can happen if you install osx-gcc-installer or RailsInstaller.
To restore it, you must reinstall OS X or restore the binary from
the OS packages.


 Warning: Some keg-only formula are linked into the Cellar.
Linking a keg-only formula, such as gettext, into the cellar with
`brew link <formula>` will cause other formulae to detect them during
the `./configure` step. This may cause problems when compiling those
other formulae.

Binaries provided by keg-only formulae may override system binaries
with other strange results.

You may wish to `brew unlink` these brews:

openssl

Is there anyway to solve the error without reinstalling OS?

I need to install ruby rails, it shows some errors while running

rails server 

command. I think the problem is due to the above warnings.

thanks in advance

Upvotes: 1

Views: 1330

Answers (3)

Evgeniya Manolova
Evgeniya Manolova

Reputation: 2650

@Yahya, I ran into the same problem and managed to fix it after reading this thread: https://github.com/Homebrew/homebrew/issues/29989

I've tried both suggested solutions (reinstalling the essentials package vs copying only the install_name_tool binary) and both worked equally fine (I've given examples for each of them below)

Therefore for Yosemite systems I recommend the fast 'clone&copy' approach, where as for the Mavericks ones - the much slower package replacement.

Yosemite OS

First check the current version of install_name_tool

$ otool -L /usr/bin/install_name_tool
/usr/bin/install_name_tool
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.3)

Now clone the Yosemite compatible binary from Github and replace the one in your /usr/bin folder:

$ git clone https://github.com/cinic/install-name-tool
Cloning into 'install-name-tool'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
Unpacking objects: 100% (3/3), done.
Checking connectivity... done.
$ sudo mv /usr/bin/install_name_tool /usr/bin/install_name_tool.orig
$ sudo cp install-name-tool/install_name_tool /usr/bin/

Finally check if the version is updated and if homebrew is fixed:

$ otool -L /usr/bin/install_name_tool 
/usr/bin/install_name_tool:
    /usr/lib/libxcselect.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
$ brew doctor
Your system is ready to brew.

Finally

$ rm -fr install-name-tool/
$ sudo rm /usr/bin/install_name_tool.orig 

Mavericks

Download the Mavericks installer from App store

$ open /Applications/Install\ OS\ X\ Mavericks.app/Contents/SharedSupport/InstallESD.dmg
$ open /Volumes/OS\ X\ Install\ ESD/Packages/Essentials.pkg

After the package is installed, check if the brew doctor output.

Upvotes: 1

Yahya
Yahya

Reputation: 540

I also faced the same issue and would get the warning that "/usr/bin/install_name_tool" was outdated.

The problem is that Xcode's install_name_tool has been updated, while the one in the system is outdated. This can be solved by copying Xcode's install_name_tool to the system. Use this command :

sudo cp /Applications/Xcode.app/Contents//Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool /usr/bin/install_name_tool

install_name_tool should now be updated.

Upvotes: 0

Gann14
Gann14

Reputation: 1138

If you are using Homebrew, it will often look for items you have and link them. It looks like it's done that with openssl. You have three options:

Uninstall and reinstall openssl

brew uninstall openssl
brew install openssl

Try upgrading openssl

brew update openssl

Or you can try unlinking openssl (though, only do this if you know where you openssl is)

brew unlink openssl

Upvotes: 0

Related Questions