Homebrew aspell directory not writable - homebrew

I am having some difficulties. This started with a broader question but I seem (with some help from this list) to have narrowed things down a bit. My original query is at Emacs - Kieran Healy's Emacs Starter Kit aspell English dictionery
(And, yes, I am embarrassed at the spelling error in the title).
I have narrowed (with some help from that question) to narrow my problem down to the Homebrew installation of aspell. The command brew install aspell gives the following error.
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/aspell-0.60/american-variant_0.alias
/usr/local/lib/aspell-0.60 is not writable.
You can try again using:
brew link aspell
If I try brew link aspell I get the following error:
Linking /usr/local/Cellar/aspell/0.60.6.1_1...
Error: Could not symlink lib/aspell-0.60/american-variant_0.alias
/usr/local/lib/aspell-0.60 is not writable.
File permissions on aspell are
drwxr-xr-x 89 root wheel 2848 7 Nov 2016 aspell-0.60
brew doctor gives
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that
depend on
those kegs to fail to run properly once built. Run `brew link` on
these:
aspell
It also tells me I need to update from XCode 9.3 to XCode 10.1, but since I am still running MacOS 10.13.4, I think I do not need to do this.
Any help greatly appreciated.

The info at Homebrew: Could not symlink, /usr/local/bin is not writable was helpful. I had to sudo chown -Rwhoami:admin /usr/local/lib. Then after unintalling and reinstalling aspell with Homebrew, I had to brew link --overwrite aspell. Everything works now.

Related

What does this mean? Some installed kegs have no formulae

I see this after typing in "brew doctor"
Warning: Some installed kegs have no formulae! This means they were
either deleted or installed with brew diy. You should find
replacements for the following formulae:
python#2
What does this mean and how do I fix it?
It's just a warning, as most "brew doctor" messages are. Python 2 is dead. You can remove it with brew uninstall python#2.

How should I overwrite/replace nmap, when there are two copies of the same version present?

I recently reinstalled nmap using brew, which, I guess, has caused some conflict with the pre-existing one. So just running nmap gives a -bash: /usr/local/bin/nmap: error.
Ran brew doctor to diagnose the issue and came up with this:
Warning: You have unlinked kegs in your Cellar. Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run 'brew link' on these: nmap
Warning: Broken symlinks were found. Remove them with 'brew cleanup': /usr/local/share/man/man1/brew-cask.1
I tried running brew link --overwrite nmap
but gives me error: Could not symlink share/man/es/man1/nmap.1 Target /usr/local/share/man/es/man1/nmap.1 already exists. You may want to remove it: rm '/usr/local/share/man/es/man1/nmap.1'
Any help would be appreciated,
Thanks.
You can just follow the indications given by brew doctor by running:
rm '/usr/local/share/man/es/man1/nmap.1'
then
brew link --overwrite nmap

Using Brew to Install rbenv

