SciRuby / rubex

rubex - A Ruby-like language for writing Ruby C extensions.
BSD 2-Clause "Simplified" License
451 stars 21 forks source link

LoadError: Can't find oedipus_lex #27

Closed arjunmenon closed 7 years ago

arjunmenon commented 7 years ago

How to correct this issue.

~/Desktop/ruby/rubex$ bundle install
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies....
Using rake 11.3.0
Installing awesome_print 1.8.0
Installing benchmark-ips 2.7.2
Using byebug 9.1.0
Installing coderay 1.1.2
Using debug_inspector 0.0.3
Installing diff-lcs 1.3
Using method_source 0.8.2
Installing oedipus_lex 2.5.0      <--------- Rake issue
Using slop 3.6.0
Installing racc 1.4.14 with native extensions
Installing rspec-support 3.6.0
Using ruby-prof 0.16.2
Using bundler 1.12.5
Installing rake-compiler 1.0.4
Installing pretty_backtrace 0.1.3
Using pry 0.10.4
Installing rspec-core 3.6.0
Installing rspec-expectations 3.6.0
Installing rspec-mocks 3.6.0
Using rubex 0.1 from source at `.`
Installing pry-byebug 3.5.0
Installing rspec 3.6.0
Bundle complete! 9 Gemfile dependencies, 23 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

~/Desktop/ruby/rubex$ rake install
rake aborted!
LoadError: Can't find oedipus_lex
/home/arjun/Desktop/ruby/rubex/Rakefile:6:in `<top (required)>'
(See full trace by running task with --trace)

~/Desktop/ruby/rubex$ rake install --trace
rake aborted!
LoadError: Can't find oedipus_lex
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:652:in `rake_require'
/home/arjun/Desktop/ruby/rubex/Rakefile:6:in `<top (required)>'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/rake_module.rb:28:in `load'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/rake_module.rb:28:in `load_rakefile'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:687:in `raw_load_rakefile'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:96:in `block in load_rakefile'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:95:in `load_rakefile'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:79:in `block in run'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:77:in `run'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/home/arjun/.rbenv/versions/2.2.3/bin/rake:23:in `load'
/home/arjun/.rbenv/versions/2.2.3/bin/rake:23:in `<main>'

You can see that gem is installed.

~/Desktop/ruby/rubex$ gem which oedipus_lex
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/oedipus_lex-2.5.0/lib/oedipus_lex.rb
v0dro commented 7 years ago

Can you pull the latest master and try on that ? Its working for me.

arjunmenon commented 7 years ago

I am getting the same error

Full trace

~/Desktop/ruby$ git clone https://github.com/v0dro/rubex.git
Cloning into 'rubex'...
remote: Counting objects: 3925, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 3925 (delta 3), reused 10 (delta 3), pack-reused 3910
Receiving objects: 100% (3925/3925), 1.57 MiB | 564.00 KiB/s, done.
Resolving deltas: 100% (2666/2666), done.
Checking connectivity... done.

~/Desktop/ruby$ cd rubex

~/Desktop/ruby/rubex$ bundle install
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies....
Using rake 11.3.0
Using awesome_print 1.8.0
Using benchmark-ips 2.7.2
Using byebug 9.1.0
Using coderay 1.1.2
Using debug_inspector 0.0.3
Using diff-lcs 1.3
Using method_source 0.8.2
Using oedipus_lex 2.5.0
Using slop 3.6.0
Using racc 1.4.14
Using rspec-support 3.6.0
Using ruby-prof 0.16.2
Using bundler 1.12.5
Using rake-compiler 1.0.4
Using pretty_backtrace 0.1.3
Using pry 0.10.4
Using rspec-core 3.6.0
Using rspec-expectations 3.6.0
Using rspec-mocks 3.6.0
Using rubex 0.1 from source at `.`
Using pry-byebug 3.5.0
Using rspec 3.6.0
Bundle complete! 9 Gemfile dependencies, 23 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

~/Desktop/ruby/rubex$ rake install
rake aborted!
LoadError: Can't find oedipus_lex
/home/arjun/Desktop/ruby/rubex/Rakefile:6:in `<top (required)>'
(See full trace by running task with --trace)

~/Desktop/ruby/rubex$ rake install  --trace
rake aborted!
LoadError: Can't find oedipus_lex
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:652:in `rake_require'
/home/arjun/Desktop/ruby/rubex/Rakefile:6:in `<top (required)>'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/rake_module.rb:28:in `load'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/rake_module.rb:28:in `load_rakefile'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:687:in `raw_load_rakefile'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:96:in `block in load_rakefile'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:95:in `load_rakefile'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:79:in `block in run'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/lib/rake/application.rb:77:in `run'
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/home/arjun/.rbenv/versions/2.2.3/bin/rake:23:in `load'
/home/arjun/.rbenv/versions/2.2.3/bin/rake:23:in `<main>'

