Reputation: 21
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
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©' approach, where as for the Mavericks ones - the much slower package replacement.
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
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
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
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