Failed to install fastlane via gem

Hi,

I had problems installing, for example fastlane with gem and I was unable to find a solution for this problem.

I ran the following:

$ gem install fastlane
Fetching atomos-0.1.3.gem
Fetching CFPropertyList-3.0.2.gem
Fetching claide-1.0.3.gem
Fetching slack-notifier-2.3.2.gem
Fetching rouge-2.0.7.gem
Fetching colored2-3.1.2.gem
Fetching nanaimo-0.3.0.gem
Fetching xcodeproj-1.18.0.gem
Fetching xcpretty-0.3.0.gem
Fetching terminal-notifier-2.0.0.gem
Fetching unicode-display_width-1.7.0.gem
Fetching terminal-table-1.8.0.gem
Fetching plist-3.5.0.gem
Fetching public_suffix-4.0.6.gem
Fetching addressable-2.7.0.gem
Fetching multipart-post-2.0.0.gem
Fetching word_wrap-1.0.0.gem
Fetching tty-screen-0.8.1.gem
Fetching tty-cursor-0.7.1.gem
Fetching tty-spinner-0.9.3.gem
Fetching babosa-1.0.3.gem
Fetching colored-1.2.gem
Fetching highline-1.7.10.gem
Fetching commander-fastlane-4.4.6.gem
Fetching excon-0.76.0.gem
Fetching faraday-1.0.1.gem
Fetching unf-0.1.4.gem
Fetching domain_name-0.5.20190701.gem
Fetching http-cookie-1.0.3.gem
Fetching faraday-cookie_jar-0.0.7.gem
Fetching faraday_middleware-1.0.0.gem
Fetching fastimage-2.2.0.gem
Fetching gh_inspector-1.1.3.gem
Fetching mini_magick-4.10.1.gem
Fetching rubyzip-2.3.0.gem
Fetching security-0.1.3.gem
Fetching xcpretty-travis-formatter-1.0.0.gem
Fetching dotenv-2.7.6.gem
Fetching bundler-2.1.4.gem
Fetching naturally-2.2.0.gem
Fetching simctl-1.6.8.gem
Fetching jwt-2.2.2.gem
Fetching declarative-option-0.1.0.gem
Fetching declarative-0.0.20.gem
Fetching uber-0.1.0.gem
Fetching representable-3.0.4.gem
Fetching retriable-3.1.2.gem
Fetching mini_mime-1.0.2.gem
Fetching multi_json-1.15.0.gem
Fetching signet-0.14.0.gem
Fetching memoist-0.16.2.gem
Fetching os-1.1.1.gem
Fetching googleauth-0.13.1.gem
Fetching httpclient-2.8.3.gem
Fetching google-api-client-0.38.0.gem
Fetching google-cloud-env-1.3.3.gem
Fetching google-cloud-errors-1.0.1.gem
Fetching google-cloud-core-1.5.0.gem
Fetching rake-13.0.1.gem
Fetching digest-crc-0.6.1.gem
Fetching google-cloud-storage-1.29.1.gem
Fetching emoji_regex-3.0.0.gem
Fetching jmespath-1.4.0.gem
Fetching aws-partitions-1.380.0.gem
Fetching fastlane-2.162.0.gem
Fetching aws-eventstream-1.1.0.gem
Fetching aws-sigv4-1.2.2.gem
Fetching aws-sdk-core-3.109.1.gem
Fetching aws-sdk-kms-1.39.0.gem
Fetching aws-sdk-s3-1.83.0.gem
WARNING:  You don't have /home/bastian/.gem/ruby/2.7.0/bin in your PATH,
          gem executables will not run.
Successfully installed slack-notifier-2.3.2
Successfully installed atomos-0.1.3
Successfully installed CFPropertyList-3.0.2
Successfully installed claide-1.0.3
Successfully installed colored2-3.1.2
Successfully installed nanaimo-0.3.0
Successfully installed xcodeproj-1.18.0
Successfully installed rouge-2.0.7
Successfully installed xcpretty-0.3.0
Successfully installed terminal-notifier-2.0.0
Successfully installed unicode-display_width-1.7.0
Successfully installed terminal-table-1.8.0
Successfully installed plist-3.5.0
Successfully installed public_suffix-4.0.6
Successfully installed addressable-2.7.0
Successfully installed multipart-post-2.0.0
Successfully installed word_wrap-1.0.0
Successfully installed tty-screen-0.8.1
Successfully installed tty-cursor-0.7.1
Successfully installed tty-spinner-0.9.3
Successfully installed babosa-1.0.3
Successfully installed colored-1.2
Successfully installed highline-1.7.10
Successfully installed commander-fastlane-4.4.6
Successfully installed excon-0.76.0
Successfully installed faraday-1.0.1
Building native extensions. This could take a while...
ERROR:  Error installing fastlane:
        ERROR: Failed to build gem native extension.

    current directory: /home/bastian/.gem/ruby/2.7.0/gems/unf_ext-0.0.7.7/ext/unf_ext
/usr/bin/ruby -I /usr/lib/ruby/2.7.0 -r ./siteconf20201006-111535-rn8bp2.rb extconf.rb
checking for -lstdc++... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/bin/$(RUBY_BASE_NAME)
        --with-static-libstdc++
        --without-static-libstdc++
        --with-stdc++-dir
        --without-stdc++-dir
        --with-stdc++-include
        --without-stdc++-include=${stdc++-dir}/include
        --with-stdc++-lib
        --without-stdc++-lib=${stdc++-dir}/lib
        --with-stdc++lib
        --without-stdc++lib
