Scala – Homebrew errors in Mac OS Mavericks when trying to install scala

homebrewscala

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

Best Answer

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.

Related Topic