lib/vagrant/driver/virtualbox_base.rb in vagrant-1.0.5 vs lib/vagrant/driver/virtualbox_base.rb in vagrant-1.0.6

- old
+ new

@@ -298,12 +298,29 @@ int_callback = lambda do @interrupted = true @logger.info("Interrupted.") end + # The following is a workaround for a combined VirtualBox and + # Mac OS X 10.8 bug: + # + # Remove the DYLD_LIBRARY_PATH environmental variable on Mac. This + # is to fix a bug in Mac OS X 10.8 where a warning is printed to the + # console if this is set when executing certain programs, which + # can cause some VBoxManage commands to break because they work + # by just reading stdout and don't expect the OS to just inject + # garbage into it. + old_dyld_lib_path = ENV.delete("DYLD_LIBRARY_PATH") + old_ld_lib_path = ENV.delete("LD_LIBRARY_PATH") + Util::Busy.busy(int_callback) do Subprocess.execute(@vboxmanage_path, *command, &block) end + ensure + # Reset the library path if it was set before. See above comments + # for more information on why this was unset in the first place. + ENV["DYLD_LIBRARY_PATH"] = old_dyld_lib_path if old_dyld_lib_path + ENV["LD_LIBRARY_PATH"] = old_ld_lib_path if old_ld_lib_path end end end end