Homebrew / legacy-homebrew

💀 The former home of Homebrew/homebrew (deprecated)
https://brew.sh
26.96k stars 11.35k forks source link

can't open file: /usr/bin/install_name_tool (No such file or directory) #29989

Closed Jellyfrog closed 10 years ago

Jellyfrog commented 10 years ago

Related to 8899c04

I have install_name_tool inside /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ but not in /usr/bin/

Tho it seems that the dylib the script is looking for is missing anyway:

» otool -L /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool:
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

Also; saying its outdated when it dosen't exist is a bit misleading

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool: can't open file: /usr/bin/install_name_tool (No such file or directory)
Warning: You have an outdated version of /usr/bin/install_name_tool installed.
adamv commented 10 years ago

What version of OS X are you running?

Jellyfrog commented 10 years ago

10.9.3

jacknagel commented 10 years ago

I have install_name_tool inside /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ but not in /usr/bin/

On 10.9, there are shims for all developer tools in /usr/bin no matter what configuration of Xcode/CLT is installed. Only the shim will be linked to /usr/lib/libxcselect.dylib. If that shim is missing, chances are other things will be broken as well.

Jellyfrog commented 10 years ago

I solved it without reinstalling, can someone confirm this is the right version?

» brew update && brew doctor
Already up-to-date.
Your system is ready to brew.

» 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)

Ive downloaded Mavericks installer from App store

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

Then I simply extracted the install_name_tool from the /usr/bin/folder.

jackiekazil commented 10 years ago

I just executed a fresh install of homebrew, then ran brew doctor, and got the following output:


Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.

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: Git could not be found in your PATH.
Homebrew uses Git for several internal functions, and some formulae use Git
checkouts instead of stable tarballs. You may want to install Git:
  brew install git

Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.

Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
    xcodebuild -license
Jacquelines-MacBook-Pro:~ jacquelinekazil$ xcodebuild -license

Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.

After I agreed to the Xcode license, then I ran brew doctor again, the warning went away. Is this something I should worry about or was it resolved with the acceptance of the license?

adamv commented 10 years ago

@jackiekazil if things are working now I wouldn't worry about it.

jackiekazil commented 10 years ago

ty... noted.

Jacqueline Kazil | @jackiekazil

On Sun, Jun 15, 2014 at 6:35 PM, Adam Vandenberg notifications@github.com wrote:

@jackiekazil https://github.com/jackiekazil if things are working now I wouldn't worry about it.

— Reply to this email directly or view it on GitHub https://github.com/Homebrew/homebrew/issues/29989#issuecomment-46130353.

petershine commented 10 years ago

Recently I ran into this similar situation. By clearly specifying which Command Line Tool I want to use with Mac (at Xcode > Preferences > Locations > Command Line Tool) brew updating went well

mysterycommand commented 10 years ago

Just as a follow up, I had this problem and followed @Jellyfrog's instructions, but just ran the Essentials Installer with:

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

The installer took about 30 minutes, but before:

$ otool -L /usr/bin/install_name_tool 
/usr/bin/install_name_tool:
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
$ brew doctor
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.

… and after:

$ 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.
costajob commented 10 years ago

@mysterycommand : saved my day! Thanks

kylemclaren commented 10 years ago

@Jellyfrog's solution worked for me, although it's a hefty download just for a small fix!

adamkaplan commented 10 years ago

Thanks again @Jellyfrog. Extracting that file was going to be my next step, but it's so much quicker to copy somebody else's commands :+1:

simonexmachina commented 10 years ago

Does anyone have any idea how to fix this without having to download the entire OS?

mistydemeo commented 10 years ago

If you have access to a version of Mavericks with it, you can get it from there. Otherwise, you do need to restore it from the OS packages.

redbar0n commented 9 years ago

If you don't want, or don't have the HDD space, to download and reinstall their entire OSX again, I uploaded the original OSX Mavericks shims to this torrent (I extracted them from the original installer from the App Store): https://archive.org/details/completely_uninstall_osx-gcc-installer

If you were experiencing the problem in this issue, due to using osx-gcc-installer, you might also want to read this, to ensure you get the uninstall procedure right: http://magnemg.tumblr.com/post/113251602430/how-to-completely-uninstall-osx-gcc-installer

sondelius commented 9 years ago

@redbar0n Thank you so much for this. I own a newer version of OSX so I wasn't able to download the installer from the App Store. This saved me a great amount of time and frustration. I actually wasn't able to run the shell script since I had deleted XCode a while back (but installed the Command Line Tools separately), and all I did was replace my corrupted install_name_tool with the one you provided in the shims. Worked like a charm and now my brew doctor doesn't complain!

redbar0n commented 9 years ago

Glad I could help! :-)

habeebp098 commented 9 years ago

I have OSX 10.10 and shows the following error while entering the command brew doctor

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

Anyone know how to solve this problem without reinstalling the OS?

I am new to OS X. Thanks in advance.

redbar0n commented 9 years ago

If you previously installed osx-gcc-installer, you might want to try my aforementioned suggestion.

You could try to download install_name_tool from the torrent I supplied, but since it is from the OSX 10.9 (Mavericks) installation package, it's not guaranteed it will work on OSX 10.10. So proceed at your own risk. I would take a backup of your existing /usr/bin/install_name_tool before potentially trying to overwrite it with the one from the torrent. Maybe someone else who has OSX 10.10 can extract the install_name_tool from that package using the same procedure as I did, and upload a torrent with the original OSX 10.10 install_name_tool file (as well as the other files that osx-gcc-installer overwrote).

