"gem install mygem" does not install the gem

1 view
Skip to first unread message

CUBRID

unread,
Jul 30, 2010, 5:19:02 AM7/30/10
to Ruby on Rails: Talk
Hi,

I am encountering an odd behavior of gem install function. Can anyone
explain me what "gem install" actually does?

I have several C code and header files, and one extconf.rb file, +
mygem.gemspec file. So, when I build a gem it successfully creates
mygem-0.61.gem.

So, when I install it locally using "gem install mygem-0.61.gem" I
expect the gem to create a makefile, because in the extconf.rb file I
explicitly indicate it, and then "make install" that newly created
Makefile. However, "gem install' does not create a Makefile and does
not install it. What it does is just copies those several files to the
gem directory, where Gem keeps all its gems.

What I have to do is manually rub "ruby extconf.rb", which creates the
Makefile, and manually "make install".

The questions is: Should not "gem install" perform all these operation
by itself, when I type "gem install mygem"?

Thank you in advance for your help.

Frederick Cheung

unread,
Jul 30, 2010, 5:53:52 AM7/30/10
to Ruby on Rails: Talk
You need to indicate in your gemspec that there is a native library to
build. You might get more answers on one of the main ruby lists as
this isn't really a rails question.

Fred

CUBRID

unread,
Aug 1, 2010, 9:06:46 PM8/1/10
to Ruby on Rails: Talk
Thank you!

I will post to the rubygems gorup. But, if you might have time to
explain me which specification exactly should be set, I would be very
glad for your help! What I understand from what you've said is the
"s.platform = Gem::Platform::RUBY" specification. If, so, this is
exactly what I did, i.e. set it to Native Ruby.

Anyway, thank you for you help!

Esen.

On Jul 30, 6:53 pm, Frederick Cheung <frederick.che...@gmail.com>
wrote:

Frederick Cheung

unread,
Aug 2, 2010, 4:30:30 AM8/2/10
to Ruby on Rails: Talk


On Aug 2, 2:06 am, CUBRID <kadish...@gmail.com> wrote:
> Thank you!
>
> I will post to the rubygems gorup. But, if you might have time to
> explain me which specification exactly should be set, I would be very
> glad for your help! What I understand from what you've said is the
> "s.platform = Gem::Platform::RUBY" specification. If, so, this is
> exactly what I did, i.e. set it to Native Ruby.
>
No, that's not what you need, see http://docs.rubygems.org/read/chapter/20#extensions
You might also want ot look at an existing gem that contains a native
library and see what it does

Fred

CUBRID

unread,
Aug 2, 2010, 5:23:01 AM8/2/10
to Ruby on Rails: Talk
Actually I had that line before. Then I removed it when I build a gem
for win32 as I didn't need to build anything. Then forgot to paste
back.

Thank you, Fred, for the notice.


On Aug 2, 5:30 pm, Frederick Cheung <frederick.che...@gmail.com>
wrote:
> On Aug 2, 2:06 am,CUBRID<kadish...@gmail.com> wrote:> Thank you!
>
> > I will post to the rubygems gorup. But, if you might have time to
> > explain me which specification exactly should be set, I would be very
> > glad for your help! What I understand from what you've said is the
> > "s.platform = Gem::Platform::RUBY" specification. If, so, this is
> > exactly what I did, i.e. set it to Native Ruby.
>
> No, that's not what you need, seehttp://docs.rubygems.org/read/chapter/20#extensions
> You might also want ot look at an existing gem that contains a native
> library and see what it does
>
> Fred
>
>
>
> > Anyway, thank you for you help!
>
> > Esen.
>
> > On Jul 30, 6:53 pm, Frederick Cheung <frederick.che...@gmail.com>
> > wrote:
>
Reply all
Reply to author
Forward
0 new messages