termux-packages icon indicating copy to clipboard operation
termux-packages copied to clipboard

mysql gem is not getting installed

Open ghost opened this issue 7 years ago • 11 comments

$ gem install mysql Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension.
current directory: /data/data/com.termux/files/usr/lib/ruby/gems/2.4.0/gems/mysql-2.9.1/ext/mysql_api /data/data/com.termux/files/usr/bin/ruby -r ./siteconf20170907-2371-5yb2k8.rb extconf.rb checking for mysql_query() in -lmysqlclient... no checking for -lm... yes checking for mysql_query() in -lmysqlclient... no checking for -lz... yes checking for mysql_query() in -lmysqlclient... no checking for -lsocket... no checking for mysql_query() in -lmysqlclient... no checking for -lnsl... no checking for mysql_query() in -lmysqlclient... no checking for -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=/data/data/com.termux/files/usr/bin/$(RUBY_BASE_NAME) --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:

/data/data/com.termux/files/usr/lib/ruby/gems/2.4.0/extensions/arm-linux/2.4.0/mysql-2.9.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /data/data/com.termux/files/usr/lib/ruby/gems/2.4.0/gems/mysql-2.9.1 for inspection. Results logged to /data/data/com.termux/files/usr/lib/ruby/gems/2.4.0/extensions/arm-linux/2.4.0/mysql-2.9.1/gem_make.out $

ghost avatar Sep 07 '17 14:09 ghost

To see why this extension failed to compile, please check the mkmf.log which can be found here: /data/data/com.termux/files/usr/lib/ruby/gems/2.4.0/extensions/arm-linux/2.4.0/mysql-2.9.1/mkmf.log

So we probably need to see that aswell

Grimler91 avatar Sep 07 '17 14:09 Grimler91

I think gem needs libmysqlclient-dev to install with native extensions

Auxilus avatar Sep 07 '17 14:09 Auxilus

Output from mkmf.log :

1 find_library: checking for mysql_query() 2 3 "arm-linux-androideabi-clang -o conftest 4 checked program was: 5 /* begin */ 6 1: #include "ruby.h" 7 2: 8 3: int main(int argc, char *argv) 9 4: { 10 5: return 0; 11 6: } 12 / end */ 13 14 "arm-linux-androideabi-clang -o conftest 15 conftest.c:13:57: error: use of undeclare 16 int t(void) { void ((volatile p)()); p = 17 18 1 error generated. 19 checked program was: 20 / begin */ 21 1: #include "ruby.h" 22 2: 23 3: /top/ 24 4: extern int t(void); 25 5: int main(int argc, char **argv) 26 6: { 27 7: if (argc > 1000000) { 28 8: printf("%p", &t); 29 9: } 30 10: 31 11: return 0; 32 12: } 33 13: int t(void) { void ((volatile p)()); 34 / end */ mkmf.log (1,1) Unknown F1 for help

ghost avatar Sep 07 '17 14:09 ghost

@Auxilus Where is libmysqlclient-dev ?

SDRausty avatar Sep 09 '17 07:09 SDRausty

@sdrausty we dont have it

Auxilus avatar Sep 09 '17 07:09 Auxilus

So..we should stick to SQLite for ruby development projects for now ?

ghost avatar Oct 02 '17 09:10 ghost

Guys.. any update on the above issue?

staymetal avatar Nov 07 '17 07:11 staymetal

I also need the MySQL headers to get the mysqlclient Python package to install. @Auxilus what is needed to get it added to the Termux repos?

AGSPhoenix avatar Oct 25 '18 02:10 AGSPhoenix

This issue/PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Nov 18 '21 20:11 stale[bot]

The mysql2 Ruby gem should work with MariaDB (a fork from MySQL) which is already packaged as mariadb.

The same should go for the mysqlclient Python package.

xtkoba avatar Nov 21 '21 08:11 xtkoba

This issue/PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jan 05 '22 10:01 stale[bot]