dubek / salsa20-ruby

Ruby bindings for the Salsa20 stream cipher algorithm
Other
4 stars 1 forks source link

salsa20 gem install error on rubygems Windows (error: invalid suffix "ui64" on integer constant, error: division by zero in #if) #3

Open mpgioia opened 2 years ago

mpgioia commented 2 years ago
gem install --verbose salsa20
HEAD https://index.rubygems.org/
200 OK
GET https://index.rubygems.org/info/salsa20
200 OK
Temporarily enhancing PATH for MSYS/MINGW...
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/.gitignore
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/.travis.yml
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/CHANGELOG
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/Gemfile
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/LICENSE
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/README.rdoc
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/Rakefile
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext/ecrypt-config.h
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext/ecrypt-machine.h
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext/ecrypt-portable.h
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext/ecrypt-sync.h
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext/extconf.rb
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext/salsa20.c
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext/salsa20_ext.c
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/lib/salsa20.rb
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/salsa20.gemspec
C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/test/salsa20_test.rb
Building native extensions. This could take a while...
current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
["C:/Program Files/Ruby30-x64/bin/ruby.exe", "-I", "C:/Program Files/Ruby30-x64/lib/ruby/3.0.0", "-r", "./siteconf20211012-268-fbcn41.rb", "extconf.rb"]
creating Makefile
current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
["make", "DESTDIR=", "clean"]

current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
["make", "DESTDIR="]
generating salsa20_ext-x64-mingw32.def
compiling salsa20.c
In file included from ecrypt-portable.h:23,
                 from ecrypt-sync.h:13,
                 from salsa20.c:7:
ecrypt-config.h:286:18: error: invalid suffix "ui64" on integer constant
  286 | #if (_UI64_MAX / 0xFFFFFFFFui64 > 0xFFFFFFFFui64)
      |                  ^~~~~~~~~~~~~~
ecrypt-config.h:286:16: error: division by zero in #if
  286 | #if (_UI64_MAX / 0xFFFFFFFFui64 > 0xFFFFFFFFui64)
      |                ^
ecrypt-config.h:286:35: error: invalid suffix "ui64" on integer constant
  286 | #if (_UI64_MAX / 0xFFFFFFFFui64 > 0xFFFFFFFFui64)
      |                                   ^~~~~~~~~~~~~~
make: *** [Makefile:245: salsa20.o] Error 1
ERROR:  Error installing salsa20:
        ERROR: Failed to build gem native extension.

    current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
C:/Program\ Files/Ruby30-x64/bin/ruby.exe -I C:/Program\ Files/Ruby30-x64/lib/ruby/3.0.0 -r ./siteconf20211012-268-fbcn41.rb extconf.rb
current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
make DESTDIR\= clean
current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
make DESTDIR\=
Building has failed. See above output for more information on the failure.
make failed, exit code 2

Gem files will remain installed in C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3 for inspection.
Results logged to C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/extensions/x64-mingw32/3.0.0/salsa20-0.1.3/gem_make.out
dubek commented 2 years ago

Can you please also paste the log saved in:

Results logged to C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/extensions/x64-mingw32/3.0.0/salsa20-0.1.3/gem_make.out
mpgioia commented 2 years ago
current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
C:/Program\ Files/Ruby30-x64/bin/ruby.exe -I C:/Program\ Files/Ruby30-x64/lib/ruby/3.0.0 -r ./siteconf20211012-268-fbcn41.rb extconf.rb
current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
make DESTDIR\= clean
current directory: C:/Program Files/Ruby30-x64/lib/ruby/gems/3.0.0/gems/salsa20-0.1.3/ext/salsa20_ext
make DESTDIR\=
Building has failed. See above output for more information on the failure.
make failed, exit code 2
dubek commented 2 years ago

I tried a small fix in ecrypt-config.h.

Try to download this: salsa20-0.1.4pre1.gem.zip extract the zip file, and then run:

gem install --verbose salsa20-0.1.4pre1.gem

Let's see if it helps.

mpgioia commented 2 years ago

So sorry ! Missed this reply ! Will try in the next day or so. תודה !