larsch / ocra

One-Click Ruby Application Builder
http://ocra.rubyforge.org/
833 stars 84 forks source link

.../gems/2.2.0/gems/i18n-0.7.0/lib/i18n/tests/basics.rb:8:in `test': unknown command 'a' (ArgumentError) #102

Open illtellyoulater opened 9 years ago

illtellyoulater commented 9 years ago

Windows 7, 64

ruby -v ruby 2.2.2p95 (2015-04-13 revision 50295) [x64-mingw32]

gem query ocra * LOCAL GEMS * ocra (1.3.5)

ocra my-script.rb --gemfile Gemfile === Loading script to check dependencies

// script running correctly till the end

=== Attempting to trigger autoload of I18n::Backend === Attempting to trigger autoload of I18n::Gettext === Attempting to trigger autoload of I18n::Locale === Attempting to trigger autoload of I18n::Tests === Attempting to trigger autoload of ActiveSupport::Multibyte::Chars === Attempting to trigger autoload of ActiveSupport::Multibyte::Unicode === Attempting to trigger autoload of Gem::ConfigFile === Attempting to trigger autoload of Gem::DependencyList === Attempting to trigger autoload of Gem::DependencyResolver === Attempting to trigger autoload of Gem::Installer === Attempting to trigger autoload of Gem::RequestSet === Attempting to trigger autoload of Gem::Source === Attempting to trigger autoload of Gem::SourceList === Attempting to trigger autoload of Gem::SpecFetcher === Attempting to trigger autoload of ThreadSafe::Util === Attempting to trigger autoload of ThreadSafe::JRubyCacheBackend === WARNING: ThreadSafe::JRubyCacheBackend was not loadable === Attempting to trigger autoload of ThreadSafe::AtomicReferenceCacheBackend === Attempting to trigger autoload of ThreadSafe::SynchronizedCacheBackend === Attempting to trigger autoload of ActiveSupport::Dependencies === Attempting to trigger autoload of ActiveSupport::DescendantsTracker === Attempting to trigger autoload of ActiveSupport::FileUpdateChecker === Attempting to trigger autoload of ActiveSupport::LogSubscriber === Attempting to trigger autoload of ActiveSupport::BacktraceCleaner === Attempting to trigger autoload of ActiveSupport::ProxyObject === Attempting to trigger autoload of ActiveSupport::Benchmarkable === Attempting to trigger autoload of ActiveSupport::Cache === Attempting to trigger autoload of ActiveSupport::Callbacks === Attempting to trigger autoload of ActiveSupport::Configurable === Attempting to trigger autoload of ActiveSupport::Gzip === Attempting to trigger autoload of ActiveSupport::KeyGenerator === Attempting to trigger autoload of ActiveSupport::MessageEncryptor === Attempting to trigger autoload of ActiveSupport::MessageVerifier === Attempting to trigger autoload of ActiveSupport::OrderedHash === Attempting to trigger autoload of ActiveSupport::TaggedLogging === Attempting to trigger autoload of ActiveSupport::Rescuable === Attempting to trigger autoload of ActiveSupport::TestCase === Attempting to trigger autoload of CGI::HtmlExtension === Attempting to trigger autoload of ActiveSupport::NumberHelper::NumberConverter === Attempting to trigger autoload of ActiveSupport::NumberHelper::NumberToRoundedConverter === Attempting to trigger autoload of ActiveSupport::NumberHelper::NumberToDelimitedConverter === Attempting to trigger autoload of ActiveSupport::NumberHelper::NumberToHumanConverter === Attempting to trigger autoload of ActiveSupport::NumberHelper::NumberToHumanSizeConverter === Attempting to trigger autoload of ActiveSupport::NumberHelper::NumberToPhoneConverter === Attempting to trigger autoload of ActiveSupport::NumberHelper::NumberToCurrencyConverter === Attempting to trigger autoload of ActiveSupport::NumberHelper::NumberToPercentageConverter === Attempting to trigger autoload of I18n::Backend::Base === Attempting to trigger autoload of I18n::Backend::InterpolationCompiler === Attempting to trigger autoload of I18n::Backend::Cache === Attempting to trigger autoload of I18n::Backend::Cascade === Attempting to trigger autoload of I18n::Backend::Chain === Attempting to trigger autoload of I18n::Backend::Fallbacks === Attempting to trigger autoload of I18n::Backend::Flatten === Attempting to trigger autoload of I18n::Backend::Gettext === Attempting to trigger autoload of I18n::Backend::KeyValue === Attempting to trigger autoload of I18n::Backend::Memoize === Attempting to trigger autoload of I18n::Backend::Metadata === Attempting to trigger autoload of I18n::Backend::Pluralization === Attempting to trigger autoload of I18n::Backend::Simple === Attempting to trigger autoload of I18n::Gettext::Helpers === Attempting to trigger autoload of I18n::Locale::Fallbacks === Attempting to trigger autoload of I18n::Locale::Tag === Attempting to trigger autoload of I18n::Tests::Basics C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.7.0/lib/i18n/tests/basics.rb:8:in test': unknown command 'a' (ArgumentError) from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.7.0/lib/i18n/tests/basics.rb:8:inmodule:Basics' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.7.0/lib/i18n/tests/basics.rb:3:in <module:Tests>' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.7.0/lib/i18n/tests/basics.rb:2:inmodule:I18n' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/i18n-0.7.0/lib/i18n/tests/basics.rb:1:in <top (required)>' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:477:inconst_get' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:477:in block (3 levels) in attempt_load_autoload' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:471:ineach' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:471:in block (2 levels) in attempt_load_autoload' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:469:ineach' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:469:in block in attempt_load_autoload' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:463:inloop' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:463:in attempt_load_autoload' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:715:inbuild_exe' from C:/Dev/Ruby22-x64/lib/ruby/gems/2.2.0/gems/ocra-1.3.5/bin/ocra:1177:in `block in <top (required)>'

Possibly related to https://github.com/larsch/ocra/issues/49 which in turn might be same issue at https://groups.google.com/d/msg/ruby-ocra/S_dFbT900CY/iMj1KskJlEIJ ? There is a also workaround there but I haven't tested it.

illtellyoulater commented 9 years ago

As explained in google group linked above, changing this (line 466 of "C:\Ruby22-x64\lib\ruby\gems\2.2.0\gems\ocra-1.3.5\bin\ocra"):

modules_to_check << mod unless modules_checked.include?(mod)

with

modules_to_check << mod unless modules_checked.include?(mod) if !mod.name == 'ThreadSafe::JRubyCacheBackend' solves the problem.

But then I am not sure if OCRA will still work when using JRuby...

ivanovaleksey commented 8 years ago

Same problem for me. If I replace code above or run ocra .. --no-autoload compiling is done. But exe file itself is not working. I am using faraday gem and it can find net/http even if I directly do require 'net\http' in my .rb file.