Add tar.exe to DevKit #227

tknerr opened this Issue Jun 27, 2014 · 2 comments


None yet

3 participants

tknerr commented Jun 27, 2014

Trying to gem install dep-selector-libgecode -v '1.0.2' I get the following error because the tar command is not available:

D:\Repos\_github\bills-kitchen\target\build>gem install dep-selector-libgecode -v '1.0.2'
Building native extensions.  This could take a while...
ERROR:  Error installing dep-selector-libgecode:
        ERROR: Failed to build gem native extension.

    D:/Repos/_github/bills-kitchen/target/build/tools/chefdk/embedded/bin/ruby.exe extconf.rb
checking for the host operating system... Windows
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for ranlib... ranlib
checking for diff... ok
checking for tar... no
configure: error: In order to compile Gecode, you need the tar tool.
extconf.rb:98:in `block in run': Failed to build gecode library. (GecodeBuild::BuildError)
        from extconf.rb:97:in `chdir'
        from extconf.rb:97:in `run'
        from extconf.rb:104:in `<main>'
-> sh D:/Repos/_github/bills-kitchen/target/build/home/.chefdk/gem/ruby/2.0.0/gems/dep-selector-libgecode-1.0.2/ext/libgecode3/vendor/gecode-3.7.3/configure --prefix=D:/Repos/_github/bills-kitchen/target/build/home/.chefdk/gem/ruby/2.0.0/gems/dep-selector-libgecode-1.0.2/lib/dep-selector-libgecode/vendored-gecode --disable-doc-dot --disable-doc-search --disable-doc-tagfile --disable-doc-chm --disable-doc-docset --disable-qt --disable-examples --disable-flatzinc --with-host-os=windows

Since tar is so common, would you mind adding it to the DevKit?

mdkholy commented Aug 13, 2014



@tknerr there is a chicken/egg situation with tar and is the reason why is not added.

We use bsdtar to bootstrap RubyInstaller and extract MSYS/MinGW components. We cannot use tar since none of the base dependencies have been extracted.

That is the reason bsdtar ships with DevKit instead of tar. bsdtar is the standalone version of tar that doesn't depend on those extra libraries.

Projects like mini_portile and knapsack attempt to use bsdtar before tar to extract contents, and only then fail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment