Error installing dradis from git


#1

Hello to all,

I want to try Dradis on the OffSec Kali Linux VM (4.6.0 - 32 bit) for my upcoming PWK course. So far it has been an unpleasant experience since it does not install from git…

After following the instructions to install, doing:
bundle install --path /usr/lib/dradis-ce

I eventually have a problem with mysql2 (See below).

ERROR:  Error installing mysql2:
ERROR: Failed to build gem native extension.

current directory: /var/lib/gems/2.3.0/gems/mysql2-0.3.18/ext/mysql2
/usr/bin/ruby2.3 -r ./siteconf20170411-16146-1e4e8dd.rb extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** 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)2.3
    --with-mysql-dir
    --without-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/lib
    --with-mysql-config
    --without-mysql-config
    --with-mysql-dir
    --without-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/lib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mlib
    --without-mlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-zlib
    --without-zlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-socketlib
    --without-socketlib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-nsllib
    --without-nsllib
    --with-mysqlclientlib
    --without-mysqlclientlib
    --with-mygcclib
    --without-mygcclib
    --with-mysqlclientlib
    --without-mysqlclientlib

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-linux/2.3.0/mysql2-0.3.18/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/mysql2-0.3.18 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86-linux/2.3.0/mysql2-0.3.18/gem_make.out

I thought that it might be that I need some dependency package:

root@kali:/usr/lib/dradis-ce# apt-get install mysql-server mysql-client libmysqlclient-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package mysql-client is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  mariadb-client-10.1

Package libmysqlclient-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mysql-client' has no installation candidate
E: Package 'libmysqlclient-dev' has no installation candidate

And since I installed the package mariadb-client10.1 I thought that I alreadu had the package.

Reference guide: https://dradisframework.com/ce/documentation/install_kali.html

Also, Does Kali ships with Dradis at all??

Please help!

EDIT: I reverted my machine without updating it, and I was able to install it. The problem lies in installing the mysql-client and libmysqlclient-dev. How I can install it on the most updated kali linux? They have removed the packages from their repositories:
http://pkg.kali.org/pkg/mysql-5.5

Can someone tell me how to rever the packages on my most updated Kali VM so that it installs?


#2

@shariff111 this appears to be related to this recent discussion: https://github.com/dradis/dradis-ce/issues/82. I noticed that you were also running Ruby v2.3.0 which was likely contributing to the situation.

What version of Kali are you installing on? I just tested on a fresh 2016.2 VM image from Offsec and was able to install mysql without any errors.

Keep us posted with any updates, we’ll get this sorted out!


#3

Hello there,

I had a typo on my first post - After having the VM, I updated it with:

apt-get update
apt-get upgrade
apt-get dist-upgrade

And after doing reboot, I have Linux kali 4.9.0-kali3-686. And the dependencies packages are not there anymore.

Thanks for the link. I was able to install dradis after installing:

apt-get install libmariadbclient-dev-compat 
apt-get install mariadb-client-10.1
apt-get install mariadb-server-10.1

Ruby was not a problem. I will recommend to update the Kali Linux installation guide with these new dependencies.