/usr/lib/ruby/2.7.0/mkmf.rb:471:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from /usr/lib/ruby/2.7.0/mkmf.rb:564:in `try_link0'
        from /usr/lib/ruby/2.7.0/mkmf.rb:582:in `try_link'
        from /usr/lib/ruby/2.7.0/mkmf.rb:801:in `try_func'
        from /usr/lib/ruby/2.7.0/mkmf.rb:1029:in `block in have_library'
        from /usr/lib/ruby/2.7.0/mkmf.rb:971:in `block in checking_for'
        from /usr/lib/ruby/2.7.0/mkmf.rb:361:in `block (2 levels) in postpone'
        from /usr/lib/ruby/2.7.0/mkmf.rb:331:in `open'
        from /usr/lib/ruby/2.7.0/mkmf.rb:361:in `block in postpone'
        from /usr/lib/ruby/2.7.0/mkmf.rb:331:in `open'
        from /usr/lib/ruby/2.7.0/mkmf.rb:357:in `postpone'
        from /usr/lib/ruby/2.7.0/mkmf.rb:970:in `checking_for'
        from /usr/lib/ruby/2.7.0/mkmf.rb:1024:in `have_library'
        from extconf.rb:6:in `<main>'

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

  /home/bastian/.gem/ruby/2.7.0/extensions/x86_64-linux/2.7.0/unf_ext-0.0.7.7/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /home/bastian/.gem/ruby/2.7.0/gems/unf_ext-0.0.7.7 for inspection.
Results logged to /home/bastian/.gem/ruby/2.7.0/extensions/x86_64-linux/2.7.0/unf_ext-0.0.7.7/gem_make.out

It seems that there is a problem finding libstdc++, but it is installed here:

$ pacman -Ss stdc++
extra/libstdc++5 3.3.6-7 [installed]
    GNU Standard C++ library version 3

I also installed gcc:

$ LANG=C pacman -Ss gcc
core/gcc 10.2.0-2 (base-devel) [installed]
    The GNU Compiler Collection - C and C++ frontends
core/gcc-ada 10.2.0-2
    Ada front-end for GCC (GNAT)
core/gcc-d 10.2.0-2
    D frontend for GCC
core/gcc-fortran 10.2.0-2
    Fortran front-end for GCC
core/gcc-go 10.2.0-2
    Go front-end for GCC
core/gcc-libs 10.2.0-2 [installed]
    Runtime libraries shipped by GCC
core/gcc-objc 10.2.0-2
    Objective-C front-end for GCC
core/lib32-gcc-libs 10.2.0-2 (multilib-devel) [installed]
    32-bit runtime libraries shipped by GCC
extra/libgsystem 2015.2+4+gd606bec-3
    "Copylib" for system service modules using GLib with GCC
community/aarch64-linux-gnu-gcc 10.2.0-1
    The GNU Compiler Collection - cross compiler for ARM64 target
community/arduino-avr-core 1.8.3-1
    Arduino AVR core with upstream avr-gcc and avrdude
community/arm-none-eabi-gcc 10.2.0-1
    The GNU Compiler Collection - cross compiler for ARM EABI (bare-metal) target
community/avr-gcc 10.2.0-1
    The GNU AVR Compiler Collection
community/colorgcc 1.4.5-2
    A Perl wrapper to colorize the output of compilers with warning/error messages matching the gcc output format
community/gcc8 8.4.0-1
    The GNU Compiler Collection - C and C++ frontends (8.x.x)
community/gcc8-fortran 8.4.0-1
    Fortran front-end for GCC (8.x.x)
community/gcc8-libs 8.4.0-1
    Runtime libraries shipped by GCC (8.x.x)
community/gcc9 9.3.0-3
    The GNU Compiler Collection - C and C++ frontends (9.x.x)
community/gcc9-fortran 9.3.0-3
    Fortran front-end for GCC (9.x.x)
community/gcc9-libs 9.3.0-3 [installed]
    Runtime libraries shipped by GCC (9.x.x)
community/ghdl-gcc 0.37-9
    VHDL simulator (GCC backend)
community/lm32-elf-gcc 10.1.0-1
    The GNU Compiler Collection - cross compiler for LatticeMico32 (bare-metal) target
community/mingw-w64-gcc 10.2.0-1 (mingw-w64-toolchain mingw-w64)
    Cross GCC for the MinGW-w64 cross-compiler
community/nds32le-elf-gcc 10.1.0-1
    The GNU Compiler Collection - cross compiler for Andes 32 little-endian (bare-metal) target
community/or1k-elf-gcc 10.1.0-1
    The GNU Compiler Collection - cross compiler for OpenRISC 1000 (bare-metal) target
community/riscv64-elf-gcc 10.1.0-1
    The GNU Compiler Collection - cross compiler for RISCV64 (bare-metal) target
community/riscv64-linux-gnu-gcc 10.2.0-1 (risc-v)
    Cross compiler for 32-bit and 64-bit RISC-V

Does anybody have an idea what is going wrong here?

Best regards

Bastian

This in the AUR. Why didn’t you install that?

I have two reasons why I would like to use gem:

  • I want to install it locally.
  • It does not work to install it from AUR (see below)
  • I want to find out why it does not work because I remember a similar problem which may be related to this.

From AUR, it does not resolve dependencies:

$ LANG=c pamac build fastlane 
Preparing...
Cloning fastlane build files...
Checking fastlane dependencies...
Cloning ruby-xcpretty-travis-formatter build files...
Checking ruby-xcpretty-travis-formatter dependencies...
Cloning ruby-xcpretty build files...
Checking ruby-xcpretty dependencies...
Cloning ruby-xcodeproj build files...
Checking ruby-xcodeproj dependencies...
Cloning ruby-word_wrap build files...
Checking ruby-word_wrap dependencies...
Cloning ruby-tty-spinner build files...
Checking ruby-tty-spinner dependencies...
Cloning ruby-tty-screen build files...
Checking ruby-tty-screen dependencies...
Cloning ruby-terminal-table build files...
Checking ruby-terminal-table dependencies...
Cloning ruby-terminal-notifier build files...
Checking ruby-terminal-notifier dependencies...
Cloning ruby-slack-notifier build files...
Checking ruby-slack-notifier dependencies...
Cloning ruby-simctl build files...
Checking ruby-simctl dependencies...
Cloning ruby-security build files...
Checking ruby-security dependencies...
Cloning ruby-rubyzip-1 build files...
Checking ruby-rubyzip-1 dependencies...
Cloning ruby-public_suffix-2 build files...
Checking ruby-public_suffix-2 dependencies...
Cloning ruby-plist build files...
Checking ruby-plist dependencies...
Cloning ruby-multi_xml build files...
Checking ruby-multi_xml dependencies...
Cloning ruby-multipart-post-2.0 build files...
Checking ruby-multipart-post-2.0 dependencies...
Cloning ruby-mini_magick-4 build files...
Checking ruby-mini_magick-4 dependencies...
Cloning ruby-jwt-2.1 build files...
Checking ruby-jwt-2.1 dependencies...
Cloning ruby-highline-1 build files...
Checking ruby-highline-1 dependencies...
Cloning ruby-google-cloud-storage build files...
Checking ruby-google-cloud-storage dependencies...
Cloning ruby-google-api-client build files...
Checking ruby-google-api-client dependencies...
Cloning ruby-gh_inspector build files...
Checking ruby-gh_inspector dependencies...
Cloning ruby-fastimage build files...
Checking ruby-fastimage dependencies...
Cloning ruby-faraday-cookie_jar build files...
Checking ruby-faraday-cookie_jar dependencies...
Cloning ruby-faraday-fastlane build files...
Checking ruby-faraday-fastlane dependencies...
Cloning ruby-excon build files...
Checking ruby-excon dependencies...
Cloning ruby-emoji_regex build files...
Checking ruby-emoji_regex dependencies...
Cloning ruby-dotenv build files...
Checking ruby-dotenv dependencies...
Cloning ruby-commander-fastlane build files...
Checking ruby-commander-fastlane dependencies...
Cloning ruby-colored build files...
Checking ruby-colored dependencies...
Cloning ruby-cfpropertylist build files...
Checking ruby-cfpropertylist dependencies...
Cloning ruby-babosa build files...
Checking ruby-babosa dependencies...
Cloning ruby-rouge-2.0 build files...
Checking ruby-rouge-2.0 dependencies...
Cloning ruby-nanaimo build files...
Checking ruby-nanaimo dependencies...
Cloning ruby-colored2 build files...
Checking ruby-colored2 dependencies...
Cloning ruby-claide build files...
Checking ruby-claide dependencies...
Cloning ruby-atomos build files...
Checking ruby-atomos dependencies...
Cloning ruby-tty-cursor build files...
Checking ruby-tty-cursor dependencies...
Cloning ruby-unicode-display_width build files...
Checking ruby-unicode-display_width dependencies...
Cloning ruby-naturally build files...
Checking ruby-naturally dependencies...
Cloning ruby-google-cloud-core build files...
Checking ruby-google-cloud-core dependencies...
Cloning ruby-googleauth build files...
Checking ruby-googleauth dependencies...
Cloning ruby-digest-crc build files...
Checking ruby-digest-crc dependencies...
Cloning ruby-signet build files...
Checking ruby-signet dependencies...
Cloning ruby-retriable build files...
Checking ruby-retriable dependencies...
Cloning ruby-representable build files...
Checking ruby-representable dependencies...
Cloning ruby-google-cloud-env build files...
Checking ruby-google-cloud-env dependencies...
Cloning ruby-os build files...
Checking ruby-os dependencies...
Cloning ruby-memoist build files...
Checking ruby-memoist dependencies...
Cloning ruby-jwt build files...
Checking ruby-jwt dependencies...
Cloning ruby-uber build files...
Checking ruby-uber dependencies...
Cloning ruby-declarative-option build files...
Checking ruby-declarative-option dependencies...
Cloning ruby-declarative build files...
Checking ruby-declarative dependencies...
Cloning ruby-faraday-0.15 build files...
Checking ruby-faraday-0.15 dependencies...
Cloning ruby-faraday-0.17 build files...
Checking ruby-faraday-0.17 dependencies...
bsdtar: Failed to set default locale
Choose a provider for ruby-faraday<1:
1:  ruby-faraday-0.15      0.15.4-3  AUR
2:  ruby-faraday-0.17      0.17.3-1  AUR
3:  ruby-faraday-fastlane  0.17.1-2  AUR

Enter a number (default=1): 1

Error: Failed to prepare transaction:
could not satisfy dependencies:
- unable to satisfy dependency 'ruby-faraday-middleware<0.14' required by fastlane
Resolving dependencies...
Choose a provider for ruby-faraday<1:
1:  ruby-faraday-0.15      0.15.4-3  AUR
2:  ruby-faraday-0.17      0.17.3-1  AUR
3:  ruby-faraday-fastlane  0.17.1-2  AUR

Enter a number (default=1): 2

Warning: cannot resolve "ruby-faraday-middleware<0.14", a dependency of "fastlane"
Error: Failed to prepare transaction:
could not satisfy dependencies:
- unable to satisfy dependency 'ruby-faraday-middleware<0.14' required by fastlane

Edit build files ? [y/N] n

Transaction cancelled.

You have to install AUR dependencies by hand.

What @merlock is trying to say is:

Please try installing the dependency before you install the rest. I.E.

pamac install ruby-faraday-0.17
pamac build fastlane

:+1:

There is quite some conflicting stuff and other unmet dependencies and I really want to find out what is wrong with gem install.

I am now debugging my C++ environment (which seems to be broken):

$ LANG=C g++ main.cpp   
g++: fatal error: cannot execute 'cc1plus': execvp: No such file or directory
compilation terminated.
$ LANG=C sudo -E find /usr/ -name "cc1plus"
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/cc1plus

I added /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/ to my path and got the following:

LANG=C g++ main.cpp 
g++: fatal error: '-fuse-linker-plugin', but liblto_plugin.so not found
compilation terminated.

So I searched for liblto_plugin.so

$ pkgfile liblto_plugin.so
core/gcc
community/aarch64-linux-gnu-gcc
community/arm-none-eabi-gcc
community/avr-gcc
community/gcc8
community/gcc9
community/lm32-elf-gcc
community/mingw-w64-gcc
community/nds32le-elf-gcc
community/or1k-elf-gcc
community/riscv64-elf-gcc
community/riscv64-linux-gnu-gcc

And reinstalled gcc (which I had installed already):

sudo pacman -Syu core/gcc
$ LANG=c find /usr/ -name liblto_plugin.so
/usr/lib/bfd-plugins/liblto_plugin.so
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/liblto_plugin.so
find: '/usr/lib/firmware/b43legacy': Permission denied
find: '/usr/lib/firmware/b43': Permission denied
find: '/usr/share/polkit-1/rules.d': Permission denied

It seems that I completely broke my system. I fixed it with the following commands:

$ g++ --print-search-dirs
installiere: /usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/
Programme: =/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/:/usr/local/bin/../lib/gcc/:/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu/9.3.0/:/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/
Bibliotheken: =/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/:/usr/local/bin/../lib/gcc/:/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/lib/x86_64-pc-linux-gnu/9.3.0/:/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/lib/../lib/:/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../x86_64-pc-linux-gnu/9.3.0/:/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib/:/lib/x86_64-pc-linux-gnu/9.3.0/:/lib/../lib/:/usr/lib/x86_64-pc-linux-gnu/9.3.0/:/usr/lib/../lib/:/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/lib/:/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../:/lib/:/usr/lib/
[bastian@njoerd ~]$ g++ --version
g++ (Arch Linux 9.3.0-3) 9.3.0
$ which g++ 
/usr/local/bin/g++
$ sudo rm /usr/local/bin/g++ /usr/local/bin/gcc
$ hash g++
$ hash gcc
$ g++ --version
g++ (GCC) 10.2.0
$ g++ --print-search-dirs
installiere: /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/
Programme: =/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/
Bibliotheken: =/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/lib/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../x86_64-pc-linux-gnu/10.2.0/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../lib/:/lib/x86_64-pc-linux-gnu/10.2.0/:/lib/../lib/:/usr/lib/x86_64-pc-linux-gnu/10.2.0/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../:/lib/:/usr/lib/
$ sudo pacman -R gcc9-libs