Bug #34167 MySQL won't compile with gcc profiling info
Submitted: 30 Jan 2008 15:25 Modified: 18 Jun 2013 12:13
Reporter: Georgi Kodinov Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.0-BK, 6.0-BK OS:Linux (Fedora 8)
Assigned to: Hery Ramilison CPU Architecture:Any

[30 Jan 2008 15:25] Georgi Kodinov
Description:
BUILD/compile-pentium-gprof won't finish on Fedora 8. It complains about missing symbols : 
../cmd-line-utils/readline/libreadline.a(display.o): In function `cr':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2251: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o): In function `_rl_clear_screen':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2131: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o): In function `_rl_clear_to_eol':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2108: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o): In function `_rl_move_vert':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:1839: undefined reference to `tputs'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:1847: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o):/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:1767: more undefined references to `tputs' follow
../cmd-line-utils/readline/libreadline.a(display.o): In function `insert_some_chars':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2155: undefined reference to `tgoto'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2156: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o): In function `delete_chars':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2205: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o): In function `update_line':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:1442: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o): In function `insert_some_chars':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2172: undefined reference to `tputs'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2181: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o):/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2165: more undefined references to `tputs' follow
../cmd-line-utils/readline/libreadline.a(display.o): In function `delete_chars':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2198: undefined reference to `tgoto'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:2199: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(display.o): In function `rl_redisplay':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/display.c:1008: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(terminal.o): In function `_rl_set_cursor':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:728: undefined reference to `tputs'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:726: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(terminal.o): In function `_rl_control_keypad':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:703: undefined reference to `tputs'
../cmd-line-utils/readline/libreadline.a(terminal.o):/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:691: more undefined references to `tputs' follow
../cmd-line-utils/readline/libreadline.a(terminal.o): In function `_rl_get_screen_size':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:285: undefined reference to `tgetnum'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:269: undefined reference to `tgetnum'
../cmd-line-utils/readline/libreadline.a(terminal.o): In function `_rl_init_terminal_io':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:498: undefined reference to `PC'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:499: undefined reference to `BC'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:500: undefined reference to `UP'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:452: undefined reference to `tgetent'
../cmd-line-utils/readline/libreadline.a(terminal.o): In function `get_term_capabilities':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:415: undefined reference to `tgetstr'
../cmd-line-utils/readline/libreadline.a(terminal.o): In function `_rl_init_terminal_io':
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:509: undefined reference to `PC'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:510: undefined reference to `BC'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:511: undefined reference to `UP'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:516: undefined reference to `tgetflag'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:531: undefined reference to `tgetflag'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:516: undefined reference to `tgetflag'
/home/kgeorge/mysql/work/B14637-5.0-opt/cmd-line-utils/readline/terminal.c:531: undefined reference to `tgetflag'
collect2: ld returned 1 exit status
make: *** [mysql] Error 1

How to repeat:
Get a fresh copy of the mysql from bk.
Try compiling on Fedora 8 32 bit using BUILD/compile-pentium-gprof

Suggested fix:
1. configure checks for presence of libncurses.a and libtinfo.a (this is not installed by default on Fedora 8 : only the shared libraries)
2. Add -ltinfo after -lncurses
[30 Jan 2008 17:06] MySQL Verification Team
Thank you for the bug report. Verified as described.
[30 Jan 2008 17:07] Valeriy Kravchuk
This is Fedora 8-specific bug... I can not repeat it on SuSE 9.3, for exmaple.
[27 Nov 2011 5:02] Evan Rowley
I have an error similar to this on Ubuntu 11.10 Oneiric:

Description	Resource	Path	Location	Type
make: *** [all-recursive] Error 1	MySQL-5.1-Bzr		 	C/C++ Problem
make[1]: *** [all] Error 2	MySQL-5.1-Bzr		 	C/C++ Problem
make[2]: *** [mysql] Error 1	MySQL-5.1-Bzr		 	C/C++ Problem
more undefined references to `tputs' follow	MySQL-5.1-Bzr		line 729	C/C++ Problem
more undefined references to `tputs' follow	MySQL-5.1-Bzr		line 1844	C/C++ Problem
more undefined references to `tputs' follow	MySQL-5.1-Bzr		line 2313	C/C++ Problem
undefined reference to `BC'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 502	C/C++ Problem
undefined reference to `BC'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 513	C/C++ Problem
undefined reference to `PC'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 500	C/C++ Problem
undefined reference to `PC'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 512	C/C++ Problem
undefined reference to `tgetent'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 454	C/C++ Problem
undefined reference to `tgetflag'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 519	C/C++ Problem
undefined reference to `tgetflag'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 534	C/C++ Problem
undefined reference to `tgetnum'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 271	C/C++ Problem
undefined reference to `tgetnum'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 287	C/C++ Problem
undefined reference to `tgetstr'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 417	C/C++ Problem
undefined reference to `tgoto'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2160	C/C++ Problem
undefined reference to `tgoto'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2203	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 1013	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 1447	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 1772	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 1801	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 1805	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2161	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2170	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2177	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2186	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2204	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2210	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2256	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2301	C/C++ Problem
undefined reference to `tputs'	display.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 2309	C/C++ Problem
undefined reference to `tputs'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 636	C/C++ Problem
undefined reference to `tputs'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 669	C/C++ Problem
undefined reference to `tputs'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 694	C/C++ Problem
undefined reference to `tputs'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 704	C/C++ Problem
undefined reference to `tputs'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 706	C/C++ Problem
undefined reference to `UP'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 503	C/C++ Problem
undefined reference to `UP'	terminal.c	/MySQL-5.1-Bzr/mysql-5.1/cmd-line-utils/readline	line 514	C/C++ Problem
[27 Nov 2011 5:03] Evan Rowley
^ That is Ubuntu 11.10 Oneiric 64-bit.
[18 Jun 2013 12:13] Erlend Dahl
System now compiles on Fedora.