~/Desktop/ruby/rubex$ 
kojix2 commented 7 years ago
rake install

I get same error too. try

bundle exec rake install

still error?

v0dro commented 7 years ago

Can you try installing with gem install rubex.gem after running gem build?

arjunmenon commented 7 years ago

@kojix2 bundle exec does it. If this is the way it is to be run then,

~/Desktop/ruby/rubex/pkg$ rubex ../../rubex_ex/hello.rubex 
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require': /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex/ast/node.rb:168: syntax error, unexpected '.' (SyntaxError)
                ancestor_scope = ancestor_entry&.type&.scope || @scope
                                                 ^
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex/ast.rb:1:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex.rb:8:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/bin/rubex:3:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/bin/rubex:23:in `load'
    from /home/arjun/.rbenv/versions/2.2.3/bin/rubex:23:in `<main>'

@v0dro

~/Desktop/ruby/rubex$ gem build rubex.gemspec
WARNING:  pessimistic dependency on racc (~> 1.4.14) may be overly strict
  if racc is semantically versioned, use:
    add_runtime_dependency 'racc', '~> 1.4', '>= 1.4.14'
WARNING:  pessimistic dependency on rake-compiler (~> 1.0.4) may be overly strict
  if rake-compiler is semantically versioned, use:
    add_runtime_dependency 'rake-compiler', '~> 1.0', '>= 1.0.4'
WARNING:  open-ended dependency on awesome_print (>= 0, development) is not recommended
  if awesome_print is semantically versioned, use:
    add_development_dependency 'awesome_print', '~> 0'
WARNING:  open-ended dependency on pry-byebug (>= 0, development) is not recommended
  if pry-byebug is semantically versioned, use:
    add_development_dependency 'pry-byebug', '~> 0'
WARNING:  open-ended dependency on pretty_backtrace (>= 0, development) is not recommended
  if pretty_backtrace is semantically versioned, use:
    add_development_dependency 'pretty_backtrace', '~> 0'
WARNING:  open-ended dependency on ruby-prof (>= 0, development) is not recommended
  if ruby-prof is semantically versioned, use:
    add_development_dependency 'ruby-prof', '~> 0'
WARNING:  open-ended dependency on benchmark-ips (>= 0, development) is not recommended
  if benchmark-ips is semantically versioned, use:
    add_development_dependency 'benchmark-ips', '~> 0'
WARNING:  See http://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: rubex
  Version: 0.1
  File: rubex-0.1.gem
~/Desktop/ruby/rubex$ gem install rubex
rubex-0.1.gem  rubex.gemspec  
~/Desktop/ruby/rubex$ gem install rubex-0.1.gem
Successfully installed rubex-0.1
Parsing documentation for rubex-0.1
Done installing documentation for rubex after 6 seconds
1 gem installed

But I am getting a syntax error pointing to node file in ast.

kojix2 commented 7 years ago

Does the same error occur in other rubex files? Since hello.rubex is unknown, @v0dro may not be able to answer well.

Try other rubex files. Rubex examples is here. ~/Desktop/rubex/spec/fixtures

arjunmenon commented 7 years ago

Tried the first example - https://github.com/SciRuby/rubex/blob/master/TUTORIAL.md#rubex-hello-world

arjunmenon commented 7 years ago
~/Desktop/ruby/rubex/spec/fixtures/basic_ruby_method$ rubex basic_ruby_method.rubex 
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require': /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex/ast/node.rb:168: syntax error, unexpected '.' (SyntaxError)
                ancestor_scope = ancestor_entry&.type&.scope || @scope
                                                 ^
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex/ast.rb:1:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex.rb:8:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/bin/rubex:3:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/bin/rubex:23:in `load'
    from /home/arjun/.rbenv/versions/2.2.3/bin/rubex:23:in `<main>'

~/Desktop/ruby/rubex/spec/fixtures/basic_ruby_method$ rubex
/home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require': /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex/ast/node.rb:168: syntax error, unexpected '.' (SyntaxError)
                ancestor_scope = ancestor_entry&.type&.scope || @scope
                                                 ^
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex/ast.rb:1:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/lib/rubex.rb:8:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
    from /home/arjun/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rubex-0.1/bin/rubex:3:in `<top (required)>'
    from /home/arjun/.rbenv/versions/2.2.3/bin/rubex:23:in `load'
    from /home/arjun/.rbenv/versions/2.2.3/bin/rubex:23:in `<main>'
~/Desktop/ruby/rubex/spec/fixtures/basic_ruby_method$ 
kojix2 commented 7 years ago

Safe Navigation Operator(&.). is a new feature in Ruby 2.3.0 Rubex may require ruby 2.3 or higher

v0dro commented 7 years ago

Oh yes. Please use 2.3.0 or higher. I'll specify that in the README soon.

arjunmenon commented 7 years ago

Yes. That was it. Thanks for helping out.