What's the process for getting a c-extension to compile correctly with
macgem?

This is related to this github issue:

https://github.com/ohler55/ox/issues/55

Below are the results of trying to install an xml parser with macgem. Even
when these issues are ignored during compilation, it appears that macruby
won't recognize a `require` of the gem.

$ sudo macgem install ox
Fetching: ox-1.9.4.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing ox:
ERROR: Failed to build gem native extension.

        /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/bin/macruby
extconf.rb
>>>>> Creating Makefile for MacRuby version 1.9.2 on universal-darwin10.0
<<<<<
creating Makefile

make
/usr/bin/gcc -I.
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2
-I.  -DRUBY_TYPE=MacRuby -DMACRUBY_RUBY -DRUBY_VERSION=1.9.2
-DRUBY_VERSION_MAJOR=1 -DRUBY_VERSION_MINOR=9 -DRUBY_VERSION_MICRO=2
-DHAS_RB_TIME_TIMESPEC=0 -DHAS_TM_GMTOFF=0 -DHAS_ENCODING_SUPPORT=0
-DHAS_PRIVATE_ENCODING=0 -DHAS_NANO_TIME=0 -DHAS_RSTRUCT=0
-DHAS_IVAR_HELPERS=0 -DHAS_PROC_WITH_BLOCK=0 -DHAS_TOP_LEVEL_ST_H=0
-DNEEDS_UIO=1 -Wall -fno-common -arch x86_64 -fexceptions -fno-common -pipe
-O3 -g -Wall -arch x86_64 -o base64.o -c base64.c
/usr/bin/gcc -I.
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2
-I.  -DRUBY_TYPE=MacRuby -DMACRUBY_RUBY -DRUBY_VERSION=1.9.2
-DRUBY_VERSION_MAJOR=1 -DRUBY_VERSION_MINOR=9 -DRUBY_VERSION_MICRO=2
-DHAS_RB_TIME_TIMESPEC=0 -DHAS_TM_GMTOFF=0 -DHAS_ENCODING_SUPPORT=0
-DHAS_PRIVATE_ENCODING=0 -DHAS_NANO_TIME=0 -DHAS_RSTRUCT=0
-DHAS_IVAR_HELPERS=0 -DHAS_PROC_WITH_BLOCK=0 -DHAS_TOP_LEVEL_ST_H=0
-DNEEDS_UIO=1 -Wall -fno-common -arch x86_64 -fexceptions -fno-common -pipe
-O3 -g -Wall -arch x86_64 -o cache.o -c cache.c
/usr/bin/gcc -I.
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2
-I.  -DRUBY_TYPE=MacRuby -DMACRUBY_RUBY -DRUBY_VERSION=1.9.2
-DRUBY_VERSION_MAJOR=1 -DRUBY_VERSION_MINOR=9 -DRUBY_VERSION_MICRO=2
-DHAS_RB_TIME_TIMESPEC=0 -DHAS_TM_GMTOFF=0 -DHAS_ENCODING_SUPPORT=0
-DHAS_PRIVATE_ENCODING=0 -DHAS_NANO_TIME=0 -DHAS_RSTRUCT=0
-DHAS_IVAR_HELPERS=0 -DHAS_PROC_WITH_BLOCK=0 -DHAS_TOP_LEVEL_ST_H=0
-DNEEDS_UIO=1 -Wall -fno-common -arch x86_64 -fexceptions -fno-common -pipe
-O3 -g -Wall -arch x86_64 -o cache8.o -c cache8.c
/usr/bin/gcc -I.
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2
-I.  -DRUBY_TYPE=MacRuby -DMACRUBY_RUBY -DRUBY_VERSION=1.9.2
-DRUBY_VERSION_MAJOR=1 -DRUBY_VERSION_MINOR=9 -DRUBY_VERSION_MICRO=2
-DHAS_RB_TIME_TIMESPEC=0 -DHAS_TM_GMTOFF=0 -DHAS_ENCODING_SUPPORT=0
-DHAS_PRIVATE_ENCODING=0 -DHAS_NANO_TIME=0 -DHAS_RSTRUCT=0
-DHAS_IVAR_HELPERS=0 -DHAS_PROC_WITH_BLOCK=0 -DHAS_TOP_LEVEL_ST_H=0
-DNEEDS_UIO=1 -Wall -fno-common -arch x86_64 -fexceptions -fno-common -pipe
-O3 -g -Wall -arch x86_64 -o cache8_test.o -c cache8_test.c
/usr/bin/gcc -I.
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2
-I.  -DRUBY_TYPE=MacRuby -DMACRUBY_RUBY -DRUBY_VERSION=1.9.2
-DRUBY_VERSION_MAJOR=1 -DRUBY_VERSION_MINOR=9 -DRUBY_VERSION_MICRO=2
-DHAS_RB_TIME_TIMESPEC=0 -DHAS_TM_GMTOFF=0 -DHAS_ENCODING_SUPPORT=0
-DHAS_PRIVATE_ENCODING=0 -DHAS_NANO_TIME=0 -DHAS_RSTRUCT=0
-DHAS_IVAR_HELPERS=0 -DHAS_PROC_WITH_BLOCK=0 -DHAS_TOP_LEVEL_ST_H=0
-DNEEDS_UIO=1 -Wall -fno-common -arch x86_64 -fexceptions -fno-common -pipe
-O3 -g -Wall -arch x86_64 -o cache_test.o -c cache_test.c
/usr/bin/gcc -I.
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/universal-darwin10.0
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2/ruby/backward
-I/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/include/ruby-1.9.2
-I.  -DRUBY_TYPE=MacRuby -DMACRUBY_RUBY -DRUBY_VERSION=1.9.2
-DRUBY_VERSION_MAJOR=1 -DRUBY_VERSION_MINOR=9 -DRUBY_VERSION_MICRO=2
-DHAS_RB_TIME_TIMESPEC=0 -DHAS_TM_GMTOFF=0 -DHAS_ENCODING_SUPPORT=0
-DHAS_PRIVATE_ENCODING=0 -DHAS_NANO_TIME=0 -DHAS_RSTRUCT=0
-DHAS_IVAR_HELPERS=0 -DHAS_PROC_WITH_BLOCK=0 -DHAS_TOP_LEVEL_ST_H=0
-DNEEDS_UIO=1 -Wall -fno-common -arch x86_64 -fexceptions -fno-common -pipe
-O3 -g -Wall -arch x86_64 -o dump.o -c dump.c
In file included from dump.c:39:
ox.h:190: error: expected specifier-qualifier-list before ‘rb_encoding’
dump.c: In function ‘dump_obj’:
dump.c:598: warning: initialization discards qualifiers from pointer target
type
dump.c:838: warning: initialization discards qualifiers from pointer target
type
dump.c: In function ‘dump_gen_nodes’:
dump.c:1108: warning: initialization discards qualifiers from pointer
target type
make: *** [dump.o] Error 1


Gem files will remain installed in
/Library/Ruby/Gems/MacRuby/0.12/gems/ox-1.9.4 for inspection.
Results logged to
/Library/Ruby/Gems/MacRuby/0.12/gems/ox-1.9.4/ext/ox/gem_make.out
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macruby-devel

Reply via email to