talek / vorax4

A simple yet powerful IDE for Oracle databases, built on top of the widely known Vim editor and Oracle SqlPLUS.
http://talek.github.io/vorax4
MIT License
53 stars 11 forks source link

Installation error on Windows during compilation of Ferret Gem #79

Open AlainVimmer opened 7 years ago

AlainVimmer commented 7 years ago

Hello,

I have tried installing vorax Gem on Windows 10 64 bits and Windows XP 64 bits, with Ruby 2.3. Everytime I get a compilation error for the Ferret Gem. Is there a configuration known to work with Windows and vim8 ?

Thank you in advance.

Sincerely, Alain

AlainVimmer commented 7 years ago

Following is the installation log with Ruby 2.3.0 32 bits on windows 10 64 bits


C:\Ruby23>ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [i386-mingw32]

C:\Ruby23>gem install vorax Fetching: mini_portile2-2.2.0.gem (100%) Successfully installed mini_portile2-2.2.0 Fetching: nokogiri-1.8.0-x86-mingw32.gem (100%) Nokogiri is built with the packaged libraries: libxml2-2.9.4, libxslt-1.1.29, zlib-1.2.11, libiconv-1.15. Successfully installed nokogiri-1.8.0-x86-mingw32 Fetching: ffi-1.9.18-x86-mingw32.gem (100%) Successfully installed ffi-1.9.18-x86-mingw32 Fetching: childprocess-0.7.1.gem (100%) Successfully installed childprocess-0.7.1 Fetching: structured_warnings-0.3.0.gem (100%) Successfully installed structured_warnings-0.3.0 Fetching: rubytree-0.9.7.gem (100%)

                Thank you for installing RubyTree.

Note:: As of 0.9.5, the Tree::TreeNode#add method has 'move' semantics.

Details of the API changes are documented in the API-CHANGES file.
========================================================================

Successfully installed rubytree-0.9.7 Fetching: ferret-0.11.8.7.gem (100%) Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing vorax: ERROR: Failed to build gem native extension.

current directory: c:/Ruby23/lib/ruby/gems/2.3.0/gems/ferret-0.11.8.7/ext

c:/Ruby23/bin/ruby.exe -r ./siteconf20170719-11712-16ggqlo.rb extconf.rb creating Makefile

current directory: c:/Ruby23/lib/ruby/gems/2.3.0/gems/ferret-0.11.8.7/ext make "DESTDIR=" clean

current directory: c:/Ruby23/lib/ruby/gems/2.3.0/gems/ferret-0.11.8.7/ext make "DESTDIR=" generating ferret_ext-i386-mingw32.def compiling analysis.c compiling array.c compiling bitvector.c compiling BZLIB_blocksort.c compiling BZLIB_bzlib.c compiling BZLIB_compress.c compiling BZLIB_crctable.c compiling BZLIB_decompress.c compiling BZLIB_huffman.c compiling BZLIB_randtable.c compiling compound_io.c compound_io.c: In function 'cmpdi_read_i': compound_io.c:136:9: warning: unknown conversion type character 'l' in format [-Wformat] compound_io.c:136:9: warning: unknown conversion type character 'l' in format [-Wformat] compound_io.c:136:9: warning: too many arguments for format [-Wformat-extra-args] compound_io.c: In function 'cw_copy_file': compound_io.c:325:9: warning: unknown conversion type character 'l' in format [-Wformat] compound_io.c:325:9: warning: too many arguments for format [-Wformat-extra-args] compound_io.c:334:9: warning: unknown conversion type character 'l' in format [-Wformat] compound_io.c:334:9: warning: unknown conversion type character 'l' in format [-Wformat] compound_io.c:334:9: warning: too many arguments for format [-Wformat-extra-args] compiling document.c compiling except.c compiling ferret.c ferret.c: In function 'frb_data_alloc': ferret.c:104:5: warning: 'rb_data_object_alloc' is deprecated (declared at c:/Ruby23/include/ruby-2.3.0/ruby/ruby.h:1421): by rb_data_object_wrap [-Wdeprecated-declarations] compiling field_index.c compiling filter.c compiling fs_store.c fs_store.c: In function 'fso_seek_i': fs_store.c:252:9: warning: unknown conversion type character 'l' in format [-Wformat] fs_store.c:252:9: warning: format '%s' expects argument of type 'char ', but argument 4 has type 'long long int' [-Wformat] fs_store.c:252:9: warning: too many arguments for format [-Wformat-extra-args] fs_store.c: In function 'fsi_seek_i': fs_store.c:306:9: warning: unknown conversion type character 'l' in format [-Wformat] fs_store.c:306:9: warning: format '%s' expects argument of type 'char ', but argument 4 has type 'long long int' [-Wformat] fs_store.c:306:9: warning: too many arguments for format [-Wformat-extra-args] fs_store.c: In function 'fs_store_new': fs_store.c:431:17: warning: unused variable 'stt' [-Wunused-variable] compiling global.c global.c: In function 'signal_to_string': global.c:403:14: error: 'SIGBUS' undeclared (first use in this function) global.c:403:14: note: each undeclared identifier is reported only once for each function it appears in global.c: In function 'frt_init': global.c:427:22: error: storage size of 'action' isn't known global.c:434:5: warning: implicit declaration of function 'sigemptyset' [-Wimplicit-function-declaration] global.c:437:5: error: storage size of 'old' isn't known global.c:437:5: warning: implicit declaration of function 'sigaction' [-Wimplicit-function-declaration] global.c:437:5: warning: unused variable 'old' [-Wunused-variable] global.c:438:5: error: storage size of 'old' isn't known global.c:438:5: warning: unused variable 'old' [-Wunused-variable] global.c:439:5: error: storage size of 'old' isn't known global.c:439:5: warning: unused variable 'old' [-Wunused-variable] global.c:440:5: error: storage size of 'old' isn't known global.c:440:5: error: 'SIGBUS' undeclared (first use in this function) global.c:440:5: warning: unused variable 'old' [-Wunused-variable] global.c:441:5: error: storage size of 'old' isn't known global.c:441:5: warning: unused variable 'old' [-Wunused-variable] global.c:427:22: warning: unused variable 'action' [-Wunused-variable] make: *** [global.o] Error 1

