Closed dalgibbard closed 6 years ago
Hello,
I fixed it in my otp-fix branch. So you can clone it and use:
git clone -b otp-fix git://github.com/zpetr/build-couchdb.git cd build-couchdb git submodule init git submodule update
I just check if libraries exists before any parsing so now it works fine. Pull request was created.
Dir.exists?
seems to cause an error on my base CentOS 6.5 x86_64 build with ruby 1.8.7 (2011-06-30 patchlevel 352):
rake aborted!
NoMethodError: undefined method `exists?' for Dir:Class
/usr/local/src/build-couchdb/tasks/erlang.rake:98
/usr/local/src/build-couchdb/tasks/erlang.rake:97:in `each'
/usr/local/src/build-couchdb/tasks/erlang.rake:97
/usr/local/src/build-couchdb/tasks/lib.rb:275:in `with_autoconf'
/usr/local/src/build-couchdb/tasks/erlang.rake:36
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:240:in `execute'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:179:in `invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:201:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:199:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:178:in `invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:201:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:199:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:178:in `invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:201:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:199:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:178:in `invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:201:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:199:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:178:in `invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:106:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:106:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:78:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-10.3.2/bin/rake:33
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
Which ruby/rake version did you validate against? I'll update ruby now anyway, and retest.
Ah, I use ruby 1.9.3 and Dir.exists is not defined in Ruby 1.8.* I will replace Dir.exists with File.directory for Ruby compatibility
Cool; i'll wait for that and test once it's available :) thanks for your help!
You can test it!
git clone -b otp-fix git://github.com/zpetr/build-couchdb.git cd build-couchdb git submodule init git submodule update rake erl_checkout="OTP-17.1"
I'm sorry, OTP-17.1 is not a branch name but a tag name. So use:
rake erl_checkout="tags/OTP-17.1"
Really? I used:
export INSTPRE=/opt/couchdb
sudo mkdir $INSTPRE
####
sudo rake erl_checkout="OTP-17.1" \
git="https://github.com/apache/couchdb.git 1.6.x" \
install=${INSTPRE}
... and it built fine :) Yay!
@jhs - This should be merged :+1:
Just for information: if you interested you can use my puppet-couchdb module (sources here). This module is based on jhs/build-couchdb build. I'll create new version of module with this fix.
Hey all, Just a quick one; whilst attempting to build out CouchDB 1.6.x branch with Erlang OTP-17.1 branch (explicitly) on CentOS6.5 x86_64- using the following:
I get the following error (slimmed down!):
Fairly sure this error also gets generated for 'dependancies/otp/lib/toolbars/SKIP' too.