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