flavorjones / mini_portile

mini_portile and mini_portile2 - Simple autoconf and cmake builder for developers
MIT License
114 stars 51 forks source link

cannot compile due to a `spawn': no implicit conversion of nil into String #81

Closed cpg closed 7 years ago

cpg commented 7 years ago

I cannot get my gems to compile because nokogiri fails to build and it fails with an error from mini_portile. do you guys have insight on this?

Env: clean Fedora 26, ruby 2.4.1p111. I think I have install all the other libraries and packages required. This process has worked before for a few months on Fedora 25 (with possibly older versions of the same gems)

..vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:344:in `spawn': no implicit conversion of nil into String (TypeError)
    from /home/cpg/hda-platform/html/vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:344:in `block in execute'
    from /home/cpg/hda-platform/html/vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `chdir'
    from /home/cpg/hda-platform/html/vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `execute'
    from /home/cpg/hda-platform/html/vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:331:in `extract_file'
    from /home/cpg/hda-platform/html/vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:57:in `block in extract'
    from /home/cpg/hda-platform/html/vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:56:in `each'
    from /home/cpg/hda-platform/html/vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:56:in `extract'
    from /home/cpg/hda-platform/html/vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:147:in `cook'
    from extconf.rb:364:in `block (2 levels) in process_recipe'
    from extconf.rb:257:in `block in chdir_for_build'
    from extconf.rb:256:in `chdir'
    from extconf.rb:256:in `chdir_for_build'
    from extconf.rb:363:in `block in process_recipe'
    from extconf.rb:262:in `tap'
    from extconf.rb:262:in `process_recipe'
    from extconf.rb:547:in `<main>'
larskanis commented 7 years ago

One of the parameters of spawn is nil, which is unexpected. Maybe tar executable isn't in the PATH. To debug this I recommend to inject some p args etc. into the file ..vendor/bundle/ruby/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb to get more detailed information.

cpg commented 7 years ago

Looks like tar was not in the box for some reason. Thanks @larskanis!