Problem in compilation and installation of Ruby 1.9

Discussion in 'Ruby' started by Chirag Mistry, Jul 11, 2007.

  1. Hi

    This mail is regarding the errors and warnings I got while compiling
    Ruby 1.9. I have downloaded the Ruby 1.9 source code from the link
    http://svn.ruby-lang.org/repos/ruby/trunk/ and I try to compile the code
    but I was getting many compile time errors. I have done some changes in
    configuration file and source code to solve those errors and warnings
    but still I am getting few errors. Please look in detail description
    about errors and warnings below and give reply about removing those
    errors and warnings so I can successfully compile and install Ruby 1.9.

    Machine/OS information for my machine:
    OS: GNU/Linux
    Kernel: 2.4.21-40.ELsmp
    Kernel Version: #1 SMP Thu Feb 2 22:22:39 EST 2006
    Processor: i686
    Hardware-platform - i386

    Below are details about errors and warnings.

    First I got this error:
    ---
    rm -f ruby
    /opt/ruby/ruby-1.8.6/ruby ./tool/insns2vm.rb --srcdir="."
    /tool/insns2vm.rb:3:in `require': no such file to load -- optparse
    (LoadError)
    from ./tool/insns2vm.rb:3
    make: *** [optinsn.inc] Error 1
    ---
    I export RUBYLIB="./lib" to solve this error.

    The next error I got was:
    ---
    rm -f ruby
    ruby ./tool/insns2vm.rb --srcdir="."
    /tool/insns2vm.rb:7:in `require': ./tool/../lib/vm/instruction.rb:105:
    syntax error (SyntaxError)
    load_insns_def opts[:"insns.def"] || 'insns.def'
    ^
    /tool/../lib/vm/instruction.rb:107: syntax error
    load_opt_operand_def opts[:"opope.def"] || 'opt_operand.def'
    ^
    /tool/../lib/vm/instruction.rb:108: syntax error
    load_insn_unification_def opts[:"unif.def"] || 'opt_insn_unif.def'
    ^
    /tool/../lib/vm/instruction.rb:114: syntax error
    %w[use_const verbose].each do |attr|
    ^
    /tool/../lib/vm/instruction.rb:115: syntax error
    /tool/../lib/vm/instruction.rb:144: syntax error
    vpath.open(file) do |f|
    ^
    /tool/../lib/vm/instruction.rb:145: syntax error
    /tool/../lib/vm/instruction.rb:150: syntax error
    from ./tool/insns2vm.rb:7
    make: *** [optinsn.inc] Error 1
    ---
    The reason for this error was the version of ruby. The ruby binary
    "/usr/bin/ruby" having version ruby 1.6.8 (2002-12-24) [i386-linux-gnu].
    To solve it: The ruby 1.8.6 is already installed on my machine. I have
    changed the "BASERUBY = /opt/ruby/ruby-1.8.6/ruby" (Earlier It was
    "BASERUBY = ruby") at line no 1661 in file configure.in and follow all
    steps of compilation from the beginning (Means regenerate configure and
    then Makefile).

    The next error I got was:
    ---
    In file included from thread.c:150:
    thread_pthread.ci:90:1: directives may not be used inside a macro
    argument
    thread_pthread.ci:89:65: unterminated argument list invoking macro
    "NOINLINE"
    In file included from thread.c:150:
    thread_pthread.ci:93: syntax error before ')' token
    thread.c:280: warning: `thread_start_func_2' was declared implicitly
    `extern' and later `static'
    thread_pthread.ci:114: warning: previous declaration of
    `thread_start_func_2'
    make: *** [thread.o] Error 1
    ---
    To solve this error, I have commented line no 90, 91 and 92 in file
    thread_pthread.ci.
    Below is a snapshot of changed thread_pthread.ci file.
    __________
    NOINLINE(static int thread_start_func_2(rb_thread_t *th, VALUE
    *stack_start
    //#ifdef __ia64
    // , VALUE *register_stack_start
    //#endif
    ));
    __________

    I was getting a below warning for many of the files:
    ---
    yarvcore.h:614: warning: `fastcall' attribute directive ignored
    ---
    To solve this warning, I have done below changes at line no 614 in
    yarvcore.h file.
    Snapshot before change for the line 614 in yarvcore.h file:
    __________
    typedef rb_control_frame_t *
    (FUNC_FASTCALL(*rb_insn_func_t))(rb_thread_t *, rb_control_frame_t
    *);
    __________

    Snapshot after change for the line 614 in yarvcore.h file:
    __________
    typedef rb_control_frame_t * (*rb_insn_func_t)(rb_thread_t *,
    rb_control_frame_t *);
    __________

    Now I am getting this error and I can not able to solve it:
    ---
    rbconfig.rb unchanged
    /users/username1/UnoRuby/ruby_1.9_sourcecode/lib/fileutils.rb:1026:in
    `method_missing': private method `open' called for false:FalseClass
    (NoMethodError)
    from
    /users/username1/UnoRuby/ruby_1.9_sourcecode/lib/fileutils.rb:1026:in
    `rescue in block in touch'
    from
    /users/username1/UnoRuby/ruby_1.9_sourcecode/lib/fileutils.rb:1022:in
    `block in touch'
    from
    /users/username1/UnoRuby/ruby_1.9_sourcecode/lib/fileutils.rb:1020:in
    `each'
    from
    /users/username1/UnoRuby/ruby_1.9_sourcecode/lib/fileutils.rb:1020:in
    `touch'
    from ./mkconfig.rb:188:in `<main>'
    make: *** [.rbconfig.time] Error 1
    ---

    --
    Posted via http://www.ruby-forum.com/.
     
    Chirag Mistry, Jul 11, 2007
    #1
    1. Advertising

  2. Hi,

    At Wed, 11 Jul 2007 18:15:13 +0900,
    Chirag Mistry wrote in [ruby-talk:258763]:
    > Machine/OS information for my machine:
    > OS: GNU/Linux
    > Kernel: 2.4.21-40.ELsmp
    > Kernel Version: #1 SMP Thu Feb 2 22:22:39 EST 2006
    > Processor: i686
    > Hardware-platform - i386


    What's the version of gcc?

    > First I got this error:
    > ---
    > rm -f ruby
    > /opt/ruby/ruby-1.8.6/ruby ./tool/insns2vm.rb --srcdir="."
    > ./tool/insns2vm.rb:3:in `require': no such file to load -- optparse
    > (LoadError)
    > from ./tool/insns2vm.rb:3


    How did you install that ruby without optparse.rb?

    > The next error I got was:
    > ---
    > In file included from thread.c:150:
    > thread_pthread.ci:90:1: directives may not be used inside a macro
    > argument
    > thread_pthread.ci:89:65: unterminated argument list invoking macro
    > "NOINLINE"


    I haven't seen this error, it may be a gcc version issue.
    Anyway, I hope this has been fixed now.

    > I was getting a below warning for many of the files:
    > ---
    > yarvcore.h:614: warning: `fastcall' attribute directive ignored
    > ---


    What's the version of autoconf? The warning should be checked
    in configure.in.

    --
    Nobu Nakada
     
    Nobuyoshi Nakada, Jul 12, 2007
    #2
    1. Advertising

  3. Chirag Mistry wrote:
    > Yukihiro Matsumoto wrote:
    >> Hi,
    >>
    >> In message "Re: Problem in compilation and installation of Ruby 1.9"
    >> on Thu, 12 Jul 2007 23:52:14 +0900, Chirag Mistry
    >> <> writes:
    >>
    >> |> Upgrade your ruby before compiling trunk.
    >>
    >> | Thanks for the reply. I have installed ruby 1.8.6 which is
    >> |installed under "/usr/local". The older version ruby 1.6.8 is still in
    >> |"/usr". the "ruby" command now upgraded with /usr/local/bin/ruby which
    >> |latest ruby 1.8.6. But still I am getting below error. Please give your
    >> |feedback.
    >>
    >> So your build process must be kicking old ruby (1.6.8?). Try checking
    >> your PATH priority or specify BASERUBY for your make, e.g.
    >>
    >> make BASERUBY=/usr/local/bin/ruby
    >>
    >> matz.

    >
    > Hi Matz
    > I tried it also but it is still not wroking. I am getting same
    > error.


    Hi
    I checked the things whatever you had mentioned in your reply and
    then I tried but it displayed same error. Then I have completely
    uninstalled older version of ruby-1.6.8 and then install 1.8.6. Then I
    tried to compile ruby1.9 package. But it is still giving same error and
    “make†fails at the execution of following command:

    /miniruby ./mkconfig.rb -timestamp=.rbconfig.time -install_name=ruby
    -so_name=ruby rbconfig.rb

    Are there any special settings to compile ruby1.9 package?
    Are there any prerequisites for successful compilation of ruby1.9
    package?


    --
    Posted via http://www.ruby-forum.com/.
     
    Chirag Mistry, Jul 17, 2007
    #3
  4. Hi,

    Please stop posting same article many times.

    At Tue, 17 Jul 2007 23:26:41 +0900,
    Chirag Mistry wrote in [ruby-talk:260264]:
    > I checked the things whatever you had mentioned in your reply and
    > then I tried but it displayed same error. Then I have completely
    > uninstalled older version of ruby-1.6.8 and then install 1.8.6. Then I
    > tried to compile ruby1.9 package. But it is still giving same error and
    > "make" fails at the execution of following command:


    What does this show?

    ./miniruby -s -e 'p $timestamp' -- -timestamp=.rbconfig.time

    --
    Nobu Nakada
     
    Nobuyoshi Nakada, Jul 18, 2007
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. C__chp
    Replies:
    4
    Views:
    510
    Puppet_Sock
    Feb 15, 2008
  2. Wolfgang Nádasi-Donner

    Ruby 1.9 mswin32 Installation and a Problem

    Wolfgang Nádasi-Donner, Jul 22, 2005, in forum: Ruby
    Replies:
    2
    Views:
    94
    Wolfgang Nádasi-Donner
    Jul 22, 2005
  3. Replies:
    1
    Views:
    173
    Ken Bloom
    May 28, 2007
  4. Replies:
    0
    Views:
    112
  5. YAG
    Replies:
    2
    Views:
    164
    Ron Fox
    Apr 4, 2008
Loading...

Share This Page