13
votes

I just installed Mavericks and I tried brew install scala to install scala language but it failed. Then I typed brew update but still installation of scala fails. So I post the brew doctor command to help readers of stackoverflow helping me with this problem. Here is the result :

$ brew doctor

Warning: /usr/local/etc isn't writable. This can happen if you "sudo make install" software that isn't managed by by Homebrew. If a brew tries to write a file to this directory, the install will fail during the link step.

You should probably chown /usr/local/etc

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 chown them:

/usr/local/share/man/man8

Warning: "config" scripts exist outside your system or Homebrew directories. ./configure scripts often look for *-config scripts to determine if software packages are installed, and what additional flags to use when compiling and linking.

Having additional scripts in your path can confuse software installed via Homebrew if the config script overrides a system or Homebrew provided script of the same name. We found the following "config" scripts:

/opt/local/bin/libpng-config
/opt/local/bin/libpng15-config
/opt/local/bin/ncurses5-config
/opt/local/bin/ncursesw5-config
/opt/local/bin/pkg-config
/opt/local/bin/xml2-config

Warning: You have MacPorts or Fink installed: /opt/local/bin/port

This can cause trouble. You don't have to uninstall them, but you may want to temporarily move them out of the way, e.g.

sudo mv /opt/local ~/macports

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/libicudata.49.1.2.dylib /usr/local/lib/libicui18n.49.1.2.dylib /usr/local/lib/libicuio.49.1.2.dylib /usr/local/lib/libicule.49.1.2.dylib /usr/local/lib/libiculx.49.1.2.dylib /usr/local/lib/libicutest.49.1.2.dylib /usr/local/lib/libicutu.49.1.2.dylib /usr/local/lib/libicuuc.49.1.2.dylib

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/icu-i18n.pc /usr/local/lib/pkgconfig/icu-io.pc /usr/local/lib/pkgconfig/icu-le.pc /usr/local/lib/pkgconfig/icu-lx.pc /usr/local/lib/pkgconfig/icu-uc.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/libc-client.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:

scala

Warning: Homebrew's sbin was not found in your PATH but you have installed formulae that put executables in /usr/local/sbin. Consider setting the PATH for example like so echo export PATH="/usr/local/sbin:$PATH" >> ~/.bash_profile

Warning: You have a non-Homebrew 'pkg-config' in your PATH:
/opt/local/bin/pkg-config

./configure may have problems finding brew-installed packages using this other pkg-config.

brew install scala gives :

Warning: It appears you have MacPorts or Fink installed. Software installed with other package managers causes known problems for Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again. Warning: scala-2.10.3 already installed, it's just not linked

2
Did you do any of the suggested points in the brew doctor output? Also, what is the error when you're trying to install scala?user707650
I updated the original post with brew install scala error.skiabox

2 Answers

20
votes

The installation went fine, it's just not providing a symbolic link to /usr/local/bin, because it's "afraid" of messing around with macports.

As it says in the doctor message, first change the permissions in /usr/local/etc:

chown <username> /usr/local/etc

probably with sudo prepended (sudo chown <username> /usr/local/etc).

Now brew can update the necessary files and link scala:

brew link scala

and you might be fine.

0
votes

If you still face the issue please follow the below steps:

fix owner of files and folders recursively

sudo chown -vR $(whoami) /usr/local /opt/homebrew-cask /Library/Caches/Homebrew

fix read/write permission of files and folders recursively

chmod -vR ug+rw /usr/local /opt/homebrew-cask /Library/Caches/Homebrew

fix execute permission of folders recursively

find /usr/local /opt/homebrew-cask /Library/Caches/Homebrew -type d -exec chmod -v ug+x {} +

below is the link.

https://gist.github.com/stefanschmidt/047001373d1defc90b6bdd7820e92cf7