sondelius commented 9 years ago

try doing the same commands but with "sudo " in front. this basically is like giving admin privileges to commands. you might have to enter your password in order to go through with it.

On Sun, May 17, 2015 at 4:53 AM, Ritesh notifications@github.com wrote:

@redbar0n https://github.com/redbar0n I downloaded the install_name_tool from the torrent. However, I am not able to replace the file in /usr/bin. Permission is denied for some reason.

$ rm install_name_tool override rwxr-xr-x root/wheel for install_name_tool? Y rm: install_name_tool: Permission denied

Similarly, $ cp ~/Downloads/install_name_tool . cp: ./install_name_tool: Permission denied

What is the correct command to transfer the downloaded file to usr/bin?

Thanks.

— Reply to this email directly or view it on GitHub https://github.com/Homebrew/homebrew/issues/29989#issuecomment-102789838 .

ritezh commented 9 years ago

Thanks @sondelius. Using sudo worked.

However, I've read multiple posts to avoid using sudo. Can anyone elaborate?

redbar0n commented 9 years ago

@ritezh sudo is just short for "super user do", which means you perform things at the most fundamental of access levels in your operating system. It will allow you to change files that have restrictions put in place for users with less access privileges.

Basically, you should backup your /usr/bin folder, including the files you intend to overwrite, before you overwrite them. Do not use rm on the files inside that folder without first having a copy of it somehwere! Ideally, you should never modify anything inside that folder, because it is a basic system folder, where you can do harm, but this procedure is an exception. Please see the bottom of this blog post for the procedure.

RCM7 commented 9 years ago

There is actually a simpler solution, which is to copy the updated file from Xcode.app. It is described in this link: http://www.hygkui.com/2015/03/08/Outdated-install-name-tool-you-need-to-reinstall-openssl/

It worked for me!

mistydemeo commented 9 years ago

Note that if you do that, you may still have issues down the line. Since the file in /usr/bin calls the file from Xcode, this means that you won't get new versions of install_name_tool as you upgrade Xcode later.

nraychaudhuri commented 9 years ago

@mysterycommand you saved my day. This also works for Yosemite

meeraecom commented 9 years ago

Thank you so much for the solution. I had to download the Yosemite installer again but who cares as long as it is fixed. I have been struggling with this for days and I am new to Mac. I was almost about to reinstall when I stumbled upon this.

jagdishadusumalli commented 9 years ago

Thanks a ton @Jellyfrog ..your steps solved the issue. It happened to me because of installation of 3G USB dongle software of Huawei E369. I am on Yosemite 10.10 and installing xcode 7 today did not resolve the issue for me.

I did not reinstall whole Essentials.pkg (3.5GB) just extracted the install_name_tool file and sudo mv it over to /usr/bin/. Though i had to install Pacifist just for extracting that file

cinic commented 9 years ago

@Jellyfrog thanks!

mistydemeo commented 9 years ago

Would you happen to have a link to the Huawei E369 drivers you installed? Thanks!

course66 commented 9 years ago

hi jagdishadusumalli, I need Homebrew just to install Domoticz on mac (already running on rpi), but I'm not so skilled as you. Nevertheless I did install Xcode 7 today, I've same warning of "You have an outdated version of /usr/bin/install_name_tool installed." ... and noticing troubles (bottle installation failed) when runing scrpits "brew install boost --with-python" and "brew install boost-python". I'm on Yosemite too. Could you explain:

cinic commented 9 years ago

@course66 clone from https://github.com/cinic/install-name-tool. I extracted it from Maverick Essentials pkg. It is compatible with Yosemite.

course66 commented 9 years ago

great, it works and no more warning on brew. thanks clinic

cinic commented 9 years ago

@course66 u'r welcome.

davidlukac commented 9 years ago

Alternatively: http://stackoverflow.com/a/32756699/2105269

cinic commented 9 years ago

@davidlukac Reinstall OSX, to replace one file? Why?

davidlukac commented 9 years ago

@cinic well, it's not whole OS X, just that one package. I didn't find a way to extract that file without buying a proprietary SW and I'd rather wait those 10 minutes until that one package installs, than putting an unknown binary file into my system (no offence :-) ). But I'm adding link to your file into the Stackoverflow answer (do you have a handle, I'd mention you there).

cinic commented 9 years ago

Aaa, okay. :+1: :smile:

zzeni commented 9 years ago

@cinic's hack worked fine on my Yosemite 10.10.5 it's also the fastest and most painless solution of all Thanks!

sompylasar commented 9 years ago

This how-to helped for Maverics 10.9.5: http://www.colinfmurphy.com/how-i-fixed-homebrew-php-complier-error-with-mac-osx-10-9-update/

The most troublesome was to find the right binary -- Maverics download from the App Store is no longer available -- and this one worked seamlessly: http://www.colinfmurphy.com/wp-content/media/2014/06/install_name_tool.zip

Here's what otool gives for it:

> 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)

Looks like it's the same as here: https://github.com/cinic/install-name-tool

globalcitizen commented 8 years ago

Can someone post an up to date one please?

user@~/code| otool -L /usr/bin/install_name_tool
/usr/bin/install_name_tool:
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1)
user@~/code| uname -a # OSX El Capitan 10.11.3 (15D21)
Darwin MBP.local 15.3.0 Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64
user@~/code| brew doctor 2>&1|grep -i name_tool
Warning: You have an outdated version of /usr/bin/install_name_tool installed.