Bug #50303 Innobase doesn't compile.
Submitted: 13 Jan 2010 10:53 Modified: 13 Jan 2010 12:04
Reporter: Alex Budovski (OCA) Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version:5.4 OS:Any
Assigned to: CPU Architecture:Any
Tags: compile failure innobase innodb

[13 Jan 2010 10:53] Alex Budovski
Description:
srv0srv.c in function srv_printf_innodb_monitor() refers to undeclared variables, 'trx_start' and 'trx_end', and hence, it cannot compile.

These actually used to be parameters of this function, which were removed in revision 2736.9.7..2736.9.8 by the following change (committer: Mikael Ronstrom):

=== modified file storage/innobase/srv/srv0srv.c
--- storage/innobase/srv/srv0srv.c	2008-10-16 18:45:12 +0000
+++ storage/innobase/srv/srv0srv.c	2008-10-17 10:01:14 +0000
@@ -664,8 +664,6 @@
 ulint	srv_n_threads_active[SRV_MASTER + 1];
 ulint	srv_n_threads[SRV_MASTER + 1];
 
-static void srv_reset_free_tickets(trx_t* trx);
-
 static void time_spin_delay()
 {
   ulint start_sec, end_sec;
@@ -1697,11 +1695,7 @@
 void
 srv_printf_innodb_monitor(
 /*======================*/
-	FILE*	file,		/* in: output stream */
-	ulint*	trx_start,	/* out: file position of the start of
-				the list of active transactions */
-	ulint*	trx_end)	/* out: file position of the end of
-				the list of active transactions */
+	FILE*	file)		/* in: output stream */
 {
 	double	time_elapsed;
 	time_t	current_time;
@@ -1994,14 +1988,13 @@
 		last_monitor_time = time(NULL);
 
 		if (srv_print_innodb_monitor) {
-			srv_printf_innodb_monitor(stderr, NULL, NULL);
+			srv_printf_innodb_monitor(stderr);
 		}
 
 		if (srv_innodb_status) {
 			mutex_enter(&srv_monitor_file_mutex);
 			rewind(srv_monitor_file);
-			srv_printf_innodb_monitor(srv_monitor_file, NULL,
-						  NULL);
+			srv_printf_innodb_monitor(srv_monitor_file);
 			os_file_set_eof(srv_monitor_file);
 			mutex_exit(&srv_monitor_file_mutex);
 		}

Note the removal of parameters trx_start and trx_end caused the breakage, as not all references to them were removed.

How to repeat:
Compile innobase.
[13 Jan 2010 10:59] Sveta Smirnova
Thank you for the report.

We build MySQL sources daily and don't see compile errors last time. Which source distribution do you use? Please provide URL or source package name.
[13 Jan 2010 11:37] Alex Budovski
Ah, I just now found out it only affects the lp:mysql-server/5.4 branch (on launchpad).

bzr+ssh://bazaar.launchpad.net/~mysql/mysql-server/mysql-next-mr/ works correctly.

It seems the former was abandoned (according to the #mysql-dev IRC users).
[13 Jan 2010 12:04] Sveta Smirnova
Thank you for the feedback.

Closing the report as "Can't repeat" as problem is not repeatable with current sources.