Andrea Salicetti created JRUBY-6655: ---------------------------------------
Summary: Cannot build ruby-oci8 from native source Key: JRUBY-6655 URL: https://jira.codehaus.org/browse/JRUBY-6655 Project: JRuby Issue Type: Bug Affects Versions: JRuby 1.6.7 Environment: $>ruby -v #=> jruby 1.6.7 (ruby-1.8.7-p357) (2012-02-22 3e82bc8) (Java HotSpot(TM) Server VM 1.6.0_25) [linux-i386-java] $>echo $LD_LIBRARY_PATH #=> /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib $>echo $ORACLE_HOME #=> /usr/lib/oracle/xe/app/oracle/product/10.2.0/client $>uname -a Linux ******* 3.2.0-24-generic-pae #38-Ubuntu SMP Tue May 1 16:40:26 UTC 2012 i686 i686 i386 GNU/Linux $>gem -v #=> 1.8.15 Reporter: Andrea Salicetti Assignee: Thomas E Enebo When i run: $>gem install ruby-oci8 to install gem ruby-oci8, I got this error: Building native extensions. This could take a while... ERROR: Error installing ruby-oci8: ERROR: Failed to build gem native extension. /var/cache/ruby-rvm/rubies/jruby-1.6.7/bin/jruby extconf.rb WARNING: JRuby does not support native extensions or the `mkmf' library very well. Check http://kenai.com/projects/jruby/pages/Home for alternatives. checking for load library path... LD_LIBRARY_PATH... checking /home/**********/Programmi/jdk1.6.0_25/jre/lib/i386/server... no checking /home/**********/Programmi/jdk1.6.0_25/jre/lib/i386... no checking /home/**********/Programmi/jdk1.6.0_25/jre/../lib/i386... no checking /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib... yes /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1 looks like a full client. checking for cc... ok checking for gcc... yes checking for LP64... no checking for sys/types.h... yes checking for ruby header... ok Get the version of Oracle from SQL*Plus... 1020 try -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public checking for oci.h... yes checking for OCIInitialize() in oci.h... yes checking for Oracle 8.1.0 API - start checking for OCIEnvCreate()... yes checking for OCILobClose()... yes checking for OCILobCreateTemporary()... yes checking for OCILobFreeTemporary()... yes checking for OCILobGetChunkSize()... yes checking for OCILobIsTemporary()... yes checking for OCILobLocatorAssign()... yes checking for OCILobOpen()... yes checking for OCIMessageGet()... yes checking for OCIMessageOpen()... yes checking for OCINumberIsInt()... yes checking for OCINumberPrec()... yes checking for OCINumberSetPi()... yes checking for OCINumberShift()... yes checking for OCINumberSign()... yes checking for OCIReset()... yes checking for Oracle 8.1.0 API - pass checking for Oracle 9.0.0 API - start checking for OCIConnectionPoolCreate()... yes checking for OCIConnectionPoolDestroy()... yes checking for OCIDateTimeConstruct()... yes checking for OCIDateTimeGetDate()... yes checking for OCIDateTimeGetTime()... yes checking for OCIDateTimeGetTimeZoneOffset()... yes checking for OCIIntervalFromText()... yes checking for OCIIntervalGetDaySecond()... yes checking for OCIIntervalGetYearMonth()... yes checking for OCIIntervalSetDaySecond()... yes checking for OCIIntervalSetYearMonth()... yes checking for OCILogon2()... yes checking for OCIRowidToChar()... yes checking for OCIServerRelease()... yes checking for Oracle 9.0.0 API - pass checking for Oracle 9.2.0 API - start checking for OCINlsCharSetIdToName()... yes checking for OCINlsCharSetNameToId()... yes checking for OCIStmtPrepare2()... yes checking for OCIStmtRelease()... yes checking for Oracle 9.2.0 API - pass checking for Oracle 10.1.0 API - start checking for OCILobGetLength2()... yes checking for OCILobRead2()... yes checking for OCILobTrim2()... yes checking for OCILobWrite2()... yes checking for Oracle 10.1.0 API - pass checking for Oracle 10.2.0 API - start checking for OCIClientVersion()... yes checking for OCIDBShutdown()... yes checking for OCIDBStartup()... yes checking for OCIPing()... yes checking for Oracle 10.2.0 API - pass checking for Oracle 11.1.0 API - start checking for OCIArrayDescriptorAlloc()... no checking for Oracle 11.1.0 API - fail checking for oratext in ociap.h... yes checking for OCIDateTime* in ociap.h... yes checking for OCIInterval* in ociap.h... yes checking for OCICallbackLobRead2 in ociap.h... yes checking for OCICallbackLobWrite2 in ociap.h... yes checking for OCIAdmin* in ociap.h... yes checking for OCIAuthInfo* in ociap.h... yes checking for OCIMsg* in ociap.h... yes checking for OCICPool* in ociap.h... yes checking for localtime_r()... checking for intern.h... yes checking for util.h... no checking for ruby/util.h... no checking for rb_encoding in ruby/ruby.h,ruby/encoding.h... no checking for ruby_errinfo in ruby.h... no checking for rb_errinfo() in ruby.h... no checking for rb_blocking_function_t* in ruby.h... yes checking for rb_set_end_proc() in ruby.h... no checking for rb_class_superclass() in ruby.h... no checking for rb_thread_blocking_region() in ruby.h... creating ../../lib/oci8.rb from ./../../lib/oci8.rb.in creating extconf.h creating Makefile make cc -I. -I. -I/var/cache/ruby-rvm/rubies/jruby-1.6.7/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\extconf.h\ -fPIC -fno-omit-frame-pointer -fno-strict-aliasing -fexceptions -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public -Wall -m32 -c oci8lib.c cc -I. -I. -I/var/cache/ruby-rvm/rubies/jruby-1.6.7/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\extconf.h\ -fPIC -fno-omit-frame-pointer -fno-strict-aliasing -fexceptions -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public -Wall -m32 -c env.c env.c: In function 'Init_oci8_env': env.c:151:17: warning: implicit declaration of function 'ruby_strdup' [-Wimplicit-function-declaration] env.c:151:22: warning: assignment makes pointer from integer without a cast [enabled by default] env.c:153:17: warning: implicit declaration of function 'ruby_setenv' [-Wimplicit-function-declaration] cc -I. -I. -I/var/cache/ruby-rvm/rubies/jruby-1.6.7/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\extconf.h\ -fPIC -fno-omit-frame-pointer -fno-strict-aliasing -fexceptions -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public -Wall -m32 -c error.c error.c: In function 'oci8_do_raise_by_msgno': error.c:279:1: warning: 'noreturn' function does return [enabled by default] error.c: In function 'oci8_do_raise_init_error': error.c:244:1: warning: 'noreturn' function does return [enabled by default] error.c: In function 'oci8_do_env_raise': error.c:236:1: warning: 'noreturn' function does return [enabled by default] cc -I. -I. -I/var/cache/ruby-rvm/rubies/jruby-1.6.7/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\extconf.h\ -fPIC -fno-omit-frame-pointer -fno-strict-aliasing -fexceptions -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public -Wall -m32 -c oci8.c oci8.c: In function 'oci8_do_parse_connect_string': oci8.c:193:5: warning: implicit declaration of function 'SafeStringValue' [-Wimplicit-function-declaration] oci8.c:194:5: warning: implicit declaration of function 'rb_reg_match' [-Wimplicit-function-declaration] oci8.c:195:9: warning: implicit declaration of function 'rb_backref_get' [-Wimplicit-function-declaration] oci8.c: In function 'oci8_break': oci8.c:735:5: warning: implicit declaration of function 'rb_thread_wakeup' [-Wimplicit-function-declaration] cc -I. -I. -I/var/cache/ruby-rvm/rubies/jruby-1.6.7/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\extconf.h\ -fPIC -fno-omit-frame-pointer -fno-strict-aliasing -fexceptions -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public -Wall -m32 -c ocihandle.c ocihandle.c: In function 'oci8_s_allocate': ocihandle.c:83:9: warning: implicit declaration of function 'RCLASS' [-Wimplicit-function-declaration] ocihandle.c:83:22: error: invalid type argument of '->' (have 'int') ocihandle.c: In function 'attr_set_string': ocihandle.c:756:5: warning: implicit declaration of function 'SafeStringValue' [-Wimplicit-function-declaration] make: *** [ocihandle.o] Errore 1 Gem files will remain installed in /usr/share/ruby-rvm/gems/jruby-1.6.7@torquebox/gems/ruby-oci8-2.1.2 for inspection. Results logged to /usr/share/ruby-rvm/gems/jruby-1.6.7@torquebox/gems/ruby-oci8-2.1.2/ext/oci8/gem_make.out I've already opened an Issue on ruby-oci8 project on RubyForge (see here: http://rubyforge.org/tracker/?func=detail&atid=1051&aid=29569&group_id=256), but they reply to me this: "This ins't a ruby-oci8 issue. You need to request the jruby developers to implemnt at least the following missing functions and macros. - ruby_strdup - ruby_setenv - SafeStringValue - rb_reg_match - rb_backref_get - rb_thread_wakeup - RCLASS " -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email