Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 308957 - net-firewall/nufw-2.2.21: installs file /usr/include/mysql.h which prevents some apps/libs to compile (e.g. mysql-ruby-2.8.1)
Summary: net-firewall/nufw-2.2.21: installs file /usr/include/mysql.h which prevents s...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major
Assignee: Cédric Krier
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-11 10:34 UTC by Alois Schmid
Modified: 2010-03-18 17:11 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
New ebuild that solves the problem of installing include-files (esp. mysql.h) under /usr/include (nufw-2.2.21.ebuild,2.97 KB, text/plain)
2010-03-11 10:36 UTC, Alois Schmid
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alois Schmid 2010-03-11 10:34:24 UTC
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.
Comment 1 Alois Schmid 2010-03-11 10:36:47 UTC
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" \
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2010-03-15 13:36:26 UTC
adding mysql-bugs@ to CC too in case they are intrested 
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-15 18:50:04 UTC
Yup, nufw should NOT be installing /usr/include/mysql.h definitely.
Comment 4 Cédric Krier gentoo-dev 2010-03-18 17:11:45 UTC
Fix in CVS with version bump 2.2.22