[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Can't install gems after a new ubuntu install

Max Williams

7/12/2008 4:33:00 PM

Sorry if this is the wrong forum...

Previously i'd been using ubuntu in a VM in windows. Finally i've taken
the plunge and wiped windows completely and done a proper ubuntu
install. (which was the easiest OS install i've EVER done btw - no
driver hassles or anything).

Anyway, i'm trying to get everything set up again for my work (rails
dev). I've installed ruby and ruby-gems with apt. Now i'm trying to
get some more gems, but i keep getting this problem (for hpricot in this
case but i also had it with ferret).

>max@max-laptop:~$ sudo gem install hpricot
>Select which gem to install for your platform (i486-linux)
> 1. hpricot 0.6 (jruby)
> 2. hpricot 0.6 (mswin32)
> 3. hpricot 0.6 (ruby)
> 4. hpricot 0.5 (ruby)
> 5. hpricot 0.5 (mswin32)
> 6. Skip this gem
> 7. Cancel installation
>> 3
>Building native extensions. This could take a while...
>ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
> ERROR: Failed to build gem native extension.
>
>ruby extconf.rb install hpricot
>extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
> from extconf.rb:1
>
>
>Gem files will remain installed in /var/lib/gems/1.8/gems/hpricot-0.6 for >inspection.
>Results logged to /var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan/gem_make.out

Doing "gem list" gives me these:

>*** LOCAL GEMS ***
>
>rake (0.8.1)
> Ruby based make-like utility.
>
>sources (0.0.1)
> This package provides download sources for remote gem installation
--
Posted via http://www.ruby-....

14 Answers

Max Williams

7/12/2008 4:35:00 PM

0

Actually, looking at this error "no such file to load -- mkmf"
makes me think that maybe i need to install 'make': is that the case?
If so, is it just a simple "sudo apt-get install make"?
--
Posted via http://www.ruby-....

Max Williams

7/12/2008 4:36:00 PM

0

Doh, just checked, i have make installed already. I'm going to shut up
and let someone else answer now :)
--
Posted via http://www.ruby-....

Phlip

7/12/2008 4:50:00 PM

0

Max Williams wrote:

> Doh, just checked, i have make installed already. I'm going to shut up
> and let someone else answer now :)

aptitude ruby-full will get you ruby1.8-dev. Does this show it?

aptitude search ruby1.8-dev | grep ^i

I think that's the next step towards mkmf. You also need a little gcc!

Max Williams

7/12/2008 5:00:00 PM

0

phlip wrote:
>
> aptitude ruby-full will get you ruby1.8-dev. Does this show it?
>
> aptitude search ruby1.8-dev | grep ^i
>
> I think that's the next step towards mkmf. You also need a little gcc!

Thanks philip - i am getting closer! Following the instructions on this
page:
http://daniel.lorch.cc/docs/rails_insta...

i did "apt-get install ruby1.8-dev" and now i get this massive error
report (follows). In reference to 'a little gcc' do you mean that i
need gcc to compile the c code used in the gems? Is that just an
apt-get?

max@max-laptop:~$ sudo gem install hpricot
Select which gem to install for your platform (i486-linux)
1. hpricot 0.6 (jruby)
2. hpricot 0.6 (mswin32)
3. hpricot 0.6 (ruby)
4. hpricot 0.5 (ruby)
5. hpricot 0.5 (mswin32)
6. Skip this gem
7. Cancel installation
> 3
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.

ruby extconf.rb install hpricot
checking for main() in -lc... no
creating Makefile

