Coder Social home page Coder Social logo

Comments (4)

kubo avatar kubo commented on September 27, 2024 1

@pbisht-lab Could you try again with gem install --platform ruby ruby-oci8 -- --with-runtime-check?

Your ruby platform is i386-mingw32, so gem install without --platform ??? tries to install gem containing compiled binary files for x86-mingw32, whose minimum ruby version is 2.6. When --platform ruby is specified, it tries to install gem without compiled binary files.

In addition you need to get Oracle instant client for Windows 32 bit, instead of Windows x64 when ruby is 32-bit.

curl -O https://download.oracle.com/otn_software/nt/instantclient/218000/instantclient-basiclite-nt-21.8.0.0.0dbru.zip
curl -O https://download.oracle.com/otn_software/nt/instantclient/218000/instantclient-sdk-nt-21.8.0.0.0dbru.zip
tar xf instantclient-basiclite-nt-21.8.0.0.0dbru.zip
tar xf instantclient-sdk-nt-21.8.0.0.0dbru.zip
set PATH=%cd%\instantclient_21_8;%PATH%
gem install --platform ruby ruby-oci8 -- --with-runtime-check

from ruby-oci8.

kubo avatar kubo commented on September 27, 2024

@pbisht-lab
Could you install Oracle instant client basic (or basic lite) and sdk packages?

On Windows 10 build 17063 or later where bsdtar (not GNU tar) and curl are bundled:

curl -O https://download.oracle.com/otn_software/nt/instantclient/218000/instantclient-basiclite-windows.x64-21.8.0.0.0dbru.zip
curl -O https://download.oracle.com/otn_software/nt/instantclient/218000/instantclient-sdk-windows.x64-21.8.0.0.0dbru.zip
tar xf instantclient-basiclite-windows.x64-21.8.0.0.0dbru.zip
tar xf instantclient-sdk-windows.x64-21.8.0.0.0dbru.zip
set PATH=%cd%\instantclient_21_8;%PATH%
gem install ruby-oci8

Well, I have not tested above. I'm using linux now.

I think that ruby-oci8 runs with ruby 2.5.x. I removed ruby 2.5.x support from binary gems (2.2.12-x64-mingw32 and 2.2.12-x86-mingw32) because 2.5.x has not been maintained anymore.

from ruby-oci8.

kubo avatar kubo commented on September 27, 2024

@pbisht-lab
If you use Oracle clients whose version is lower than 18, you should use gem install ruby-oci8 -- --with-runtime-check instead of gem install ruby-oci8.

Ruby-oci8 compiled for Oracle client 21 doesn't run with Oracle client lower than 18 where oci.dll doesn't have OCIServerRelease2 function. When it is compiled with --with-runtime-check, it checks available functions at runtime.

from ruby-oci8.

pbisht-lab avatar pbisht-lab commented on September 27, 2024

Thank you @kubo for the detailed response :-)
When I try the above suggestion to use --with-runtime-check, gem installation still fails on Windows with below error. So for now, I have pinned this gem to 2.2.11 in our automation. So I am closing this issue as my query was answered.

C:\vagrant_data>ruby -v
ruby 2.5.9p229 (2021-04-05 revision 67939) [i386-mingw32]
C:\vagrant_data>gem install ruby-oci8 -- --with-runtime-check
Fetching: ruby-oci8-2.2.12-x86-mingw32.gem (100%)
ERROR: Error installing ruby-oci8:
The last version of ruby-oci8 (>= 0) to support your Ruby & RubyGems was 2.2.12. Try installing it with gem install ruby-oci8 -v 2.2.12
ruby-oci8 requires Ruby version >= 2.6.0. The current ruby version is 2.5.0.

from ruby-oci8.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.