Forum: JRuby Error after clean install on Windows

6d01c197a6f250e6c2a39bf03aec4bb4?d=identicon&s=25 Max M. (max_m)
on 2013-11-12 20:47
Hello,

I have a problem with my JRuby installation. I just installed JRuby
1.7.6 exe+jre(x64) on Windows 8 64-bit and tried to execute

"jruby -S gem list --local"

This gave me the following error message:


C:\>jruby -S gem list --local
ERROR:  Loading command: list (LoadError)
        Could not load FFI Provider: (NotImplementedError) FFI not
available: null
 See http://jira.codehaus.org/browse/JRUBY-4583
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass


If I type "jruby --version" i get the following output:

C:\>jruby --version
jruby 1.7.6 (1.9.3p392) 2013-10-22 6004147 on Java HotSpot(TM) 64-Bit
Server VM
1.7.0_11-b21 [Windows 8-amd64]

which indicated to me that ruby and Java are installed correctly. I have
developed and run some Java applications on this computer so Java should
be fine.

Do anybody have an idea what might cause the problem?
6d01c197a6f250e6c2a39bf03aec4bb4?d=identicon&s=25 Max M. (max_m)
on 2013-11-19 18:41
After trying everything, including uninstalling java/jruby and
installing all possible combinations (32/64bit) it still produces the
same error.

I tried to install the latest JRuby on the servers in my Company and it
failed on all tested Machines (including one VM; we use Windows 8 x64
exclusively).

I have doubts to believe that the fact, that JRuby package is not
compatible with Windows 8 would be unknown for that period of time.

I would appreciate it if someone who has Windows 8 x64 could confirm
that JRuby actually works and it is a problem caused by some local
configurations of the it department.
6d01c197a6f250e6c2a39bf03aec4bb4?d=identicon&s=25 Max M. (max_m)
on 2013-11-19 19:05
As I just found out JRuby 1.6.8 works perfectly. This issue only occurs
in JRuby 1.7.6/1.7.8. So it seems to be a bug after all.
D469019a435a5dbd5c792016fdf67a0b?d=identicon&s=25 Jon Forums (jonm)
on 2013-11-19 21:25
(Received via mailing list)
On Tue, Nov 19, 2013 at 1:05 PM, Max M. <lists@ruby-forum.com> wrote:

> As I just found out JRuby 1.6.8 works perfectly. This issue only occurs
> in JRuby 1.7.6/1.7.8. So it seems to be a bug after all.
>
>
Looks like it's something on your system.

On my Win8.1 64-bit system I just tried a fresh install using this wacky
manual setup

1) Extract oracle's server jre to `C:\Apps\jdk1.7.0_45`
2) Extract jruby 1.7.8 to `C:\Apps\jruby`
3) Set non-PATH envars

C:\>set j
JAVA_HOME=C:\Apps\jdk1.7.0_45\jre
JDK_HOME=C:\Apps\jdk1.7.0_45

4) set PATH=%PATH%;C:\Apps\jruby\bin

...and these quicktests run with no errors:

C:\>jruby -v -e "puts 'Hello Win8.1 x86_64 from JRuby'"
jruby 1.7.8 (1.9.3p392) 2013-11-14 0ce429e on Java HotSpot(TM) 64-Bit
Server VM 1.7.0_45-b18 [Windows 8-amd64]
Hello Win8.1 x86_64 from JRuby


C:\>jruby -S gem li

*** LOCAL GEMS ***

rake (10.1.0)


C:\>jruby -S gem --version
2.1.9


C:\>jruby -S gem li rubygems-update -r

*** REMOTE GEMS ***

rubygems-update (2.1.11)
6d01c197a6f250e6c2a39bf03aec4bb4?d=identicon&s=25 Max M. (max_m)
on 2013-11-19 23:12
Ok. I removed all Java versions and jruby from my computer and did
exactly the same. Here are the results:

C:\>set j
JAVA_HOME=C:\Apps\jdk1.7.0_45\jre
JDK_HOME=C:\Apps\jdk1.7.0_45


C:\>set path
Path=...;c:\Apps\jruby-1.7.8\bin;...


C:\>jruby -v -e "puts 'Hello Win8 x86_64 from JRuby'"
jruby 1.7.8 (1.9.3p392) 2013-11-14 0ce429e on Java HotSpot(TM) 64-Bit
Server VM
1.7.0_45-b18 [Windows 8-amd64]
Hello Win8 x86_64 from JRuby


C:\>jruby -S gem li
ERROR:  Loading command: list (LoadError)
        Could not load FFI Provider: (NotImplementedError) FFI not
available: nu
ll
 See http://jira.codehaus.org/browse/JRUBY-4583
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass


