Forum: Ruby-Gnome 2 error installing gtk2 under ruby 2.0

5e3ddca8ea910cea06245c7b3c38007a?d=identicon&s=25 jake kaiden (lljk)
on 2013-03-09 11:57
hello all,

  i ran into an error while trying to install the gtk2 gem in rvm ruby
2.0.0 under ubuntu 12.04

ERROR:  Error installing gtk2:
        ERROR: Failed to build gem native extension.
...
...
creating ruby-gtk2.pc
creating Makefile

make
compiling rbgdkgc.c
In file included from
/.../.../.rvm/gems/ruby-2.0.0-p0/gems/glib2-1.2.1/ext/glib2/rbgobject.h:28:0,
                 from rbgtk.h:28,
                 from global.h:28,
                 from rbgdkgc.c:24:
/.../.../.rvm/gems/ruby-2.0.0-p0/gems/glib2-1.2.1/ext/glib2/rbglib.h:67:0:
warning: "rb_str_new_cstr" redefined [enabled by default]
/.../.../.rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0/ruby/intern.h:747:0:
note: this is the location of the previous definition
compiling rbgtkimcontextsimple.c
...
...
(and on and on like this...)


  has anyone else come across this issue?

  - j
5db3622dcec357978aefa53c8034df0f?d=identicon&s=25 Mamoru TASAKA (Guest)
on 2013-03-09 13:08
(Received via mailing list)
Hello:

jake kaiden wrote, at 03/09/2013 07:57 PM +9:00:
> note: this is the location of the previous definition
> compiling rbgtkimcontextsimple.c
> ...
> ...
> (and on and on like this...)
>

These are just "warnings", not "errors".

However with ruby 2.0 you'll see errors due to NIL_P
not put in parentheses like:

In file included from /usr/include/ruby.h:33:0,
                  from /usr/lib64/ruby/vendor_ruby/rbgobject.h:27,
                  from rbgtk.h:28,
                  from global.h:28,
                  from rbgdkevent.c:25:
rbgdkevent.c: In function 'gdkevent_s_setting_get':
rbgdkevent.c:390:8: error: expected '(' before '!' token
      if NIL_P(type)
         ^
rbgdkevent.c:391:9: error: expected ';' before 'gtype'
          gtype = G_TYPE_STRING;
          ^

and this patch is needed:
https://github.com/ruby-gnome2/ruby-gnome2/commit/...

Regards,
Mamoru
5e3ddca8ea910cea06245c7b3c38007a?d=identicon&s=25 jake kaiden (lljk)
on 2013-03-09 14:26
thanks Mamoru,

  you're right, those are just 'warnings,' but something is stopping the
thing from installing... (i do get a big fat 'ERROR' at the top.)

  i'll try the patch you mentioned, and let you know how it works out.

  thanks again,

  - j
A219fd46e7cc8c0b145d6e5c13ac92da?d=identicon&s=25 Enrico Rivarola (henryrb)
on 2013-03-11 11:37
Attachment: gem_make.out (50 KB)
jake kaiden wrote in post #1100838:
> thanks Mamoru,
>
>   you're right, those are just 'warnings,' but something is stopping the
> thing from installing... (i do get a big fat 'ERROR' at the top.)
>
>   i'll try the patch you mentioned, and let you know how it works out.
>
>   thanks again,
>
>   - j

Hello,
I have a similar problem when try to install rabbit gem on ubuntu 12.04
(64bit) with rvm, the installation break on ruby-gtk2.

The installed gems are:
*** LOCAL GEMS ***

atk (1.2.1)
bigdecimal (1.2.0)
bundler (1.2.4)
cairo (1.12.3)
diff-lcs (1.2.1)
gdk_pixbuf2 (1.2.1)
glib2 (1.2.1)
guid (0.1.1)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
pango (1.2.1)
pkg-config (1.1.4)
psych (2.0.0)
rake (10.0.3, 0.9.6)
rdoc (4.0.0)
rspec (2.13.0)
rspec-core (2.13.0)
rspec-expectations (2.13.0)
rspec-mocks (2.13.0)
rubygems-bundler (1.1.0)
rubygems-update (2.0.2)
rvm (1.11.3.6)
test-unit (2.0.0.0)


The final lines of gem installation are:
...
compiling rbgtkcalendar.c
In file included from
/home/rbtest/.rvm/gems/ruby-2.0.0-p0/gems/glib2-1.2.1/ext/glib2/rbgobject.h:28:0,
                 from rbgtk.h:28,
                 from global.h:28,
                 from rbgtkcalendar.c:25:
/home/rbtest/.rvm/gems/ruby-2.0.0-p0/gems/glib2-1.2.1/ext/glib2/rbglib.h:67:0:
warning: "rb_str_new_cstr" redefined [enabled by default]
/home/rbtest/.rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0/ruby/intern.h:747:0:
note: this is the location of the previous definition
rbgtkcalendar.c: In function ‘rg_display_options’:
rbgtkcalendar.c:108:8: error: expected ‘(’ before ‘!’ token
rbgtkcalendar.c:108:8: warning: statement with no effect
[-Wunused-value]
rbgtkcalendar.c:108:20: error: expected ‘;’ before ‘{’ token
rbgtkcalendar.c:122:1: warning: no return statement in function
returning non-void [-Wreturn-type]
make: *** [rbgtkcalendar.o] Error 1

there is also attached the result log

Anyone can help ?
5db3622dcec357978aefa53c8034df0f?d=identicon&s=25 Mamoru TASAKA (Guest)
on 2013-03-11 14:28
(Received via mailing list)
Hello, Enrico:

Enrico Rivarola wrote, at 03/11/2013 07:37 PM +9:00:
> I have a similar problem when try to install rabbit gem on ubuntu 12.04
>                   from rbgtkcalendar.c:25:
> returning non-void [-Wreturn-type]
> make: *** [rbgtkcalendar.o] Error 1
>
> there is also attached the result log
>
> Anyone can help ?

Same error.
https://github.com/ruby-gnome2/ruby-gnome2/commit/...
should fix this.

Regards,
Mamoru
A219fd46e7cc8c0b145d6e5c13ac92da?d=identicon&s=25 Enrico Rivarola (henryrb)
on 2013-03-11 16:47
Thanks for the tips.
Some minutes ago I attempt to install 1.2.2 version and the installation
work fine. Gtk2 and other related packages was installed without errors.

Bye

Enrico

Mamoru TASAKA wrote in post #1101095:
> Hello, Enrico:
>
> Enrico Rivarola wrote, at 03/11/2013 07:37 PM +9:00:
>> I have a similar problem when try to install rabbit gem on ubuntu 12.04
>>                   from rbgtkcalendar.c:25:
>> returning non-void [-Wreturn-type]
>> make: *** [rbgtkcalendar.o] Error 1
>>
>> there is also attached the result log
>>
>> Anyone can help ?
>
> Same error.
>
https://github.com/ruby-gnome2/ruby-gnome2/commit/...
> should fix this.
>
> Regards,
> Mamoru
5e3ddca8ea910cea06245c7b3c38007a?d=identicon&s=25 jake kaiden (lljk)
on 2013-03-14 14:24
...just updated to 1.2.2 and everything seems to work nicely.

  thanks!

  - j
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.