make
cc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC
-fno-strict-aliasing -g -g -O2 -fPIC -c hpricot_scan.c
In file included from ext/hpricot_scan/hpricot_scan.rl:9:
/usr/lib/ruby/1.8/i486-linux/ruby.h:40:21: error: stdlib.h: No such file
or directory
/usr/lib/ruby/1.8/i486-linux/ruby.h:44:21: error: string.h: No such file
or directory
/usr/lib/ruby/1.8/i486-linux/ruby.h:54:19: error: stdio.h: No such file
or directory
/usr/lib/ruby/1.8/i486-linux/ruby.h:71:20: error: alloca.h: No such file
or directory
In file included from
/usr/lib/gcc/i486-linux-gnu/4.2.3/include/syslimits.h:7,
from
/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h:11,
from /usr/lib/ruby/1.8/i486-linux/ruby.h:91,
from ext/hpricot_scan/hpricot_scan.rl:9:
/usr/lib/gcc/i486-linux-gnu/4.2.3/include/limits.h:122:61: error:
limits.h: No such file or directory
In file included from /usr/lib/ruby/1.8/i486-linux/ruby.h:718,
from ext/hpricot_scan/hpricot_scan.rl:9:
/usr/lib/ruby/1.8/i486-linux/missing.h:16:24: error: sys/time.h: No such
file or directory
/usr/lib/ruby/1.8/i486-linux/missing.h:25:25: error: sys/types.h: No
such file or directory
In file included from /usr/lib/ruby/1.8/i486-linux/ruby.h:719,
from ext/hpricot_scan/hpricot_scan.rl:9:
/usr/lib/ruby/1.8/i486-linux/intern.h:219: error: expected declaration
specifiers or â??...â?? before â??fd_setâ??
/usr/lib/ruby/1.8/i486-linux/intern.h:219: error: expected declaration
specifiers or â??...â?? before â??fd_setâ??
/usr/lib/ruby/1.8/i486-linux/intern.h:219: error: expected declaration
specifiers or â??...â?? before â??fd_setâ??
/usr/lib/ruby/1.8/i486-linux/intern.h:219: warning: â??struct timevalâ??
declared inside parameter list
/usr/lib/ruby/1.8/i486-linux/intern.h:219: warning: its scope is only
this definition or declaration, which is probably not what you want
/usr/lib/ruby/1.8/i486-linux/intern.h:220: warning: â??struct timevalâ??
declared inside parameter list
/usr/lib/ruby/1.8/i486-linux/intern.h:455: warning: parameter names
(without types) in function declaration
In file included from ext/hpricot_scan/hpricot_scan.rl:9:
/usr/lib/ruby/1.8/i486-linux/ruby.h:728:21: error: pthread.h: No such
file or directory
In file included from ext/hpricot_scan/hpricot_scan.rl:9:
/usr/lib/ruby/1.8/i486-linux/ruby.h:730: error: expected â??=â??, â??,â??, â??;â??,
â??asmâ?? or â??__attribute__â?? before â??rb_nativethread_tâ??
ext/hpricot_scan/hpricot_scan.rl: In function â??hpricot_scanâ??:
ext/hpricot_scan/hpricot_scan.rl:185: warning: incompatible implicit
declaration of built-in function â??memcpyâ??
ext/hpricot_scan/hpricot_scan.rl:244: warning: incompatible implicit
declaration of built-in function â??memmoveâ??
make: *** [hpricot_scan.o] Error 1


Gem files will remain installed in /var/lib/gems/1.8/gems/hpricot-0.6
for inspection.
Results logged to
/var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan/gem_make.out


--
Posted via http://www.ruby-....

Phlip

7/12/2008 5:12:00 PM

0

Max Williams wrote:

> /usr/lib/ruby/1.8/i486-linux/ruby.h:40:21: error: stdlib.h: No such file
> or directory

I would guess you need libglib2.0-dev...

....but the bigger topic here, with one-terabyte notebook hard drives these days,
is could the GNU packagers relax and start pushing things together into bigger
and more useful components? Instead of nickel-and-diming us to death with tiny
and individually useless ~80 kB packages?

Phlip

7/12/2008 5:13:00 PM

0

> I would guess you need libglib2.0-dev...

Also throw in libc6 !

Max Williams

7/12/2008 5:26:00 PM

0

phlip wrote:
>> I would guess you need libglib2.0-dev...
>
> Also throw in libc6 !

Thanks for all your advice phlip - before i get all these would you mind
telling me what they are? And are they all gettable with apt-get?

thanks again -max
--
Posted via http://www.ruby-....

Phlip

7/12/2008 5:49:00 PM

0

Max Williams wrote:

> Thanks for all your advice phlip - before i get all these would you mind
> telling me what they are? And are they all gettable with apt-get?

You have some googling to do!

sudo aptitude install libc6-dev

Max Williams

7/12/2008 7:08:00 PM

0


All fixed now, thanks again for all your help.

Have a nice weekend :)
--
Posted via http://www.ruby-....

miles.sterrett@gmail.com

7/12/2008 11:23:00 PM

0

On Jul 12, 3:07 pm, Max Williams <toastkid.willi...@gmail.com> wrote:
> All fixed now, thanks again for all your help.
>
> Have a nice weekend :)
> --
> Posted viahttp://www.ruby-....

As a note, for those that may come across this thread in the future...

'sudo apt-get install build-essential'

... likely would have helped. It is a meta-package that installs gcc,
g++, make, and libc6-dev.

MilesZS