Thrift
  1. Thrift
  2. THRIFT-1367

Mac OSX build fails with "no such file to load -- spec/rake/spectask"

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Not a Problem
    • Affects Version/s: 0.8
    • Fix Version/s: 0.8
    • Component/s: Ruby - Library
    • Labels:
      None
    • Environment:

      Mac OSX 10.7.1 (Lion)

      Description

      Running "make" successfully builds the compiler and most of the libs but fails out on the ruby lib with the message:

      Making all in rb
      /usr/bin/rake
      (in ... thrift/lib/rb)
      rake aborted!
      no such file to load – spec/rake/spectask
      ... thrift/lib/rb/Rakefile:23

      The one hit I found online that might be related:
      https://github.com/cgs/evernote/pull/5
      "The "no such file to load – spec/rake/spectask" error is because this gem's specs use rspec1.
      I just submitted a pull request to update to rspec2."

      I'm running with pkgconfig from MacPorts and starting the build from scratch (bootstrap.sh & onwards).

        Activity

        Hide
        Jake Farrell added a comment -

        The ci servers use rspec1 which is why we switched the ruby build over to using bundler to automatically handle the dependencies. gem install bundler and then bundle exec rake and you should be all set

        Show
        Jake Farrell added a comment - The ci servers use rspec1 which is why we switched the ruby build over to using bundler to automatically handle the dependencies. gem install bundler and then bundle exec rake and you should be all set
        Hide
        Peace C added a comment -

        I also had to install some other packages since I don't have much of the ruby dev tools.

        gem install bundler
        gem install mongrel
        gem install rspec

        However 'bundle exec rake' wants a specific version of rspec:

        "Could not find gem 'rspec (= 1.3.2) ruby' " ...

        The rspec version installed was 2.6.4. I started to look for the required version of rspec. Since I don't need ruby at the moment, what's the easiest way to bypass building the ruby libs?

        Thanks!

        Show
        Peace C added a comment - I also had to install some other packages since I don't have much of the ruby dev tools. gem install bundler gem install mongrel gem install rspec However 'bundle exec rake' wants a specific version of rspec: "Could not find gem 'rspec (= 1.3.2) ruby' " ... The rspec version installed was 2.6.4. I started to look for the required version of rspec. Since I don't need ruby at the moment, what's the easiest way to bypass building the ruby libs? Thanks!
        Hide
        Jake Farrell added a comment -

        Bundler will install the correct dependency versions for you. You can skip building any of the client libs by passing the -without

        {lib}

        configure flag.

        ./configure --without-rb

        Show
        Jake Farrell added a comment - Bundler will install the correct dependency versions for you. You can skip building any of the client libs by passing the - without {lib} configure flag. ./configure --without-rb
        Hide
        Peace C added a comment - - edited

        This is odd. I ran "./configure --without-rb" and see the argument in the config.log file, but the configure script continues to have references to rb and ruby. 'make' still fails trying to build the ruby lib. Confirmed that this happens from a pristine source tree.
        Update: "./configure --with-rb=no" tries to build rb as well.

        When I ran "bundle exec rake", it complained that it couldn't find mongrel in any of the gem sources so I called "gem install mongrel". Then it complained about not finding rspec...

        Could these problems be specific to OSX?

        Show
        Peace C added a comment - - edited This is odd. I ran "./configure --without-rb" and see the argument in the config.log file, but the configure script continues to have references to rb and ruby. 'make' still fails trying to build the ruby lib. Confirmed that this happens from a pristine source tree. Update: "./configure --with-rb=no" tries to build rb as well. When I ran "bundle exec rake", it complained that it couldn't find mongrel in any of the gem sources so I called "gem install mongrel". Then it complained about not finding rspec... Could these problems be specific to OSX?
        Hide
        Jake Farrell added a comment -

        I'm on os x as well. Below is the configure as well as generating the gem from the lib/rb folder

        jfarrell:rb jake$ ./configure --without-ruby
        ....
        Building Ruby Library ........ : no

        jfarrell:rb jake$ cd lib/rb
        jfarrell:rb jake$ bundle
        Fetching source index for http://rubygems.org/
        Using rake (0.9.2)
        Using cgi_multipart_eof_fix (2.5.0)
        Using daemons (1.1.4)
        Using fastthread (1.0.7)
        Using gem_plugin (0.2.3)
        Using mongrel (1.1.5)
        Using rspec (1.3.2)
        Using thrift (0.8.0.1) from source at /Users/jfarrell/apache/thrift/trunk/lib/rb
        Using bundler (1.0.18)
        Your bundle is complete!

        jfarrell:rb jake$ bundle exec rake
        271 examples, 0 failures, 1 pending
        gem build thrift.gemspec
        Successfully built RubyGem
        Name: thrift
        Version: 0.8.0.1
        File: thrift-0.8.0.1.gem

        Show
        Jake Farrell added a comment - I'm on os x as well. Below is the configure as well as generating the gem from the lib/rb folder jfarrell:rb jake$ ./configure --without-ruby .... Building Ruby Library ........ : no jfarrell:rb jake$ cd lib/rb jfarrell:rb jake$ bundle Fetching source index for http://rubygems.org/ Using rake (0.9.2) Using cgi_multipart_eof_fix (2.5.0) Using daemons (1.1.4) Using fastthread (1.0.7) Using gem_plugin (0.2.3) Using mongrel (1.1.5) Using rspec (1.3.2) Using thrift (0.8.0.1) from source at /Users/jfarrell/apache/thrift/trunk/lib/rb Using bundler (1.0.18) Your bundle is complete! jfarrell:rb jake$ bundle exec rake 271 examples, 0 failures, 1 pending gem build thrift.gemspec Successfully built RubyGem Name: thrift Version: 0.8.0.1 File: thrift-0.8.0.1.gem
        Hide
        Peace C added a comment -

        Thanks much! configure is doing the right thing now using the switch --without-ruby (instead of --without-rb)

        Your bundle commands work too. This is very helpful.

        Show
        Peace C added a comment - Thanks much! configure is doing the right thing now using the switch --without-ruby (instead of --without-rb) Your bundle commands work too. This is very helpful.

          People

          • Assignee:
            Jake Farrell
            Reporter:
            Peace C
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development