Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 345693

Summary: emerge dev-db/mysql-5.1.51 emake failed with USE="debug"
Product: Gentoo Linux Reporter: David Oberlitner <david.oberlitner>
Component: [OLD] ServerAssignee: Gentoo Linux MySQL bugs team <mysql-bugs>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info =dev-db/mysql-5.1.52
/var/tmp/portage/dev-db/mysql-5.1.52/temp/build.log
/var/tmp/portage/dev-db/mysql-5.1.52/temp/environment

Description David Oberlitner 2010-11-15 23:56:30 UTC
emerging dev-db/mysql-5.1.51 fails on multiple x86 boxes with the "debug" use flag enabled, either on the command line or via /etc/package.use. Disabling the "debug" use flag works around the problem.

Reproducible: Always

Steps to Reproduce:
1.USE="debug" emerge dev-db/mysql-5.1.51
2.
3.

Actual Results:  
libtool: link: i686-pc-linux-gnu-gcc -g -DSAFE_MUTEX -DSAFEMALLOC -O2 -march=i686 -pipe -DHAVE_ERRNO_AS_DEFINE=1 -fno-strict-aliasing -fno-omit-frame-pointer -DUNIV_LINUX -DUNIV_LINUX -Wl,-O1 -rdynamic -o .libs/strings-t strings-t.o  -Wl,--as-needed ../../unittest/mytap/libmytap.a ../../mysys/.libs/libmysys.so -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread ../../dbug/.libs/libdbug.so -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread ../../strings/.libs/libmystrings.so -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread -lpthread -L/usr//lib -lz -lpthread -lcrypt -lnsl -lm -lpthread -Wl,-rpath -Wl,/usr/lib/mysql
../../strings/.libs/libmystrings.so: undefined reference to `_db_pargs_'
../../strings/.libs/libmystrings.so: undefined reference to `_db_doprnt_'
../../strings/.libs/libmystrings.so: undefined reference to `_db_enter_'
../../strings/.libs/libmystrings.so: undefined reference to `_db_return_'
collect2: ld returned 1 exit status
make[2]: *** [strings-t] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-db/mysql-5.1.51/work/mysql/unittest/strings'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-db/mysql-5.1.51/work/mysql/unittest'
make: *** [all-recursive] Error 1
 * ERROR: dev-db/mysql-5.1.51 failed:
 *   emake failed
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_compile
 *   environment, line 4418:  Called mysql_src_compile
 *   environment, line 3840:  Called die
 * The specific snippet of code:
 *       emake || die "emake failed";

Expected Results:  
Successful emerge

# USE="debug" emerge -pqv =dev-db/mysql-5.1.51
[ebuild     U ] dev-db/mysql-5.1.51 [5.1.50-r1] USE="community debug perl ssl -big-tables -cluster -embedded -extraengine -latin1 -max-idx-128 -minimal -pbxt -profiling (-selinux) -static -test -xtradb"
Comment 1 David Oberlitner 2010-11-15 23:58:04 UTC
Created attachment 254451 [details]
emerge --info =dev-db/mysql-5.1.52
Comment 2 David Oberlitner 2010-11-15 23:58:55 UTC
Created attachment 254453 [details]
/var/tmp/portage/dev-db/mysql-5.1.52/temp/build.log
Comment 3 David Oberlitner 2010-11-15 23:59:28 UTC
Created attachment 254455 [details]
/var/tmp/portage/dev-db/mysql-5.1.52/temp/environment
Comment 4 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2010-11-16 00:45:25 UTC
Do you have the debug USE flag set globally? That's generally a bad idea.
Comment 5 David Oberlitner 2010-11-16 01:24:19 UTC
(In reply to comment #4)
> Do you have the debug USE flag set globally? That's generally a bad idea.
> 

I do not have the "debug" USE flag set globally? I set it in /etc/portage/package.use and then enable/disable the log directive on demand via /etc/mysql/my.cnf in accordance with the following snippet from my.cnf

# you need the debug USE flag enabled to use the following directives,
# if needed, uncomment them, start the server and issue
# #tail -f /tmp/mysqld.sql /tmp/mysqld.trace
# this will show you *exactly* what's happening in your server ;)

#log = /tmp/mysqld.sql
#gdb
#debug = d:t:i:o,/tmp/mysqld.trace
#one-thread

I use the log directive to debug scripts executing SQL.
Comment 6 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2010-11-16 13:48:18 UTC

*** This bug has been marked as a duplicate of bug 344885 ***