# Compile from source - how difficult?

**URL:** <https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475>\
**Category:** Ruby\
**Created:** [July 19, 2008, 12:40am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475 "2008-07-19T00:40:20Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![tbcox23](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tbcox23](https://www.ruby-forum.com/u/tbcox23)\
**Post date:** [July 19, 2008, 12:40am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475/1 "2008-07-19T00:40:20Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![tbcox23](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tbcox23](https://www.ruby-forum.com/u/tbcox23)\
**Post date:** [July 19, 2008, 12:52am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475/2 "2008-07-19T00:52:03Z")

</div>

On Fri, Jul 18, 2008 at 3:34 PM, Tom C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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](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

---

<div class="post-metadata">

**Author:** ![tbcox23](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tbcox23](https://www.ruby-forum.com/u/tbcox23)\
**Post date:** [July 19, 2008, 1:25am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475/3 "2008-07-19T01:25:23Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![tbcox23](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tbcox23](https://www.ruby-forum.com/u/tbcox23)\
**Post date:** [July 19, 2008, 4:10am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475/4 "2008-07-19T04:10:52Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tbcox23](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tbcox23](https://www.ruby-forum.com/u/tbcox23)\
**Post date:** [July 20, 2008, 12:37am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475/5 "2008-07-20T00:37:34Z")

</div>

On Fri, Jul 18, 2008 at 9:13 PM, Tom C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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

---

<div class="post-metadata">

**Author:** ![tbcox23](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tbcox23](https://www.ruby-forum.com/u/tbcox23)\
**Post date:** [July 19, 2008, 4:19am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475/6 "2008-07-19T04:19:38Z")

</div>

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.

–

```auto
Tom C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< removed_email_address@domain.invalid >> (email)
<< TomCloyd.com >> (website & psychotherapy weblog)
<< sleightmind.wordpress.com >> (mental health issues weblog)

```

---

<div class="post-metadata">

**Author:** ![tbcox23](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tbcox23](https://www.ruby-forum.com/u/tbcox23)\
**Post date:** [July 20, 2008, 1:37am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475/7 "2008-07-20T01:37:53Z")

</div>

> 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” ☹

---

<div class="post-metadata">

**Author:** ![tbcox23](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b9bd4f/32.png) [@tbcox23](https://www.ruby-forum.com/u/tbcox23)\
**Post date:** [July 20, 2008, 2:59am UTC](https://www.ruby-forum.com/t/compile-from-source-how-difficult/143475/8 "2008-07-20T02:59:41Z")

</div>

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” ☹

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

–

```auto
Tom C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< removed_email_address@domain.invalid >> (email)
<< TomCloyd.com >> (website & psychotherapy weblog)
<< sleightmind.wordpress.com >> (mental health issues weblog)

```
