[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

compile from source - how difficult?

Tom Cloyd

7/18/2008 10:35:00 PM

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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7 Answers

Martin DeMello

7/18/2008 10:46:00 PM

0

On Fri, Jul 18, 2008 at 3:34 PM, Tom Cloyd <tomcloyd@comcast.net> 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/apqjib...

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

libpthread-stubs0
libpthread-stubs0-dev

martin

Tom Cloyd

7/18/2008 11:17:00 PM

0

Martin DeMello wrote:
> On Fri, Jul 18, 2008 at 3:34 PM, Tom Cloyd <tomcloyd@comcast.net> 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/apqjib...
>
> 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Douglas A. Seifert

7/19/2008 2:03:00 AM

0

Tom Cloyd wrote:
> Martin DeMello wrote:
>> On Fri, Jul 18, 2008 at 3:34 PM, Tom Cloyd <tomcloyd@comcast.net> 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/apqjib...
>>
>> 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


Tom Cloyd

7/19/2008 2:14:00 AM

0

Douglas A. Seifert wrote:
> Tom Cloyd wrote:
>> Martin DeMello wrote:
>>> On Fri, Jul 18, 2008 at 3:34 PM, Tom Cloyd <tomcloyd@comcast.net> 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/apqjib...
>>>
>>> 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
<< tc@tomcloyd.com >> (email)
<< TomCloyd.com >> (website & psychotherapy weblog)
<< sleightmind.wordpress.com >> (mental health issues weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Kyle Schmitt

7/19/2008 10:32:00 PM

0

On Fri, Jul 18, 2008 at 9:13 PM, Tom Cloyd <tomcloyd@comcast.net> 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

Marc Heiler

7/19/2008 11:33:00 PM

0

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

Tom Cloyd

7/20/2008 12:54:00 AM

0

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
<< tc@tomcloyd.com >> (email)
<< TomCloyd.com >> (website & psychotherapy weblog)
<< sleightmind.wordpress.com >> (mental health issues weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~