digest-sha3-ruby icon indicating copy to clipboard operation
digest-sha3-ruby copied to clipboard

Error installing gem on Ubuntu Servor

Open lmX2015 opened this issue 7 years ago • 10 comments

Hey, I tried to install the gem on an Ubuntu server in order to run ethereum.rb. But I got an error. This is the console report


sudo gem install digest-sha3 Building native extensions. This could take a while... ERROR: Error installing digest-sha3: ERROR: Failed to build gem native extension.

current directory: /var/lib/gems/2.3.0/gems/digest-sha3-1.1.0/ext/digest

/usr/bin/ruby2.3 -r ./siteconf20170620-36620-a9fw36.rb extconf.rb checking for ruby/digest.h... yes checking for rb_str_set_len()... yes creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/digest-sha3-1.1.0/mkmf.log

current directory: /var/lib/gems/2.3.0/gems/digest-sha3-1.1.0/ext/digest make "DESTDIR=" clean

current directory: /var/lib/gems/2.3.0/gems/digest-sha3-1.1.0/ext/digest make "DESTDIR=" compiling KeccakF-1600-reference.c compiling KeccakNISTInterface.c compiling KeccakSponge.c compiling displayIntermediateValues.c displayIntermediateValues.c: In function ‘displayText’: displayIntermediateValues.c:113:9: error: format not a string literal and no format arguments [-Werror=format-security] fprintf(intermediateValueFile, text); ^ cc1: some warnings being treated as errors Makefile:239: recipe for target 'displayIntermediateValues.o' failed make: *** [displayIntermediateValues.o] Error 1

make failed, exit code 2

It seems the command fprintf(intermediateValueFile, text); in intermediateValues.c does not precise the type of text variable thus raises a warning and stops the compiler (Ubuntu has not been compiling with such warning since some recent update).

Would simply remplace fprintf(intermediateValueFile, "%s", text) fix the issue ?

lmX2015 avatar Jun 20 '17 09:06 lmX2015

@lmX2015 Hello I'm currently facing the same issue. Have you been able to resolve it?

Eugenpaul avatar Jul 06 '17 14:07 Eugenpaul

@lmX2015 have you tested your proposed fix?

se3000 avatar Oct 24 '17 03:10 se3000

Hi, I hit this error today and confirm @lmX2015's fix is correct.

I pulled down the gem, unpacked it all, applied the fix, repacked the gem, and then installed that. Everything went through, and all appears to be working correctly.

jezhiggins avatar Oct 25 '17 14:10 jezhiggins

I was going to bash together a pull request, but somebody's already done it - PR 8 https://github.com/phusion/digest-sha3-ruby/pull/8 has this fix.

jezhiggins avatar Oct 25 '17 20:10 jezhiggins

same error.

xorgnak avatar Dec 06 '17 14:12 xorgnak

Added this to my Gemfile and it worked on ubuntu:

git "https://github.com/izetex/digest-sha3-ruby" do gem 'digest-sha3' end

Thanks @izetex !

alex-kampa avatar Feb 26 '18 22:02 alex-kampa

Thank you @alex-kampa !

mtomov avatar Mar 14 '18 17:03 mtomov

bundle config build.digest-sha3 --with-cflags="-Wno-format-security"

before bundle install

hardywu avatar Jan 06 '19 02:01 hardywu

If @hardywu answer did not work, and you still face cc1 (tigerlake) error, try updating gcc and g++ sudo apt install gcc-10 g++-10

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10

sudo update-alternatives --config gcc

nbsamar avatar Nov 22 '21 22:11 nbsamar

It's fixed in https://github.com/q9f/keccak.rb

https://rubygems.org/gems/keccak

q9f avatar Nov 23 '21 11:11 q9f