Installation error under ubuntu 14.04
This is the content of gem_make.out file
/home/ubuntu/.rvm/rubies/ruby-2.1.3/bin/ruby extconf.rb checking for main() in -lglut... yes checking for main() in -lGL... yes creating Makefile
make "DESTDIR=" clean
make "DESTDIR=" compiling bindings.c In file included from bindings.c:16:0: texplay.h:41:3: error: ‘sync’ redeclared as different kind of symbol } sync; ^ In file included from /home/ubuntu/.rvm/rubies/ruby-2.1.3/include/ruby-2.1.0/ruby/defines.h:57:0, from /home/ubuntu/.rvm/rubies/ruby-2.1.3/include/ruby-2.1.0/ruby/ruby.h:29, from /home/ubuntu/.rvm/rubies/ruby-2.1.3/include/ruby-2.1.0/ruby.h:33, from bindings.c:1: /usr/include/unistd.h:972:13: note: previous declaration of ‘sync’ was here extern void sync (void) __THROW; ^ In file included from bindings.c:22:0: compat.h:20:0: warning: "RCLASS_SUPER" redefined [enabled by default]
define RCLASS_SUPER(c) (RCLASS(c)->super)
^ In file included from /home/ubuntu/.rvm/rubies/ruby-2.1.3/include/ruby-2.1.0/ruby.h:33:0, from bindings.c:1: /home/ubuntu/.rvm/rubies/ruby-2.1.3/include/ruby-2.1.0/ruby/ruby.h:796:0: note: this is the location of the previous definition #define RCLASS_SUPER(c) rb_class_get_superclass(c) ^ bindings.c: In function ‘parse_sync_mode’: bindings.c:150:5: warning: passing argument 1 of ‘string2sym’ discards ‘const’ qualifier from pointer target type [enabled by default] if(user_sync_mode == string2sym("lazy_sync")) ^ In file included from bindings.c:17:0: utils.h:42:7: note: expected ‘char ’ but argument is of type ‘const char *’ VALUE string2sym(char); ^ bindings.c:152:5: warning: passing argument 1 of ‘string2sym’ discards ‘const’ qualifier from pointer target type [enabled by default] else if(user_sync_mode == string2sym("eager_sync")) ^ In file included from bindings.c:17:0: utils.h:42:7: note: expected ‘char ’ but argument is of type ‘const char *’ VALUE string2sym(char); ^ bindings.c:154:5: warning: passing argument 1 of ‘string2sym’ discards ‘const’ qualifier from pointer target type [enabled by default] else if(user_sync_mode == string2sym("no_sync")) ^ In file included from bindings.c:17:0: utils.h:42:7: note: expected ‘char ’ but argument is of type ‘const char *’ VALUE string2sym(char); ^ bindings.c: In function ‘m_paint’: bindings.c:185:5: warning: passing argument 2 of ‘has_optional_hash_arg’ discards ‘const’ qualifier from pointer target type [enabled by default] if(has_optional_hash_arg(options, "sync_mode")) { ^ In file included from bindings.c:17:0: utils.h:66:6: note: expected ‘char ’ but argument is of type ‘const char *’ bool has_optional_hash_arg(VALUE hash, char * sym); ^ bindings.c:186:9: warning: passing argument 2 of ‘get_from_hash’ discards ‘const’ qualifier from pointer target type [enabled by default] VALUE user_sync_mode = get_from_hash(options, "sync_mode"); ^ In file included from bindings.c:17:0: utils.h:54:7: note: expected ‘char *’ but argument is of type ‘const char *’ VALUE get_from_hash(VALUE hash, char * sym); ^ In file included from /home/ubuntu/.rvm/rubies/ruby-2.1.3/include/ruby-2.1.0/ruby.h:33:0, from bindings.c:1: bindings.c: In function ‘m_clone_image’: /home/ubuntu/.rvm/rubies/ruby-2.1.3/include/ruby-2.1.0/ruby/ruby.h:1116:30: error: assignment of read-only member ‘klass’ #define RBASIC(obj) (R_CAST(RBasic)(obj)) ^ /home/ubuntu/.rvm/rubies/ruby-2.1.3/include/ruby-2.1.0/ruby/ruby.h:1115:30: note: in definition of macro ‘R_CAST’ #define R_CAST(st) (struct st) ^ compat.h:25:22: note: in expansion of macro ‘RBASIC’ #define KLASS_OF(c) (RBASIC(c)->klass) ^ bindings.c:300:5: note: in expansion of macro ‘KLASS_OF’ KLASS_OF(cloned_image) = rb_singleton_class_clone(self); ^ bindings.c: In function ‘m_to_blob’: bindings.c:367:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] char new_array[sidelength * sidelength * 4]; ^ bindings.c:372:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] VALUE blob = rb_str_new(NULL, 4 * tex.width * tex.height); ^ bindings.c: In function ‘m_getpixel’: bindings.c:403:5: warning: passing argument 1 of ‘string2sym’ discards ‘const’ qualifier from pointer target type [enabled by default] if (hash_value_is(options, "color_mode", string2sym("gosu"))) ^ In file included from bindings.c:17:0: utils.h:42:7: note: expected ‘char ’ but argument is of type ‘const char *’ VALUE string2sym(char); ^ bindings.c:403:5: warning: passing argument 2 of ‘hash_value_is’ discards ‘const’ qualifier from pointer target type [enabled by default] if (hash_value_is(options, "color_mode", string2sym("gosu"))) ^ In file included from bindings.c:17:0: utils.h:63:6: note: expected ‘char ’ but argument is of type ‘const char *’ bool hash_value_is(VALUE hash, char * sym, VALUE val); ^ bindings.c: In function ‘m_flood_fill’: bindings.c:497:9: warning: passing argument 2 of ‘get_from_hash’ discards ‘const’ qualifier from pointer target type [enabled by default] if(RTEST(get_from_hash(options, "iter"))) ^ In file included from bindings.c:17:0: utils.h:54:7: note: expected ‘char *’ but argument is of type ‘const char *’ VALUE get_from_hash(VALUE hash, char * sym); ^ bindings.c:499:9: warning: passing argument 2 of ‘get_from_hash’ discards ‘const’ qualifier from pointer target type [enabled by default] if(RTEST(get_from_hash(options, "glow"))) ^ In file included from bindings.c:17:0: utils.h:54:7: note: expected ‘char *’ but argument is of type ‘const char *’ VALUE get_from_hash(VALUE hash, char * sym); ^ bindings.c: In function ‘m_line’: bindings.c:553:5: warning: passing argument 1 of ‘string2sym’ discards ‘const’ qualifier from pointer target type [enabled by default] if (hash_value_is(options, "color_mode", string2sym("gosu"))) ^ In file included from bindings.c:17:0: utils.h:42:7: note: expected ‘char *’ but argument is of type ‘const char *’ VALUE string2sym(char); ^ bindings.c:553:5: warning: passing argument 2 of ‘hash_value_is’ discards ‘const’ qualifier from pointer target type [enabled by default] if (hash_value_is(options, "color_mode", string2sym("gosu"))) ^ In file included from bindings.c:17:0: utils.h:63:6: note: expected ‘char ’ but argument is of type ‘const char *’ bool hash_value_is(VALUE hash, char * sym, VALUE val); ^ bindings.c:560:5: warning: passing argument 2 of ‘has_optional_hash_arg’ discards ‘const’ qualifier from pointer target type [enabled by default] if (has_optional_hash_arg(options, "trace")) { ^ In file included from bindings.c:17:0: utils.h:66:6: note: expected ‘char *’ but argument is of type ‘const char *’ bool has_optional_hash_arg(VALUE hash, char * sym); ^ bindings.c: In function ‘m_splice’: bindings.c:705:9: warning: passing argument 2 of ‘get_from_hash’ discards ‘const’ qualifier from pointer target type [enabled by default] if(RTEST(get_from_hash(options, "crop"))) { ^ In file included from bindings.c:17:0: utils.h:54:7: note: expected ‘char *’ but argument is of type ‘const char *’ VALUE get_from_hash(VALUE hash, char * sym); ^ bindings.c:706:13: warning: passing argument 2 of ‘get_from_hash’ discards ‘const’ qualifier from pointer target type [enabled by default] VALUE c = get_from_hash(options, "crop"); ^ In file included from bindings.c:17:0: utils.h:54:7: note: expected ‘char *’ but argument is of type ‘const char *’ VALUE get_from_hash(VALUE hash, char * sym); ^ bindings.c: In function ‘m_clear’: bindings.c:725:11: warning: variable ‘parms’ set but not used [-Wunused-but-set-variable] VALUE parms[4]; ^ bindings.c: In function ‘m_each’: bindings.c:880:9: warning: passing argument 2 of ‘get_from_hash’ discards ‘const’ qualifier from pointer target type [enabled by default] if(RTEST(get_from_hash(options, "region"))) { ^ In file included from bindings.c:17:0: utils.h:54:7: note: expected ‘char *’ but argument is of type ‘const char *’ VALUE get_from_hash(VALUE hash, char * sym); ^ bindings.c:881:13: warning: passing argument 2 of ‘get_from_hash’ discards ‘const’ qualifier from pointer target type [enabled by default] VALUE region = get_from_hash(options, "region"); ^ In file included from bindings.c:17:0: utils.h:54:7: note: expected ‘char *’ but argument is of type ‘const char *’ VALUE get_from_hash(VALUE hash, char * sym); ^ make: ** [bindings.o] Error 1
make failed, exit code 2