Skip to content
Snippets Groups Projects
Commit 8806d916 authored by Adam Vandenberg's avatar Adam Vandenberg
Browse files

Brew doctor now checks that lib/pkgconfig is writable.

If previous non-Homebrew software was installed to /usr/local with "sudo",
then a pkgconfig folder may have been created with restricted permissions.
This will prevent brews (such as glib) from symlinking their .pc files
correctly.
parent 98f550e9
No related branches found
No related tags found
No related merge requests found
......@@ -94,7 +94,7 @@ def check_gcc_versions
end
end
def check_share_locale
def check_access_share_locale
# If PREFIX/share/locale already exists, "sudo make install" of
# non-brew installed software may cause installation failures.
locale = HOMEBREW_PREFIX+'share/locale'
......@@ -120,7 +120,25 @@ def check_share_locale
puts *cant_read.collect { |f| " #{f}" }
puts
end
end
def check_access_pkgconfig
# If PREFIX/lib/pkgconfig already exists, "sudo make install" of
# non-brew installed software may cause installation failures.
pkgconfig = HOMEBREW_PREFIX+'lib/pkgconfig'
return unless pkgconfig.exist?
unless pkgconfig.writable?
puts <<-EOS.undent
#{pkgconfig} isn't writable.
This can happen if you "sudo make install" software that isn't managed
by Homebrew. If a brew tries to write a .pc file to this folder, the
install will fail during the link step.
You should probably `chown` #{pkgconfig}
EOS
end
end
def check_usr_bin_ruby
......@@ -364,10 +382,11 @@ def brew_doctor
check_gcc_versions
check_for_other_package_managers
check_for_x11
check_share_locale
check_access_share_locale
check_user_path
check_which_pkg_config
check_pkg_config_paths
check_access_pkgconfig
check_for_gettext
check_for_config_scripts
check_for_dyld_vars
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment