everpeace / vagrant-mesos

Spin up your Mesos Cluster with Vagrant! (VirtualBox and AWS)
https://github.com/everpeace/vagrant-mesos
MIT License
432 stars 139 forks source link

./configure seems to fail while building mesos from source #3

Open mumoshu opened 10 years ago

mumoshu commented 10 years ago

Hi,

Thanks again for sharing this!

FYI, I have noticed that the chef recipe invoked while launching vagrant-mesos on the multinode configuration fails while running ./configure:

src/Makefile.am: installing `./depcomp'
autoreconf: automake failed with exit status: 1
sed: can't read ../ltmain.sh: No such file or directory
sed: can't read libtoolT: No such file or directory
config.status: error: cannot find input file: `Makefile.in'
make: *** No targets specified and no makefile found.  Stop.
---- End output of "bash"  "/tmp/chef-script20131118-2219-14gxytt" ----
Ran "bash"  "/tmp/chef-script20131118-2219-14gxytt" returned 2

Resource Declaration:
---------------------
# In /tmp/vagrant-chef-1/chef-solo-1/cookbooks/mesos/recipes/build_from_source.rb

 46: bash "building mesos from source" do
 47:   cwd   File.join("#{node[:mesos][:home]}", "mesos")
 48:   code  <<-EOH
 49:     ./bootstrap
 50:     mkdir -p build
 51:     cd build
 52:     ../configure --prefix=#{prefix}
 53:     make
 54:   EOH
 55:   action :run
 56:   not_if { installed==true }
 57: end
 58:

Compiled Resource:
------------------
# Declared in /tmp/vagrant-chef-1/chef-solo-1/cookbooks/mesos/recipes/build_from_source.rb:46:in `from_file'

bash("building mesos from source") do
  action [:run]
  retries 0
  retry_delay 2
  command "\"bash\"  \"/tmp/chef-script20131118-2219-14gxytt\""
  backup 5
  cwd "/home/vagrant/mesos"
  returns 0
  code "    ./bootstrap\n    mkdir -p build\n    cd build\n    ../configure --prefix=/usr/local\n    make\n"
  interpreter "bash"
  cookbook_name :mesos
  recipe_name "build_from_source"
  not_if { #code block }
end

[2013-11-18T03:07:41+00:00] INFO: Forking chef instance to converge...
[2013-11-18T03:07:41+00:00] DEBUG: Fork successful. Waiting for new chef pid: 2219
[2013-11-18T03:12:34+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.
Starting mesos cluster...
Failed to load the "vagrant-yaml" plugin. View logs for more details.
Failed to load the "vagrant-yaml" plugin. View logs for more details.

VM must be created before running this command. Run `vagrant up` first.
Failed to load the "vagrant-yaml" plugin. View logs for more details.

bash: line 2: mesos-start-cluster.sh: command not found
eliast commented 10 years ago

I'm also running into the same problem. If I vagrant ssh then I can run ./bootstrap, configure make w/o any problem.

everpeace commented 10 years ago

I think the direct reason is that some of required files weren't copied. mesos' ./bootstrap script, that is essentially autoreconf, might be a problem.

And, a workaround I could find is to run bootstap twice. Build was succeeded when I changed the mesos recipe (mesos::build_from_source) in local so that autoreconf runs twice.

code  <<-EOH
  ./bootstrap
  ./bootstrap
  mkdir -p build
  cd build
  ../configure --prefix=#{prefix}
  make
EOH

I would like to keep this issue open because I don't figure out essential reasons and fixes for it. Is there anyone who can see essential reasons and fixes for this problem??