I had net-firewall/nufw-2.2.21 installed. I then tried to install mysql-ruby-2.8.1 which terminated with following error: >>> Compiling source in /var/tmp/portage/dev-ruby/mysql-ruby-2.8.1/work/mysql-ruby-2.8.1 ... checking for mysql_query() in -lmysqlclient... yes checking for mysql_ssl_set()... yes checking for rb_str_set_len()... yes checking for rb_thread_start_timer()... yes checking for mysql.h... yes conftest.c:1:20: Fehler: errmsg.h: Datei oder Verzeichnis nicht gefunden conftest.c:2:26: Fehler: mysqld_error.h: Datei oder Verzeichnis nicht gefunden *** 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/ruby18 --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 * ERROR: dev-ruby/mysql-ruby-2.8.1 failed: * (no error message) * * Call stack: * ebuild.sh, line 54: Called src_compile * environment, line 2436: Called die * The specific snippet of code: * ruby extconf.rb || die; * * If you need support, post the output of 'emerge --info =dev-ruby/mysql-ruby-2.8.1', * the complete build log and the output of 'emerge -pqv =dev-ruby/mysql-ruby-2.8.1'. * The complete build log is located at '/var/log/portage/dev-ruby:mysql-ruby-2.8.1:20100219-122522.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-ruby/mysql-ruby-2.8.1/temp/environment'. * S: '/var/tmp/portage/dev-ruby/mysql-ruby-2.8.1/work/mysql-ruby-2.8.1' When examining extconf.rb lines 27-31 you see that it tries to include errmsg.h and mysqld_error.h depending on the directory where mysql.h is located. And as I found out, the package net-firewall/nufw installs a mysql.h in /usr/include whereas the include files of mysql server are installed under /usr/include/mysql. I think that the nufw package shouldn't install its include files directly under /usr/include and should install them instead under /usr/include/nufw Reproducible: Always Steps to Reproduce: 1. emerge nufw verify that mysql.h is installed under /usr/include: 2. equery f nufw 3. emerge mysql-ruby Actual Results: emerge of mysql-ruby fails Expected Results: mysql-ruby should emerge the same way when emerging without nufw perhaps nufw ebuild should be altered to install includefiles under /usr/include/nufw. I also will attach a new ebuild for nufw-2.2.21 that solves the problem.
Created attachment 223129 [details] New ebuild that solves the problem of installing include-files (esp. mysql.h) under /usr/include added line 72: --includedir="/usr/include/nufw" \
adding mysql-bugs@ to CC too in case they are intrested
Yup, nufw should NOT be installing /usr/include/mysql.h definitely.
Fix in CVS with version bump 2.2.22