compile from source - how difficult?

Discussion in 'Ruby' started by Tom Cloyd, Jul 18, 2008.

  1. Tom Cloyd

    Tom Cloyd Guest

    On a fresh install of Kubuntu Linux (ver. 8.04.01), I'm not having good
    day trying to get ruby and rubygems back and functional.

    The Ruby-lang. website recommends using the package manager to install
    ruby, so I did that.

    Then I installed rubygems 1.8 from the rubyforge tarball. I then
    installed several gems successfully, but the one I really had to have -
    webby - wouldn't install. I've not have this problem before, so it
    doesn't seem likely that it's a webby problem.

    I didn't know how to uninstall the rubygems 1.8 install. I simply went
    to the adept package manager and installed rubygems from that.

    But webby still won't install:

    > $ sudo gem install webby
    >
    > [sudo] password for tomc:
    > Building native extensions. This could take a while...
    > ERROR: Error installing webby:
    > ERROR: Failed to build gem native extension.
    >
    > /usr/bin/ruby1.8 extconf.rb install webby
    > checking for main() in -lpthread... no
    > *** extconf.rb failed ***
    > Could not create Makefile due to some reason, probably lack of
    > necessary libraries and/or headers. Check the mkmf.log file for more
    > details. You may need configuration options.
    >
    > Provided configuration options:
    > --with-opt-dir
    > --without-opt-dir
    > --with-opt-include
    > --without-opt-include=${opt-dir}/include
    > --with-opt-lib
    > --without-opt-lib=${opt-dir}/lib
    > --with-make-prog
    > --without-make-prog
    > --srcdir=.
    > --curdir
    > --ruby=/usr/bin/ruby1.8
    > --with-pthreadlib
    > --without-pthreadlib
    >
    >
    >
    > Gem files will remain installed in
    > /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0 for inspection.
    > Results logged to
    > /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0/ext/gem_make.out
    >


    On the webby list, it was suggested that I install ruby from source.

    Is that really the best idea? I developed modest pascal programs from my
    own source code, years ago, but I have no idea how to compile ruby for
    what I presume is C source, on Kubuntu.

    What should I do? If going from source is the best idea, can anyone
    point me to a resource which will bring me up to speed on how to do
    this? (I'm looking for this resource, and may find it, but suggestions
    are certainly welcome.)

    Thanks!

    t.


    --
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Tom Cloyd,
    Bellingham, Washington, U.S.A: (360) 920-1226
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Tom Cloyd, Jul 18, 2008
    #1
    1. Advertising

  2. On Fri, Jul 18, 2008 at 3:34 PM, Tom Cloyd <> wrote:
    > On a fresh install of Kubuntu Linux (ver. 8.04.01), I'm not having good day
    > trying to get ruby and rubygems back and functional.


    I got webby installed under Ubuntu 8.04 without having to compile
    anything from source. I did face some other issues, though - see
    http://markmail.org/message/apqjib2ftfr5dukk

    Since your immediate problem appears to be pthreads-related, see if
    you have the following installed:

    libpthread-stubs0
    libpthread-stubs0-dev

    martin
    Martin DeMello, Jul 18, 2008
    #2
    1. Advertising

  3. Tom Cloyd

    Tom Cloyd Guest

    Martin DeMello wrote:
    > On Fri, Jul 18, 2008 at 3:34 PM, Tom Cloyd <> wrote:
    >> On a fresh install of Kubuntu Linux (ver. 8.04.01), I'm not having good day
    >> trying to get ruby and rubygems back and functional.

    >
    > I got webby installed under Ubuntu 8.04 without having to compile
    > anything from source. I did face some other issues, though - see
    > http://markmail.org/message/apqjib2ftfr5dukk
    >
    > Since your immediate problem appears to be pthreads-related, see if
    > you have the following installed:
    >
    > libpthread-stubs0
    > libpthread-stubs0-dev
    >
    > martin
    >
    >


    Here's what's installed, apparently -

    $ locate libpthread
    /lib/libpthread-2.7.so
    /lib/libpthread.so.0
    /lib/tls/i686/cmov/libpthread-2.7.so
    /lib/tls/i686/cmov/libpthread.so.0

    So, I went to Adept and found the two things (packages? modules? I
    haven't a clue) an installed them.

    Then...

    $ sudo gem install webby
    [sudo] password for tomc:
    Building native extensions. This could take a while...
    ERROR: Error installing webby:
    ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.8 extconf.rb install webby
    checking for main() in -lpthread... no
    *** extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers. Check the mkmf.log file for more
    details. You may need configuration options.

    Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/ruby1.8
    --with-pthreadlib
    --without-pthreadlib


    Gem files will remain installed in
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0 for inspection.
    Results logged to
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0/ext/gem_make.out


    This was what was happening before.

    Checking the mkmf.log file mentioned above, I find:

    have_library: checking for main() in -lpthread... -------------------- no

    "cc -o conftest -I. -I/usr/lib/ruby/1.8/i486-linux -I.
    -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -L"." -L"/usr/lib" -L.
    -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic
    -lruby1.8-static -lpthread -lpthread -ldl -lcrypt -lm -lc"
    /usr/bin/ld: crt1.o: No such file: No such file or directory
    collect2: ld returned 1 exit status
    checked program was:
    /* begin */
    1: /*top*/
    2: int main() { return 0; }
    3: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
    /* end */

    "cc -o conftest -I. -I/usr/lib/ruby/1.8/i486-linux -I.
    -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -L"." -L"/usr/lib" -L.
    -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic
    -lruby1.8-static -lpthread -lpthread -ldl -lcrypt -lm -lc"
    /usr/bin/ld: crt1.o: No such file: No such file or directory
    collect2: ld returned 1 exit status
    checked program was:
    /* begin */
    1: /*top*/
    2: int main() { return 0; }
    3: int t() { main(); return 0; }
    /* end */

    --------------------

    Then, checking
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0/ext/gem_make.out
    (mentioned in the webby install effort console output, above), I find
    simply a repetition of the error output printed to the console as a
    result of the webby install attempt.

    Sadly, I cannot make sense of any of this, so I'm very open to
    suggestions at this point.

    Thanks!

    t.
    --
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Tom Cloyd
    Bellingham, Washington, U.S.A: (360) 920-1226
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Tom Cloyd, Jul 19, 2008
    #3
  4. Tom Cloyd wrote:
    > Martin DeMello wrote:
    >> On Fri, Jul 18, 2008 at 3:34 PM, Tom Cloyd <> wrote:
    >>> On a fresh install of Kubuntu Linux (ver. 8.04.01), I'm not having
    >>> good day
    >>> trying to get ruby and rubygems back and functional.

    >>
    >> I got webby installed under Ubuntu 8.04 without having to compile
    >> anything from source. I did face some other issues, though - see
    >> http://markmail.org/message/apqjib2ftfr5dukk
    >>
    >> Since your immediate problem appears to be pthreads-related, see if
    >> you have the following installed:
    >>
    >> libpthread-stubs0
    >> libpthread-stubs0-dev
    >>
    >> martin
    >>
    >>

    >
    > Here's what's installed, apparently -
    >
    > $ locate libpthread
    > /lib/libpthread-2.7.so
    > /lib/libpthread.so.0
    > /lib/tls/i686/cmov/libpthread-2.7.so
    > /lib/tls/i686/cmov/libpthread.so.0
    >
    > So, I went to Adept and found the two things (packages? modules? I
    > haven't a clue) an installed them.
    >
    > Then...
    >
    > $ sudo gem install webby
    > [sudo] password for tomc:
    > Building native extensions. This could take a while...
    > ERROR: Error installing webby:
    > ERROR: Failed to build gem native extension.
    >
    > /usr/bin/ruby1.8 extconf.rb install webby
    > checking for main() in -lpthread... no
    > *** extconf.rb failed ***
    > Could not create Makefile due to some reason, probably lack of
    > necessary libraries and/or headers. Check the mkmf.log file for more
    > details. You may need configuration options.
    >
    > Provided configuration options:
    > --with-opt-dir
    > --without-opt-dir
    > --with-opt-include
    > --without-opt-include=${opt-dir}/include
    > --with-opt-lib
    > --without-opt-lib=${opt-dir}/lib
    > --with-make-prog
    > --without-make-prog
    > --srcdir=.
    > --curdir
    > --ruby=/usr/bin/ruby1.8
    > --with-pthreadlib
    > --without-pthreadlib
    >
    >
    > Gem files will remain installed in
    > /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0 for inspection.
    > Results logged to
    > /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0/ext/gem_make.out
    >
    >
    > This was what was happening before.
    >
    > Checking the mkmf.log file mentioned above, I find:
    >
    > have_library: checking for main() in -lpthread... -------------------- no
    >
    > "cc -o conftest -I. -I/usr/lib/ruby/1.8/i486-linux -I.
    > -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -L"." -L"/usr/lib"
    > -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic
    > -lruby1.8-static -lpthread -lpthread -ldl -lcrypt -lm -lc"
    > /usr/bin/ld: crt1.o: No such file: No such file or directory
    > collect2: ld returned 1 exit status
    > checked program was:
    > /* begin */
    > 1: /*top*/
    > 2: int main() { return 0; }
    > 3: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
    > /* end */
    >
    > "cc -o conftest -I. -I/usr/lib/ruby/1.8/i486-linux -I.
    > -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -L"." -L"/usr/lib"
    > -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic
    > -lruby1.8-static -lpthread -lpthread -ldl -lcrypt -lm -lc"
    > /usr/bin/ld: crt1.o: No such file: No such file or directory
    > collect2: ld returned 1 exit status
    > checked program was:
    > /* begin */
    > 1: /*top*/
    > 2: int main() { return 0; }
    > 3: int t() { main(); return 0; }
    > /* end */
    >
    > --------------------
    >
    > Then, checking
    > /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0/ext/gem_make.out
    > (mentioned in the webby install effort console output, above), I find
    > simply a repetition of the error output printed to the console as a
    > result of the webby install attempt.
    >
    > Sadly, I cannot make sense of any of this, so I'm very open to
    > suggestions at this point.
    >
    > Thanks!
    >
    > t.

    On ubuntu, to compile anything, you should install the build-essential
    package:

    $ sudo apt-get install build-essential

    You may also have to install the ruby1.8-dev package as well:

    $ sudo apt-get install ruby1.8-dev

    Good luck. When compiling gems, you usually will need dev version of
    any library that the gem has a dependency on.

    -Doug Seifert
    Douglas A. Seifert, Jul 19, 2008
    #4
  5. Tom Cloyd

    Tom Cloyd Guest

    Douglas A. Seifert wrote:
    > Tom Cloyd wrote:
    >> Martin DeMello wrote:
    >>> On Fri, Jul 18, 2008 at 3:34 PM, Tom Cloyd <> wrote:
    >>>> On a fresh install of Kubuntu Linux (ver. 8.04.01), I'm not having
    >>>> good day
    >>>> trying to get ruby and rubygems back and functional.
    >>>
    >>> I got webby installed under Ubuntu 8.04 without having to compile
    >>> anything from source. I did face some other issues, though - see
    >>> http://markmail.org/message/apqjib2ftfr5dukk
    >>>
    >>> Since your immediate problem appears to be pthreads-related, see if
    >>> you have the following installed:
    >>>
    >>> libpthread-stubs0
    >>> libpthread-stubs0-dev
    >>>
    >>> martin
    >>>
    >>>

    >>
    >> Here's what's installed, apparently -
    >>
    >> $ locate libpthread
    >> /lib/libpthread-2.7.so
    >> /lib/libpthread.so.0
    >> /lib/tls/i686/cmov/libpthread-2.7.so
    >> /lib/tls/i686/cmov/libpthread.so.0
    >>
    >> So, I went to Adept and found the two things (packages? modules? I
    >> haven't a clue) an installed them.
    >>
    >> Then...
    >>
    >> $ sudo gem install webby
    >> [sudo] password for tomc:
    >> Building native extensions. This could take a while...
    >> ERROR: Error installing webby:
    >> ERROR: Failed to build gem native extension.
    >>
    >> /usr/bin/ruby1.8 extconf.rb install webby
    >> checking for main() in -lpthread... no
    >> *** extconf.rb failed ***
    >> Could not create Makefile due to some reason, probably lack of
    >> necessary libraries and/or headers. Check the mkmf.log file for more
    >> details. You may need configuration options.
    >>
    >> Provided configuration options:
    >> --with-opt-dir
    >> --without-opt-dir
    >> --with-opt-include
    >> --without-opt-include=${opt-dir}/include
    >> --with-opt-lib
    >> --without-opt-lib=${opt-dir}/lib
    >> --with-make-prog
    >> --without-make-prog
    >> --srcdir=.
    >> --curdir
    >> --ruby=/usr/bin/ruby1.8
    >> --with-pthreadlib
    >> --without-pthreadlib
    >>
    >>
    >> Gem files will remain installed in
    >> /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0 for inspection.
    >> Results logged to
    >> /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0/ext/gem_make.out
    >>
    >>
    >> This was what was happening before.
    >>
    >> Checking the mkmf.log file mentioned above, I find:
    >>
    >> have_library: checking for main() in -lpthread... -------------------- no
    >>
    >> "cc -o conftest -I. -I/usr/lib/ruby/1.8/i486-linux -I.
    >> -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -L"." -L"/usr/lib"
    >> -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic
    >> -lruby1.8-static -lpthread -lpthread -ldl -lcrypt -lm -lc"
    >> /usr/bin/ld: crt1.o: No such file: No such file or directory
    >> collect2: ld returned 1 exit status
    >> checked program was:
    >> /* begin */
    >> 1: /*top*/
    >> 2: int main() { return 0; }
    >> 3: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
    >> /* end */
    >>
    >> "cc -o conftest -I. -I/usr/lib/ruby/1.8/i486-linux -I.
    >> -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -L"." -L"/usr/lib"
    >> -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic
    >> -lruby1.8-static -lpthread -lpthread -ldl -lcrypt -lm -lc"
    >> /usr/bin/ld: crt1.o: No such file: No such file or directory
    >> collect2: ld returned 1 exit status
    >> checked program was:
    >> /* begin */
    >> 1: /*top*/
    >> 2: int main() { return 0; }
    >> 3: int t() { main(); return 0; }
    >> /* end */
    >>
    >> --------------------
    >>
    >> Then, checking
    >> /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0/ext/gem_make.out
    >> (mentioned in the webby install effort console output, above), I find
    >> simply a repetition of the error output printed to the console as a
    >> result of the webby install attempt.
    >>
    >> Sadly, I cannot make sense of any of this, so I'm very open to
    >> suggestions at this point.
    >>
    >> Thanks!
    >>
    >> t.

    > On ubuntu, to compile anything, you should install the build-essential
    > package:
    >
    > $ sudo apt-get install build-essential
    >
    > You may also have to install the ruby1.8-dev package as well:
    >
    > $ sudo apt-get install ruby1.8-dev
    >
    > Good luck. When compiling gems, you usually will need dev version of
    > any library that the gem has a dependency on.
    >
    > -Doug Seifert
    >
    >
    >


    Thanks, Doug. I'll probably give this a try. Since what I have now isn't
    working too well. New adventures in Ruby/Kubuntu, for the ever hopeful,
    and increasingly desperate! ~t.

    --
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
    Bellingham, Washington, U.S.A: (360) 920-1226
    << >> (email)
    << TomCloyd.com >> (website & psychotherapy weblog)
    << sleightmind.wordpress.com >> (mental health issues weblog)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Tom Cloyd, Jul 19, 2008
    #5
  6. Tom Cloyd

    Kyle Schmitt Guest

    On Fri, Jul 18, 2008 at 9:13 PM, Tom Cloyd <> wrote:
    > Thanks, Doug. I'll probably give this a try. Since what I have now isn't
    > working too well. New adventures in Ruby/Kubuntu, for the ever hopeful, and
    > increasingly desperate! ~t.


    Tom,
    I've never compiled ruby, or much of anything, for ubuntu
    specifically, but I've had to build modern ruby package for work since
    some of our boxes run (very very very) old versions of linux, and I've
    had to build ruby for my irix box since there are no stock packages of
    it. It's not the _most_ straight forward build, but it's still pretty
    easy. Take it slow, and read that little README in the tarball, it
    tells you everything.

    You've got very little to worry about!

    --Kyle
    Kyle Schmitt, Jul 19, 2008
    #6
  7. Tom Cloyd

    Marc Heiler Guest

    > It's not the _most_ straight forward build, but it's still
    > pretty easy.


    On a belated note I still wonder if anyone has managed to
    compily ruby statically and made it work. When I dig into which
    extensions I want to add, it is openssl or something else that
    seems to "act up" :(
    --
    Posted via http://www.ruby-forum.com/.
    Marc Heiler, Jul 20, 2008
    #7
  8. Tom Cloyd

    Tom Cloyd Guest

    Marc Heiler wrote:
    >> It's not the _most_ straight forward build, but it's still
    >> pretty easy.

    >
    > On a belated note I still wonder if anyone has managed to
    > compily ruby statically and made it work. When I dig into which
    > extensions I want to add, it is openssl or something else that
    > seems to "act up" :(


    I'm happy to report that the help of Michael Guterl, of the Webby list,
    I've just successfully compiled Ruby from source (with added
    libraries/extensions/ or whatever they were: zlib1g-dev /
    libreadline5-dev / openssl) installed it, then installed Rubygems (which
    had been giving me real headaches), and then webby.

    Haven't used it yet, but this is the farthest I've gotten on this in 4
    days. The Kubuntu packages weren't installing well for me. This solved
    the problem (so far).

    Now I'm off to go study what I just did. Couldn't have done it without
    Michael's patient and expert coaching. I have the complete list of
    commands required if anyone wants them.

    Tom


    --
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
    Bellingham, Washington, U.S.A: (360) 920-1226
    << >> (email)
    << TomCloyd.com >> (website & psychotherapy weblog)
    << sleightmind.wordpress.com >> (mental health issues weblog)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Tom Cloyd, Jul 20, 2008
    #8
    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. Rob

    Difficult problem

    Rob, Aug 1, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    345
  2. Smith John
    Replies:
    1
    Views:
    648
  3. Daniel Walzenbach
    Replies:
    5
    Views:
    407
    =?Utf-8?B?RGFuaWVsIFdhbHplbmJhY2g=?=
    Feb 3, 2004
  4. Nagaraj
    Replies:
    1
    Views:
    840
    Lionel B
    Mar 1, 2007
  5. fAnSKyer
    Replies:
    2
    Views:
    517
    Alf P. Steinbach
    Jun 7, 2009
Loading...

Share This Page