make failed, exit code 2

Gem files will remain installed in c:/Ruby23/lib/ruby/gems/2.3.0/gems/ferret-0.11.8.7 for inspection. Results logged to c:/Ruby23/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/ferret-0.11.8.7/gem_make.out

talek commented 7 years ago

Hi Alain,

Are you able to install sdsykes-ferret gem instead?

AlainVimmer commented 7 years ago

Hello, No success there, also a compilation issue (see below).

C:\Ruby23\DevtKit>gem install sdsykes-ferret Fetching: sdsykes-ferret-0.11.6.19.gem (100%) Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing sdsykes-ferret: ERROR: Failed to build gem native extension.

............... (compilation warnings)............ r_analysis.c: In function 'frt_rb_hash_size': r_analysis.c:63:5: warning: implicit declaration of function 'RHASH' [-Wimplicit-function-declaration] r_analysis.c:63:23: error: invalid type argument of '->' (have 'int') r_analysis.c: In function 'frt_add_mappings_i': r_analysis.c:1098:20: warning: assignment discards 'const' qualifier from pointer target type [enabled by default] r_analysis.c: In function 'frt_stem_filter_init': r_analysis.c:1178:23: warning: initialization discards 'const' qualifier from pointer target type [enabled by default] r_analysis.c: In function 'frt_rb_hash_size': r_analysis.c:64:1: warning: control reaches end of non-void function [-Wreturn-type] make: *** [r_analysis.o] Error 1

make failed, exit code 2

domidx commented 6 years ago

Hi talek

Does this have a solution? I have the same problem so I cannot install vorax :(

Thanks.

dbadev commented 6 years ago

Hello,

As long as you don't use the Oracle documentation in Vorax, you may skip installing the ferret gem. Individually install the following packages:

nokogiri childprocess rubytree

domidx commented 6 years ago

Hi

I installed those individually.

Then I tried to connect to a database using "VORAXConnect " but got following errors:

_Vorax cannot load its ruby buddy code! Vim(ruby):LoadError: cannot load such file -- ferret Maybe you need to install the vorax gem using: gem install vorax Error detected while processing C:\Program Files (x86)\Vim\vim80\autoload\vorax\sqlplus.vim: line 9: E117: Unknown function: vorax#ruby#SqlplusFork Error detected while processing function vorax#sqlplus#Connect[2]..29PrepareCstr: line 3: E117: Unknown function: vorax#ruby#ParseConnectionString E15: Invalid expression: vorax#ruby#ParseConnectionString(cst

I found the error message in autoload\vorax\ruby.vim file and commented out the line that checks vorax installation (line 24):

ruby require 'vorax'

Tried to connect again but got following errors:

_Error detected while processing function vorax#ruby#SqlplusFork: line 13: NameError: uninitialized constant Vorax::Sqlplus Error detected while processing function vorax#sqlplus#Connect[2]..29PrepareCstr[3]..vorax#ruby#ParseConnectionString: line 8: NameError: uninitialized constant Vorax::Parser

Please advise.

Thanks a lot!

domidx commented 6 years ago

The issue is closed now - does it mean the problem doesn't have a solution? :-( Thanks.

talek commented 6 years ago

I'm afraid so... I don't maintain ferret package therefore my hands are tied.

domidx commented 6 years ago

My understanding is that ferret package is used for the Oracle documentation. You also confirmed that because of the changes in the dox structure it is not really usable in Vorax anymore. Could you therefore remove dependencies on the ferret package maybe? :-) I really would like to try Vorax.. :-)

talek commented 6 years ago

You can try it now by installing the following gems:

gem install childprocess gem install nokogiri gem install rubytree

I agree that I need to declutter some of the leftovers... :)

domidx commented 6 years ago

The same trouble as described in my comment from 20th March :-(

Please please find some time and remove the dependency :-) If you do so, please keep me updated!

Thanks.

talek commented 6 years ago

What version do you use? It should be 4.3.55. See the g:vorax_version variable as it is defined in plugin/vorax.vim.

domidx commented 6 years ago

Yes, I have version 4.3.55.

let g:vorax_version = "4.3.55"