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