C:\>jruby -S gem --version
2.1.9


C:\>jruby -S gem li rubygems-update -r
ERROR:  Loading command: list (LoadError)
        Could not load FFI Provider: (NotImplementedError) FFI not
available: nu
ll
 See http://jira.codehaus.org/browse/JRUBY-4583
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass


As can be clearly seen here I can access Java methods from JRuby:

C:\>jruby -v -e "java.lang.System.out.println 'Hello Win8 x86_64 from
JRuby'"
jruby 1.7.8 (1.9.3p392) 2013-11-14 0ce429e on Java HotSpot(TM) 64-Bit
Server VM
1.7.0_45-b18 [Windows 8-amd64]
Hello Win8 x86_64 from JRuby


As I have already mentioned these issues do not occur with JRuby 1.6.8.
Because of this I have some concerns to believe that the system is to
blame. Also I tested on some other Windows 8 computers and the error
remains. I will check if I can reproduce this error on a Win8.1 machine
as soon as I can get access to one.
2c0c4cf3ccc8da22f7c3b9586ce1cd70?d=identicon&s=25 Christian MICHON (Guest)
on 2013-11-19 23:26
(Received via mailing list)
Have you also removed all gems?
6d01c197a6f250e6c2a39bf03aec4bb4?d=identicon&s=25 Max M. (max_m)
on 2013-11-19 23:38
I deleted the JRuby folder and reinstalled it from jruby.org after every
attempt. I tried exe, exe(64), zip, exe+jre(64) and exe+jre. I also
installed it on different harddrives and my home folder to see if that
changes something. The machine I am currently on is used regularly for
java development and similar issues were never reported before.
D469019a435a5dbd5c792016fdf67a0b?d=identicon&s=25 Jon Forums (jonm)
on 2013-11-20 00:45
(Received via mailing list)
On Tue, Nov 19, 2013 at 5:38 PM, Max M. <lists@ruby-forum.com> wrote:

> I deleted the JRuby folder and reinstalled it from jruby.org after every
> attempt. I tried exe, exe(64), zip, exe+jre(64) and exe+jre. I also
> installed it on different harddrives and my home folder to see if that
> changes something. The machine I am currently on is used regularly for
> java development and similar issues were never reported before.
>
>
See if there's anything odd in environment that's confusing rubygems.
Maybe
an old `GEM_HOME` envar or similar?

Show the results of running both `set` and `jruby -S gem env`
D469019a435a5dbd5c792016fdf67a0b?d=identicon&s=25 Jon Forums (jonm)
on 2013-11-20 00:56
(Received via mailing list)
On Tue, Nov 19, 2013 at 6:44 PM, Jon <jon.forums@gmail.com> wrote:

> See if there's anything odd in environment that's confusing rubygems.
> Maybe an old `GEM_HOME` envar or similar?
>
> Show the results of running both `set` and `jruby -S gem env`
>
>
I'm reaching, but could an old `.jrubyrc` file be causing problems?

If you've got one in the normal location, show it's contents as well

C:\>cd %USERPROFILE% && type .jrubyrc
6d01c197a6f250e6c2a39bf03aec4bb4?d=identicon&s=25 Max M. (max_m)
on 2013-11-20 17:47
I tried to delete everything that could be related to ruby before
reinstalling it.

Here is the result of the commands:

C:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\*****\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=*****
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
GNUPLOT_LIB=C:\Program Files (x86)\gnuplot\demo
GTK_BASEPATH=C:\Program Files (x86)\GtkSharp\2.12\
HOMEDRIVE=C:
HOMEPATH=\Users\*****
JAVA_HOME=C:\Apps\jdk1.7.0_45\jre
JDK_HOME=C:\Apps\jdk1.7.0_45
LOCALAPPDATA=C:\Users\*****\AppData\Local
LOGONSERVER=\\*****
M2_HOME=C:\Program Files\SpringSource\apache-maven-3.0.4
NUMBER_OF_PROCESSORS=6
OS=Windows_NT
Path=C:\Program Files\ImageMagick-6.8.6-Q16;C:\Program Files
(x86)\NVIDIA
Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
Files\MiKTeX 2.9\miktex\bin\x64\;C:\mingw32\bin;C:\Program Files
(x86)\CMake 2.8\bin;C:\mingw32\msys\bin;C:\Program
Files\SpringSource\apache-maven-3.0.4\bin;C:\Program Files\Microsoft SQL
Server\110\Tools\Binn\;C:\Program Files
(x86)\GNU\GnuPG\pub;C:\mingw64\bin;C:\Program Files\nodejs\;C:\Program
Files\MATLAB\R2012b\runtime\win64;C:\Program
Files\MATLAB\R2012b\bin;C:\Program Files (x86)\git\cmd;C:\Program Files
(x86)\mplayer;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Program Files
(x86)\nasm;C:\Program Files (x86)\WinSCP\;C:\Program
Files\TortoiseSVN\bin;C:\Program Files
(x86)\gnuplot\bin;c:\Apps\jruby-1.7.8\bin;C:\Users\*****\AppData\Roaming\npm
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.RB;.RBW;.RB;.RBW
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 16 Model 10 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=16
PROCESSOR_REVISION=0a00
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SAL_ACCESSIBILITY_ENABLED=1
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\*****\AppData\Local\Temp
TMP=C:\Users\*****\AppData\Local\Temp
USERDOMAIN=*****
USERDOMAIN_ROAMINGPROFILE=*****
USERNAME=*****
USERPROFILE=C:\Users\*****
VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio
11.0\Common7\Tools\
VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio
9.0\Common7\Tools\
windir=C:\Windows