I'm trying to take a coursera class on Ruby from Johns Hopkins. The Mac OSX set up instructions require that I download homebrew and then install rbenv. I already have brew installed from stuff I had done a long time back, so perhaps this issue is because I screwed up installing ruby/brew a long time ago.
Here's the command that's giving me issues: brew install rbenv ruby-build
the response i get is this:
Warning: rbenv-0.4.0 already installed, it's just not linked
==> Installing dependencies for ruby-build: pkg-config, openssl
Error: Cannot link pkg-config
Another version is already linked: /usr/local/Cellar/pkg-config/0.28
Update: Here's what appeared after running brew doctor:
Warning: /usr/local/bin isn't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably change the ownership and permissions of /usr/local/bin
back to your user account.
sudo chown -R $(whoami) /usr/local/bin
Warning: /usr/local/share isn't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a formula tries to write a file to this directory, the
install will fail during the link step.
You should probably change the ownership and permissions of /usr/local/share
back to your user account.
sudo chown -R $(whoami) /usr/local/share
Warning: Some directories in /usr/local/share/man aren't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to add locale information to one of these
directories, then the install will fail during the link step.
You should probably `sudo chown -R $(whoami)` them:
/usr/local/share/man
/usr/local/share/man/man1
/usr/local/share/man/man5
/usr/local/share/man/mann
Warning: Broken symlinks were found. Remove them with `brew prune`:
/usr/local/bin/2to3-3.3
/usr/local/bin/apm
/usr/local/bin/atom
/usr/local/bin/idle3.3
/usr/local/bin/python3.3-32
/usr/local/bin/pythonw3
/usr/local/bin/pythonw3-32
/usr/local/bin/pythonw3.3
/usr/local/bin/pythonw3.3-32
/usr/local/bin/pyvenv-3.3
/usr/local/bin/subl
Warning: Python is installed at /Library/Frameworks/Python.framework
Homebrew only supports building against the System-provided Python or a
brewed Python. In particular, Pythons installed to /Library can interfere
with other software installs.
Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected dylibs:
/usr/local/lib/libMonoPosixHelper.dylib
/usr/local/lib/libSFFileMonitor.32.dylib
/usr/local/lib/libSFIPC.32.dylib
/usr/local/lib/libSFIPC.I.dylib
/usr/local/lib/libSFsqlite3.7.4.dylib
/usr/local/lib/libSFSyncEngine.I.dylib
/usr/local/lib/libtcl8.6.dylib
/usr/local/lib/libtk8.6.dylib
Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected header files:
/usr/local/include/fakemysql.h
/usr/local/include/fakepq.h
/usr/local/include/fakesql.h
/usr/local/include/itcl.h
/usr/local/include/itcl2TclOO.h
/usr/local/include/itclDecls.h
/usr/local/include/itclInt.h
/usr/local/include/itclIntDecls.h
/usr/local/include/itclMigrate2TclCore.h
/usr/local/include/itclTclIntStubsFcn.h
/usr/local/include/mysqlStubs.h
/usr/local/include/node/ares.h
/usr/local/include/node/ares_version.h
/usr/local/include/node/nameser.h
/usr/local/include/node/node.h
/usr/local/include/node/node_buffer.h
/usr/local/include/node/node_internals.h
/usr/local/include/node/node_object_wrap.h
/usr/local/include/node/node_version.h
/usr/local/include/node/openssl/opensslconf.h
/usr/local/include/node/uv-private/ngx-queue.h
/usr/local/include/node/uv-private/stdint-msvc2008.h
/usr/local/include/node/uv-private/tree.h
/usr/local/include/node/uv-private/uv-bsd.h
/usr/local/include/node/uv-private/uv-darwin.h
/usr/local/include/node/uv-private/uv-linux.h
/usr/local/include/node/uv-private/uv-sunos.h
/usr/local/include/node/uv-private/uv-unix.h
/usr/local/include/node/uv-private/uv-win.h
/usr/local/include/node/uv.h
/usr/local/include/node/v8-debug.h
/usr/local/include/node/v8-preparser.h
/usr/local/include/node/v8-profiler.h
/usr/local/include/node/v8-testing.h
/usr/local/include/node/v8.h
/usr/local/include/node/v8stdint.h
/usr/local/include/node/zconf.h
/usr/local/include/node/zlib.h
/usr/local/include/odbcStubs.h
/usr/local/include/pqStubs.h
/usr/local/include/tcl.h
/usr/local/include/tclDecls.h
/usr/local/include/tclOO.h
/usr/local/include/tclOODecls.h
/usr/local/include/tclPlatDecls.h
/usr/local/include/tclThread.h
/usr/local/include/tclTomMath.h
/usr/local/include/tclTomMathDecls.h
/usr/local/include/tdbc.h
/usr/local/include/tdbcDecls.h
/usr/local/include/tdbcInt.h
/usr/local/include/tk.h
/usr/local/include/tkDecls.h
/usr/local/include/tkPlatDecls.h
Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected .pc files:
/usr/local/lib/pkgconfig/tcl.pc
/usr/local/lib/pkgconfig/tk.pc
Warning: Unbrewed static libraries were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected static libraries:
/usr/local/lib/libtclstub8.6.a
/usr/local/lib/libtkstub8.6.a
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
rbenv
Warning: You have uncommitted modifications to Homebrew
If this is a surprise to you, then you should stash these modifications.
Stashing returns Homebrew to a pristine state but can be undone
should you later need to do so for some reason.
cd /usr/local/Library && git stash && git clean -d -f
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:
2to3
2to3-2.7
easy_install
easy_install-2.7
idle
idle2.7
info
infokey
install-info
makeinfo
pydoc
pydoc2.7
python
python-config
python2.7
python2.7-config
pythonw
pythonw2.7
smtpd.py
smtpd2.7.py
tclsh
tclsh8.5
texi2dvi
texi2pdf
texindex
wish
wish8.5
Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile`
New Update:
I did brew prune, changed ownership of the files that it suggested (some of them could not be found). Finally, when i run brew install rbenv ruby-build i get the following errors:
Warning: rbenv-0.4.0 already installed, it's just not linked
Warning: ruby-build-20151028 already installed
The next step would be to do rbenv install 2.2.3, but rbenv command is not found. Seems that the installation failed somehow. which rbenv also produced no output.
According to brew doctor, you can't edit the directories that it's trying to install files to. Try running
sudo chown -R $(whoami) /usr/local/bin
etc, like brew doctor is telling you:
You should probably change the ownership and permissions of /usr/local/share
back to your user account.
sudo chown -R $(whoami) /usr/local/share
EDIT:
You might want to take a look at this part of the output to list the things you need to run the command on.
You should probably `sudo chown -R $(whoami)` them:
/usr/local/share/man
/usr/local/share/man/man1
/usr/local/share/man/man5
/usr/local/share/man/mann

Homebrew failed to link libmpc

After
brew install libmpc
I got an error
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link libmpc'
Then I run
brew doctor
and I got
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these: `libmpc`
So I run
brew link libmpc
and I got
Error: Could not symlink file: /usr/local/Cellar/libmpc/1.0.1/lib/libmpc.dylib
/usr/local/lib/libmpc.dylib may already exist.
/usr/local/lib may not be writable.
What should I do?
Try to clean up old homebrew files:
brew cleanup

gfortran error while installing using homebrew

Any help with this problem which I faced while trying gfortran using homebrew. Thank you very much in advance.
bash-3.2$ brew install gfortran
Warning: gfortran-4.8.0 already installed, it's just not linked
bash-3.2$ brew link gfortran
Linking /usr/local/Cellar/gfortran/4.8.0... Warning: Could not link gfortran. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/gfortran/4.8.0/share/gcc-4.8.0/python
/libstdcxx/v6/printers.py
Target /usr/local/share/gcc-4.8.0/python/libstdcxx/v6/printers.py already exists.
You may need to delete it.
To force the link and delete this file, do:
brew link --overwrite formula_name
To list all files that would be deleted:
brew link --overwrite --dry-run formula_name
bash-3.2$
This looks like another GCC 4.8 installation, either from Homebrew or elsewhere, is conflicting with the gfortran install. GFortran is based on GCC so they can collide.
The gcc48 Homebrew formula looks like it has an undocumented conflict with gfortran. Both want to symlink /usr/local/share/gcc-4.8.0. I was able to reproduce your error with brew tap homebrew/versions; brew install gcc48; brew install gfortran
Head on over to the Homebrew issue tracker on GitHub and report this conflict as a bug.
As a workaround, if you don't need that GCC 4.8.0, either brew unlink gcc48 (if it's from homebrew) or uninstall it, and then try the gfortran install again.
UPDATE: Looks like the Homebrew folks are already aware of this issue. There is a fix for it included in this pull request (#19382).

Resources