compile from source - how difficult?

T

Tom Cloyd

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.
 
M

Martin DeMello

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
 
T

Tom Cloyd

Martin said:
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.
 
D

Douglas A. Seifert

Tom said:
Martin said:
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
 
T

Tom Cloyd

Douglas said:
Tom said:
Martin said:
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
<< (e-mail address removed) >> (email)
<< TomCloyd.com >> (website & psychotherapy weblog)
<< sleightmind.wordpress.com >> (mental health issues weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
K

Kyle Schmitt

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
 
M

Marc Heiler

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" :(
 
T

Tom Cloyd

Marc said:
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
<< (e-mail address removed) >> (email)
<< TomCloyd.com >> (website & psychotherapy weblog)
<< sleightmind.wordpress.com >> (mental health issues weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top