C:\>jruby -S gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.1.9
  - RUBY VERSION: 1.9.3 (2013-11-14 patchlevel 392) [java]
  - INSTALLATION DIRECTORY: c:/Apps/jruby-1.7.8/lib/ruby/gems/shared
  - RUBY EXECUTABLE: c:/Apps/jruby-1.7.8/bin/jruby.exe
  - EXECUTABLE DIRECTORY: c:/Apps/jruby-1.7.8/bin
  - SPEC CACHE DIRECTORY: C:/Users/*****/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.7
  - GEM PATHS:
     - c:/Apps/jruby-1.7.8/lib/ruby/gems/shared
     - C:/Users/*****/.gem/jruby/1.9
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri --env-shebang"
     - "update" => "--no-rdoc --no-ri --env-shebang"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - C:\Program Files\ImageMagick-6.8.6-Q16
     - C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
     - C:\Windows\system32
     - C:\Windows
     - C:\Windows\System32\Wbem
     - C:\Windows\System32\WindowsPowerShell\v1.0\
     - C:\Program Files\MiKTeX 2.9\miktex\bin\x64\
     - C:\mingw32\bin
     - C:\Program Files (x86)\CMake 2.8\bin
     - C:\mingw32\msys\bin
     - C:\Program Files\SpringSource\apache-maven-3.0.4\bin
     - C:\Program Files\Microsoft SQL Server\110\Tools\Binn\
     - C:\Program Files (x86)\GNU\GnuPG\pub
     - C:\mingw64\bin
     - C:\Program Files\nodejs\
     - C:\Program Files\MATLAB\R2012b\runtime\win64
     - C:\Program Files\MATLAB\R2012b\bin
     - C:\Program Files (x86)\git\cmd
     - C:\Program Files (x86)\mplayer
     - C:\Program Files (x86)\GtkSharp\2.12\bin
     - C:\Program Files (x86)\nasm
     - C:\Program Files (x86)\WinSCP\
     - C:\Program Files\TortoiseSVN\bin
     - C:\Program Files (x86)\gnuplot\bin
     - c:\Apps\jruby-1.7.8\bin
     - C:\Users\*****\AppData\Roaming\npm


C:\>cd %USERPROFILE% && type .jrubyrc
The system cannot find the file specified.
D469019a435a5dbd5c792016fdf67a0b?d=identicon&s=25 Jon Forums (jonm)
on 2013-11-20 18:29
(Received via mailing list)
On Wed, Nov 20, 2013 at 11:47 AM, Max M. <lists@ruby-forum.com> wrote:

> CommonProgramW6432=C:\Program Files\Common Files
> LOGONSERVER=\\*****
> Server\110\Tools\Binn\;C:\Program Files
> PROCESSOR_ARCHITECTURE=AMD64
> SAL_ACCESSIBILITY_ENABLED=1
> VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio
>   - RUBY VERSION: 1.9.3 (2013-11-14 patchlevel 392) [java]
>   - GEM CONFIGURATION:
>      - C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
>      - C:\Program Files (x86)\GNU\GnuPG\pub
>      - C:\Program Files (x86)\gnuplot\bin
>      - c:\Apps\jruby-1.7.8\bin
>      - C:\Users\*****\AppData\Roaming\npm
>
>
> C:\>cd %USERPROFILE% && type .jrubyrc
> The system cannot find the file specified.
>
>
Odd. Nothing jumps out at me, but you have a *lot* of stuff on your
default
PATH

Let's try a couple more things: (1) try a minimal path, and (2) see if
you've got anything in cmd.exe's AutoRun setting.

First, set a minimal PATH and try things again. Here's the environment
on
my machine that still appears to be working:

