1

Rubyの世界に慣れていないので、長い苦労の末、Windowsでopenprojectを実行するようになりました。この openproject を Oracle Linux (RHEL の一部) にインストールするまで、同僚に提案することはできません。

次のコマンドを使用して、Git から openproject を正常にチェックアウトしました

git clone https://github.com/opf/openproject.git
cd openproject
git checkout stable

builder install --without rmagick次のエラーを取得して実行すると、

...
....
.....
Using addressable 2.3.4
Using awesome_nested_set 2.1.6
Using debug_inspector 0.0.2

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby -r ./siteconf20141018-4810-1x3qn6f-0.rb extconf.rb 
creating Makefile

make  clean

make
gcc -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I/usr/lib64/ruby/1.8/x86_64-linux -I.   -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fno-strict-aliasing  -fPIC  -O0 -std=c99  -c binding_of_caller.c
binding_of_caller.c:4:21: error: vm_core.h: No such file or directory
binding_of_caller.c:5:22: error: rubys_gc.h: No such file or directory
binding_of_caller.c:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
binding_of_caller.c: In function ‘binding_memsize’:
binding_of_caller.c:34: error: ‘rb_binding_t’ undeclared (first use in this function)
binding_of_caller.c:34: error: (Each undeclared identifier is reported only once
binding_of_caller.c:34: error: for each function it appears in.)
binding_of_caller.c: In function ‘binding_free’:
binding_of_caller.c:40: error: ‘rb_binding_t’ undeclared (first use in this function)
binding_of_caller.c:40: error: ‘bind’ undeclared (first use in this function)
binding_of_caller.c:41: warning: implicit declaration of function ‘RUBY_FREE_ENTER’
binding_of_caller.c:46: warning: implicit declaration of function ‘RUBY_FREE_LEAVE’
binding_of_caller.c: In function ‘binding_mark’:
binding_of_caller.c:52: error: ‘rb_binding_t’ undeclared (first use in this function)
binding_of_caller.c:52: error: ‘bind’ undeclared (first use in this function)
binding_of_caller.c:53: warning: implicit declaration of function ‘RUBY_MARK_ENTER’
binding_of_caller.c:56: warning: implicit declaration of function ‘RUBY_MARK_UNLESS_NULL’
binding_of_caller.c:63: warning: implicit declaration of function ‘RUBY_MARK_LEAVE’
binding_of_caller.c: At top level:
binding_of_caller.c:66: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘binding_data_type’
binding_of_caller.c: In function ‘binding_alloc’:
binding_of_caller.c:77: error: ‘rb_binding_t’ undeclared (first use in this function)
binding_of_caller.c:77: error: ‘bind’ undeclared (first use in this function)
binding_of_caller.c:78: warning: implicit declaration of function ‘TypedData_Make_Struct’
binding_of_caller.c:78: error: ‘binding_data_type’ undeclared (first use in this function)
binding_of_caller.c: At top level:
binding_of_caller.c:82: error: expected ‘)’ before ‘*’ token
binding_of_caller.c:86: error: expected ‘)’ before ‘*’ token
binding_of_caller.c:90: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
binding_of_caller.c: In function ‘frametype_name’:
binding_of_caller.c:108: error: ‘VM_FRAME_MAGIC_MASK’ undeclared (first use in this function)
binding_of_caller.c:109: error: ‘VM_FRAME_MAGIC_METHOD’ undeclared (first use in this function)
binding_of_caller.c:110: error: ‘VM_FRAME_MAGIC_BLOCK’ undeclared (first use in this function)
binding_of_caller.c:111: error: ‘VM_FRAME_MAGIC_CLASS’ undeclared (first use in this function)
binding_of_caller.c:112: error: ‘VM_FRAME_MAGIC_TOP’ undeclared (first use in this function)
binding_of_caller.c:113: error: ‘VM_FRAME_MAGIC_CFUNC’ undeclared (first use in this function)
binding_of_caller.c:114: error: ‘VM_FRAME_MAGIC_PROC’ undeclared (first use in this function)
binding_of_caller.c:115: error: ‘VM_FRAME_MAGIC_IFUNC’ undeclared (first use in this function)
binding_of_caller.c:116: error: ‘VM_FRAME_MAGIC_EVAL’ undeclared (first use in this function)
binding_of_caller.c:117: error: ‘VM_FRAME_MAGIC_LAMBDA’ undeclared (first use in this function)
binding_of_caller.c: In function ‘binding_of_caller’:
binding_of_caller.c:125: error: ‘rb_thread_t’ undeclared (first use in this function)
binding_of_caller.c:125: error: ‘th’ undeclared (first use in this function)
binding_of_caller.c:126: warning: implicit declaration of function ‘GetThreadPtr’
binding_of_caller.c:128: error: ‘rb_control_frame_t’ undeclared (first use in this function)
binding_of_caller.c:128: error: ‘cfp’ undeclared (first use in this function)
binding_of_caller.c:128: warning: implicit declaration of function ‘RUBY_VM_PREVIOUS_CONTROL_FRAME’
binding_of_caller.c:129: error: ‘limit_cfp’ undeclared (first use in this function)
binding_of_caller.c:140: warning: implicit declaration of function ‘valid_frame_p’
binding_of_caller.c:141: warning: implicit declaration of function ‘find_valid_frame’
binding_of_caller.c:145: error: ‘rb_binding_t’ undeclared (first use in this function)
binding_of_caller.c:145: error: ‘bind’ undeclared (first use in this function)
binding_of_caller.c:150: warning: implicit declaration of function ‘GetBindingPtr’
binding_of_caller.c:152: warning: implicit declaration of function ‘rb_vm_make_env_object’
binding_of_caller.c:154: warning: implicit declaration of function ‘rb_vm_get_sourceline’
binding_of_caller.c: In function ‘frame_count’:
binding_of_caller.c:176: error: ‘rb_thread_t’ undeclared (first use in this function)
binding_of_caller.c:176: error: ‘th’ undeclared (first use in this function)
binding_of_caller.c:179: error: ‘rb_control_frame_t’ undeclared (first use in this function)
binding_of_caller.c:179: error: ‘cfp’ undeclared (first use in this function)
binding_of_caller.c:180: error: ‘limit_cfp’ undeclared (first use in this function)
make: *** [binding_of_caller.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/binding_of_caller-0.7.2 for inspection.
Results logged to /usr/lib64/ruby/gems/1.8/extensions/x86_64-linux/1.8/binding_of_caller-0.7.2/gem_make.out
An error occurred while installing binding_of_caller (0.7.2), and Bundler cannot continue.
Make sure that `gem install binding_of_caller -v '0.7.2'` succeeds before bundling.

このエラーが依存関係の問題に関連しているのか、それとも間違ったバージョンをチェックアウトしたのか理解できません。

私を助けてください。

4

2 に答える 2

1

binding_of_callerでサポートされておらず、 OpenProjectでもサポートされていない Ruby バージョン (1.8) を使用しています。ruby 2.1 をインストールする必要があります。

Oracle Linux で可能であれば、RVMまたはrbenv経由でこれを行うことをお勧めします。

于 2014-10-20T08:26:56.913 に答える
0

これはUbuntu のインストールガイドには表示されませんが、この回答では次のことをお勧めします。

最初に include ディレクトリを渡してruby​​-debugをインストールする必要があります。

gem install ruby-debug -- --with-ruby-include=$rvm_path/src/ruby-1.9.3-p362

(あなたのルビーバージョンに合わせてください)

于 2014-10-18T05:12:52.693 に答える