Compile from source - how difficult?

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.

On Fri, Jul 18, 2008 at 3:34 PM, Tom C. [email protected] 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 wrote:

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 C. wrote:

Since your immediate problem appears to be pthreads-related, see if

necessary libraries and/or headers. Check the mkmf.log file for more
–without-make-prog
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.0/ext/gem_make.out
-L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic
"cc -o conftest -I. -I/usr/lib/ruby/1.8/i486-linux -I.
/* end */
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

On Fri, Jul 18, 2008 at 9:13 PM, Tom C. [email protected] 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

Douglas A. Seifert wrote:

Here’s what’s installed, apparently -
Then…
Could not create Makefile due to some reason, probably lack of
–with-make-prog
Results logged to
-fno-strict-aliasing -g -g -O2 -fPIC conftest.c -L"." -L"/usr/lib"

3: int t() { main(); return 0; }
Sadly, I cannot make sense of any of this, so I’m very open to
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 C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< [email protected] >> (email)
<< TomCloyd.com >> (website & psychotherapy weblog)
<< sleightmind.wordpress.com >> (mental health issues weblog)

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” :frowning:

Marc H. 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” :frowning:

I’m happy to report that the help of Michael G., 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 C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< [email protected] >> (email)
<< TomCloyd.com >> (website & psychotherapy weblog)
<< sleightmind.wordpress.com >> (mental health issues weblog)