C:\>set
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Apps\jruby\bin

C:\>echo %PATH%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Apps\jruby\bin

C:\>jruby -S gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.1.11
  - RUBY VERSION: 1.9.3 (2013-11-14 patchlevel 392) [java]
  - INSTALLATION DIRECTORY: C:/Apps/jruby/lib/ruby/gems/shared
  - RUBY EXECUTABLE: C:/Apps/jruby/bin/jruby.exe
  - EXECUTABLE DIRECTORY: C:/Apps/jruby/bin
  - SPEC CACHE DIRECTORY: C:/Users/Jon/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.7
  - GEM PATHS:
     - C:/Apps/jruby/lib/ruby/gems/shared
     - C:/Users/Jon/.gem/jruby/1.9
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri --env-shebang"
     - "update" => "--no-rdoc --no-ri --env-shebang"
     - "gem" => "--no-ri --no-rdoc"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - C:\WINDOWS\system32
     - C:\WINDOWS
     - C:\WINDOWS\System32\Wbem
     - C:\Apps\jruby\bin
     - .
     -
     - .

C:\Users\Jon\Documents>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Jon\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=BLACK
ComSpec=C:\WINDOWS\system32\cmd.exe
configsetroot=C:\WINDOWS\ConfigSetRoot
FP_NO_HOST_CHECK=NO
HOME=C:\Users\Jon
HOMEDRIVE=C:
HOMEPATH=\Users\Jon
JAVA_HOME=C:\Apps\jdk1.7.0_45\jre
JDK_HOME=C:\Apps\jdk1.7.0_45
LOCALAPPDATA=C:\Users\Jon\AppData\Local
LOGONSERVER=\\BLACK
NUMBER_OF_PROCESSORS=8
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Apps\jruby\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3a09
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
READYAPPS=C:\ProgramData\Lenovo\ReadyApps
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\Jon\AppData\Local\Temp
TMP=C:\Users\Jon\AppData\Local\Temp
TVT=C:\Program Files (x86)\Lenovo
USERDOMAIN=Black
USERDOMAIN_ROAMINGPROFILE=Black
USERNAME=Jon
USERPROFILE=C:\Users\Jon
VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio
11.0\Common7\Tools\
VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio
12.0\Common7\Tools\
windir=C:\WINDOWS


Lastly, see if your system has anything in the AutoRun registry setting
that may conflict. The following is from my system and shows there is no
AutoRun key. If you see an AutoRun key in your listing, delete it and
try
again as AutoRun tweaks have been known to cause various types of
problems
with gem installations and other things.

C:\>reg query "HKLM\Software\Microsoft\Command Processor" /s

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
    PathCompletionChar    REG_DWORD    0x40
    EnableExtensions    REG_DWORD    0x1
    CompletionChar    REG_DWORD    0x40
    DefaultColor    REG_DWORD    0x0


C:\>reg query "HKCU\Software\Microsoft\Command Processor" /s

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
    PathCompletionChar    REG_DWORD    0x9
    EnableExtensions    REG_DWORD    0x1
    CompletionChar    REG_DWORD    0x9
    DefaultColor    REG_DWORD    0x0
2c0c4cf3ccc8da22f7c3b9586ce1cd70?d=identicon&s=25 Christian MICHON (Guest)
on 2013-11-20 20:18
(Received via mailing list)
Delete the .gem folder in your home path. It might contain the ffi gem.

Have you installed jruby 9000 on this machine? I saw similar traces due
to
ffi.

On Nov 20, 2013 5:47 PM, "Max M." <lists@ruby-forum.com> wrote:
> CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
> LOCALAPPDATA=C:\Users\*****\AppData\Local
> LOGONSERVER=\\*****
> M2_HOME=C:\Program Files\SpringSource\apache-maven-3.0.4
> NUMBER_OF_PROCESSORS=6
> OS=Windows_NT
> Path=C:\Program Files\ImageMagick-6.8.6-Q16;C:\Program Files
> (x86)\NVIDIA
>
Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
>
(x86)\gnuplot\bin;c:\Apps\jruby-1.7.8\bin;C:\Users\*****\AppData\Roaming\npm
>
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.RB;.RBW;.RB;.RBW
6d01c197a6f250e6c2a39bf03aec4bb4?d=identicon&s=25 Max M. (max_m)
on 2013-11-21 15:31
Long story short: I backed up all important files and recreated the user
account on all machines where the error occurred. Now everything works.

It seems that something someone installed leaved a configuration that
causes problems with jruby 1.7. 1.6 worked without problems on all
machines.

I previously deleted the .gem folder and everything that could be
related to ruby configurations and the error still occurred.

Anyway thank you for all your help to this point.
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.