diff --git a/table_replication_consistency/CMakeLists.txt b/table_replication_consistency/CMakeLists.txt index c91461c24..bca184dbd 100644 --- a/table_replication_consistency/CMakeLists.txt +++ b/table_replication_consistency/CMakeLists.txt @@ -5,7 +5,7 @@ cmake_minimum_required (VERSION 2.6) # the library. set(table_replication_consistency_sources - table_replication_consistency.cpp table_replication_listener.cpp ) + table_replication_consistency.cpp table_replication_listener.cpp table_replication_parser.cpp) # ---------- Find Boost Headers/Libraries ----------------------- SET(Boost_DEBUG FALSE) diff --git a/table_replication_consistency/table_replication_listener.cpp b/table_replication_consistency/table_replication_listener.cpp index fa3d06c4d..eef889880 100644 --- a/table_replication_consistency/table_replication_listener.cpp +++ b/table_replication_consistency/table_replication_listener.cpp @@ -36,11 +36,14 @@ Updated: #include "listener_exception.h" #include "table_replication_consistency.h" #include "table_replication_listener.h" +#include "table_replication_parser.h" using mysql::Binary_log; using mysql::system::create_transport; using namespace std; -using namespace mysql::system; +using namespace mysql; +using namespace system; +using namespace table_replication_parser; namespace mysql { @@ -72,6 +75,60 @@ boost::mutex table_replication_mutex; /* This mutex is used protect abve data structure from multiple threads */ +/***********************************************************************//** +Internal function to update table consistency information based +on log event header, table name and if GTID is known the gtid.*/ +static void +tbrl_update_consistency( +/*====================*/ + Log_event_header *lheader, /*!< in: Log event header */ + string database_dot_table, /*!< in: db.table name */ + bool gtid_known, /*!< in: is GTID known */ + Gtid& gtid) /*!< in: gtid */ +{ + bool not_found = true; + table_listener_consistency_t *tc=NULL; + + // Need to be protected by mutex to avoid concurrency problems + boost::mutex::scoped_lock lock(table_consistency_mutex); + + if(table_consistency_map.find(database_dot_table) == table_consistency_map.end()) { + not_found = true; + } else { + // Loop through the consistency values + for(multimap::iterator i = table_consistency_map.find(database_dot_table); + i != table_consistency_map.end(); ++i) { + tc = (*i).second; + if (tc->server_id == lheader->server_id) { + not_found = false; + break; + } + } + } + + if(not_found) { + // Consistency for this table and server not found, insert a record + table_listener_consistency_t* tb_c = (table_listener_consistency_t*) malloc(sizeof(table_listener_consistency_t)); + tb_c->database_dot_table = (char *)malloc(database_dot_table.size()+1); + strcpy(tb_c->database_dot_table, database_dot_table.c_str()); + tb_c->server_id = lheader->server_id; + tb_c->binlog_pos = lheader->next_position; + tb_c->gtid_known = gtid_known; + tb_c->gtid = (char *)malloc(gtid.get_string().size()+1); + strcpy(tb_c->gtid, gtid.get_string().c_str()); + + table_consistency_map.insert(pair(database_dot_table,tb_c)); + } else { + // Consistency for this table and server found, update the + // consistency values + tc->binlog_pos = lheader->next_position; + free(tc->gtid); + tc->gtid = (char *)malloc(gtid.get_string().size()+1); + strcpy(tc->gtid, gtid.get_string().c_str()); + tc->gtid_known = gtid_known; + } +} + /***********************************************************************//** This is the function that is executed by replication listeners. At startup it will try to connect the server and start listening @@ -126,9 +183,44 @@ void* tb_replication_listener_reader( case QUERY_EVENT: { Query_event *qevent = dynamic_cast(event); - // TODO: Do real handling i.e.: - // statement based replication: parse the query and find out the db - // and table + int n_tables = 0; + + // This is overkill but we really do not know how + // many names there are at this state + char **db_names = (char **) malloc(qevent->query.size()+1 * sizeof(char *)); + char **table_names = (char **) malloc(qevent->query.size()+1 * sizeof(char *)); + + // Try to parse db.table names from the SQL-clause + if (tbr_parser_table_names(db_names, table_names, &n_tables, qevent->query.c_str())) { + // Success, set up the consistency + // information for every table + for(int k=0;k < n_tables; k++) { + // Update the consistency + // information + + if(db_names[k][0]=='\0') { + database_dot_table = qevent->db_name; + } else { + database_dot_table = string(db_names[k]); + } + database_dot_table.append("."); + database_dot_table.append(string(table_names[k])); + + tbrl_update_consistency(lheader, database_dot_table, gtid_known, gtid); + + free(db_names[k]); + free(table_names[k]); + } + free(db_names); + free(table_names); + } else { + for(int k=0; k < n_tables; k++) { + free(db_names[k]); + free(table_names[k]); + } + free(db_names); + free(table_names); + } std::cout << "Thread: " << id << " server_id " << lheader->server_id << " position " << lheader->next_position << " : Found event of type " @@ -187,9 +279,6 @@ void* tb_replication_listener_reader( case DELETE_ROWS_EVENT: { Row_event *revent = dynamic_cast(event); - bool not_found = false; - table_listener_consistency_t *tc=NULL; - tb_it= tid2tname.begin(); tb_it= tid2tname.find(revent->table_id); if (tb_it != tid2tname.end()) @@ -197,48 +286,8 @@ void* tb_replication_listener_reader( database_dot_table= tb_it->second; } - // Need to be protected by mutex to avoid concurrency problems - boost::mutex::scoped_lock lock(table_consistency_mutex); - - not_found = true; - - if(table_consistency_map.find(database_dot_table) == table_consistency_map.end()) { - not_found = true; - } else { - // Loop through the consistency values - for(multimap::iterator i = table_consistency_map.find(database_dot_table); - i != table_consistency_map.end(); ++i) { - tc = (*i).second; - if (tc->server_id == lheader->server_id) { - not_found = false; - break; - } - } - } - - if(not_found) { - // Consistency for this table and server not found, insert a record - table_listener_consistency_t* tb_c = (table_listener_consistency_t*) malloc(sizeof(table_listener_consistency_t)); - tb_c->database_dot_table = (char *)malloc(database_dot_table.size()+1); - strcpy(tb_c->database_dot_table, database_dot_table.c_str()); - tb_c->server_id = lheader->server_id; - tb_c->binlog_pos = lheader->next_position; - tb_c->gtid_known = gtid_known; - tb_c->gtid = (char *)malloc(gtid.get_string().size()+1); - strcpy(tb_c->gtid, gtid.get_string().c_str()); - - table_consistency_map.insert(pair(database_dot_table,tb_c)); - } else { - // Consistency for this table and server found, update the - // consistency values - - tc->binlog_pos = lheader->next_position; - free(tc->gtid); - tc->gtid = (char *)malloc(gtid.get_string().size()+1); - strcpy(tc->gtid, gtid.get_string().c_str()); - tc->gtid_known = gtid_known; - } - + // Update the consistency information + tbrl_update_consistency(lheader, database_dot_table, gtid_known, gtid); std::cout << "Thread: " << id << " server_id " << lheader->server_id << " position " << lheader->next_position << " : Found event of type " diff --git a/table_replication_consistency/table_replication_parser.cpp b/table_replication_consistency/table_replication_parser.cpp new file mode 100644 index 000000000..ea47e73ee --- /dev/null +++ b/table_replication_consistency/table_replication_parser.cpp @@ -0,0 +1,441 @@ +/* +Copyright (C) 2013, SkySQL Ab + + +This file is distributed as part of the SkySQL Gateway. It is free +software: you can redistribute it and/or modify it under the terms of the +GNU General Public License as published by the Free Software Foundation, +version 2. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 51 +Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Author: Jan Lindström jan.lindstrom@skysql.com + +Created: 20-06-2013 +Updated: + +*/ + +#include +#include +#include +#include + +#include "table_replication_parser.h" + +namespace mysql { + +namespace table_replication_parser { + +typedef struct { + char* m_start; + char* m_pos; +} tb_parser_t; + +/***********************************************************************//** +This internal function initializes internal parser data structure based on +string to be parsed.*/ +static void +tbr_parser_init( +/*============*/ + tb_parser_t* m, /*!< inout: Parser structure to initialize */ + const char* s) /*!< in: String to parse */ +{ + m->m_start = (char *)s; + m->m_pos = (char *)s; +} + +/***********************************************************************//** +This internal function skips all space characters on front +@return position on string with next non space character*/ +static char* +tbr_parser_skipwspc( + char* str) /*!< in string */ +{ + while (isspace(*str)) { + str++; + } + return(str); +} + + +/***********************************************************************//** +This internal function parses input string and tries to match it to the given keyword. +@return true if next keyword matches, false if not +*/ +static bool +tbr_match_keyword( +/*==============*/ + tb_parser_t* m, /*!< inout: Parser structure */ + const char* const_str) /*!< in: Keyword to match */ +{ + size_t len; + + m->m_pos = tbr_parser_skipwspc(m->m_pos); + + if (const_str[0] == '\0') { + return(m->m_pos[0] == '\0'); + } + + len = strlen(const_str); + + // Parsing is based on comparing two srings ignoring case + if (strncasecmp(m->m_pos, const_str, len) == 0) { + unsigned char c = (unsigned char)m->m_pos[len]; + if (isascii(c)) { + if (isalnum(c)) { + return (true); + } + if (c == '_') { + return (false); + } + } + m->m_pos += len; + return(true); + } + return(false); +} + +/***********************************************************************//** +Internal function to parse next quoted string +@return true if quoted string found, false if not +*/ +static bool +tbr_get_quoted( +/*===========*/ + tb_parser_t* m, /*!< inout: Parser structure */ + char* buf, /*!< out: parsed string */ + unsigned int size,/*!< in: buffer size */ + bool keep_quotes) /*!< in: is quotes left on string */ +{ + char quote; + tb_parser_t saved_m; + + m->m_pos = tbr_parser_skipwspc(m->m_pos); + + saved_m = *m; + + quote = *m->m_pos++; + + if (keep_quotes) { + *buf++ = quote; + size--; + } + + while (*m->m_pos != '\0') { + if (*m->m_pos == quote) { + if ((m->m_pos)[1] == quote) { + m->m_pos++; + + if (keep_quotes) { + *buf++ = quote; + + if (size-- <= 1) { + *m = saved_m; + return(false); + } + } + } else { + break; + } + } + + *buf++ = *m->m_pos++; + + if (size-- <= 1) { + *m = saved_m; + return(true); + } + } + + if (*m->m_pos != quote) { + *m = saved_m; + return(false); + } + + m->m_pos++; + + if (keep_quotes) { + *buf++ = quote; + + if (size-- <= 1) { + *m = saved_m; + return(true); + } + } + + *buf = '\0'; + + return(true); +} + +/***********************************************************************//** +This internal function parses identifiers e.g. table name +@return true if identifier is found, false if not +*/ +static bool +tbr_get_id( +/*=======*/ + tb_parser_t* m, /*!< intout: Parser structure */ + char* id_buf, /*!< out: parsed identifier */ + unsigned int id_size) /*!< in: identifier size */ +{ + char* org_id_buf = id_buf; + tb_parser_t saved_m; + + m->m_pos = tbr_parser_skipwspc(m->m_pos); + saved_m = *m; + + if (*m->m_pos == '"' || *m->m_pos == '`') { + if (!tbr_get_quoted(m, id_buf, id_size, false)) { + *m = saved_m; + return(false); + } + } else { + while (isalnum(*m->m_pos) || *m->m_pos == '_') { + *id_buf++ = *m->m_pos++; + + if (id_size-- <= 1) { + *m = saved_m; + return(true); + } + } + *id_buf = '\0'; + } + + if (strlen(org_id_buf) > 0) { + return(true); + } else { + *m = saved_m; + return(false); + } +} + +/***********************************************************************//** +This internal function parses constants e.g. "." +@return true if constant is found, false if not +*/ +static bool +tbr_match_const( +/*============*/ + tb_parser_t* m, /*!< inout: Parser structure */ + const char* const_str) /*!< in: constant to be parsed */ +{ + size_t len; + + m->m_pos = tbr_parser_skipwspc(m->m_pos); + + if (const_str[0] == '\0') { + return(m->m_pos[0] == '\0'); + } + + len = strlen(const_str); + + if (strncasecmp(m->m_pos, const_str, len) == 0) { + m->m_pos += len; + return(true); + } else { + return(false); + } +} + +/***********************************************************************//** +This internal function skips to position where given keyword is found +@return true if keyword is found, false if not +*/ +static bool +tbr_skipto_keyword( +/*===============*/ + tb_parser_t* m, /*!< inout: Parser structure */ + const char* const_str,/*!< in: keyword to find*/ + const char* end_str) /*!< in: stop at this keyword */ +{ + size_t len; + bool more = true; + + m->m_pos = tbr_parser_skipwspc(m->m_pos); + + if (const_str[0] == '\0') { + return(m->m_pos[0] == '\0'); + } + + len = strlen(const_str); + + while (more) { + if (strncasecmp(m->m_pos, const_str, len) == 0) { + m->m_pos += len; + return(true); + } else { + if(!(tbr_match_const(m, (char *)end_str))) { + m->m_pos++; + + if (*(m->m_pos) == '\0'){ + return (false); + } + } else { + m->m_pos-=strlen(end_str); + return (false); + } + } + } + + return(true); +} + +/***********************************************************************//** +This internal function parses table name consisting database + "." + table +@return true if table name is found, false if not +*/ +static bool +tbr_get_tablename( +/*==============*/ + tb_parser_t* m, /*!< inout: Parser structure */ + char* dbname_buf, /*!< out: Database name or empty string */ + size_t dbname_size, /*!< in: size of db buffer */ + char* tabname_buf, /*!< out: Tablename or empty string */ + size_t tabname_size) /*!< in: size of tablename buffer */ +{ + tb_parser_t saved_m; + + saved_m = *m; + + /* Try to parse database name */ + if (!tbr_get_id(m, dbname_buf, dbname_size)) { + return(false); + } + + /* If string does not contain constant "." there is no database name */ + if (!tbr_match_const(m, (char *)".")) { + *m = saved_m; + dbname_buf[0] = '\0'; + + if (!tbr_get_id(m, tabname_buf, tabname_size)) { + return(false); + } + return(true); + } + + /* Try to parser table name */ + if (!tbr_get_id(m, tabname_buf, tabname_size)) { + return(false); + } + + return(true); +} + +/***********************************************************************//** +This function parses SQL-clauses and extracts table names +from the clause. +@return true if table names found, false if not +*/ +bool +tbr_parser_table_names( +/*===================*/ + char **db_name, /*!< inout: Array of db names */ + char **table_name, /*!< inout: Array of table names */ + int *n_tables, /*!< out: Number of db.table names found */ + const char* sql_string) /*!< in: SQL-clause */ +{ + tb_parser_t m; + size_t name_count=0; + char *dbname=NULL; + char *tbname=NULL; + size_t len = strlen(sql_string); + + tbr_parser_init(&m, sql_string); + *n_tables = 0; + + // MySQL does not support multi-table insert or replace + if ((tbr_match_keyword(&m, "INSERT") || tbr_match_keyword(&m, "REPLACE")) && + tbr_skipto_keyword(&m, "INTO", "")) { + dbname = (char *)malloc(len+1); + tbname = (char *)malloc(len+1); + + if (tbr_get_tablename(&m, dbname, len, tbname, len)) { + db_name[name_count] = dbname; + table_name[name_count] = tbname; + name_count++; + } else { + free(dbname); + free(tbname); + return (false); // Parse error + } + } + // MySQL does support multi table delete/update + if ((tbr_match_keyword(&m, "DELETE") && + tbr_skipto_keyword(&m, "FROM","")) || + (tbr_match_keyword(&m, "UPDATE"))) { + dbname = (char *)malloc(len+1); + tbname = (char *)malloc(len+1); + + // These will eat the optional keywords from update + tbr_match_keyword(&m, "LOW PRIORITY"); + tbr_match_keyword(&m, "IGNORE"); + + // Parse the first db.table name + if (tbr_get_tablename(&m, dbname, len,tbname,len)) { + db_name[name_count] = dbname; + table_name[name_count] = tbname; + name_count++; + + // Table names are delimited by "," + while(tbr_match_const(&m, ",")) { + dbname = (char *)malloc(len+1); + tbname = (char *)malloc(len+1); + // Parse the next db.table name + if (tbr_get_tablename(&m, dbname, len,tbname,len)) { + db_name[name_count] = dbname; + table_name[name_count] = tbname; + name_count++; + } else { + free(dbname); + free(tbname); + return (false); + } + } + } + } + + // LOAD command + if (tbr_match_keyword(&m, "LOAD") && + tbr_skipto_keyword(&m, "INTO", "")) { + + // Eat TABLE keyword + tbr_match_keyword(&m, "TABLE"); + + dbname = (char *)malloc(len+1); + tbname = (char *)malloc(len+1); + + if (tbr_get_tablename(&m, dbname, len, tbname, len)) { + db_name[name_count] = dbname; + table_name[name_count] = tbname; + name_count++; + } else { + free(dbname); + free(tbname); + return (false); // Parse error + } + } + + // TODO: Is create table/drop table needed ? + + *n_tables = name_count; + + if (name_count == 0) { + return (false); // Parse error + } + + return (true); +} + +} // table_replication_parser + +} // mysql + diff --git a/table_replication_consistency/table_replication_parser.h b/table_replication_consistency/table_replication_parser.h new file mode 100644 index 000000000..0b13a6438 --- /dev/null +++ b/table_replication_consistency/table_replication_parser.h @@ -0,0 +1,51 @@ +/* +Copyright (C) 2013, SkySQL Ab + + +This file is distributed as part of the SkySQL Gateway. It is free +software: you can redistribute it and/or modify it under the terms of the +GNU General Public License as published by the Free Software Foundation, +version 2. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 51 +Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Author: Jan Lindström jan.lindstrom@skysql.com + +Created: 20-06-2013 +Updated: + +*/ + +#ifndef TABLE_REPLICATION_PARSER_H +#define TABLE_REPLICATION_PARSER_H + +namespace mysql { + +namespace table_replication_parser { + +/***********************************************************************//** +This function parses SQL-clauses and extracts table names +from the clause. +@return true if table names found, false if not +*/ +bool +tbr_parser_table_names( +/*===================*/ + char **db_name, /*!< inout: Array of db names */ + char **table_name, /*!< inout: Array of table names */ + int *n_tables, /*!< out: Number of db.table names found */ + const char* sql_string); /*!< in: SQL-clause */ + +} // table_replication_parser + +} // mysql + +#endif + diff --git a/table_replication_consistency/test/CMakeCache.txt b/table_replication_consistency/test/CMakeCache.txt index 22a87f8f6..3db1ad0b3 100644 --- a/table_replication_consistency/test/CMakeCache.txt +++ b/table_replication_consistency/test/CMakeCache.txt @@ -17,10 +17,6 @@ //Path to a program. CMAKE_AR:FILEPATH=/usr/bin/ar -//For backwards compatibility, what version of CMake commands and -// syntax should this version of CMake try to support. -CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4 - //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. CMAKE_BUILD_TYPE:STRING=Debug @@ -159,12 +155,6 @@ CMAKE_USE_RELATIVE_PATHS:BOOL=OFF // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE -//Single output directory for building all executables. -EXECUTABLE_OUTPUT_PATH:PATH= - -//Single output directory for building all libraries. -LIBRARY_OUTPUT_PATH:PATH= - //Path to a library. LIB_CRYPTO:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so @@ -174,12 +164,6 @@ MySQL_INCLUDE_DIR:PATH=/usr/local/include //Path to a library. MySQL_LIBRARY:FILEPATH=/usr/lib/libmysqlclient_r.so -//Value Computed by CMake -Project_BINARY_DIR:STATIC=/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test - -//Value Computed by CMake -Project_SOURCE_DIR:STATIC=/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test - //Path to a file. SkySQL_INCLUDE_DIR:PATH=/home/jan/skysql/skygateway/skygateway/utils diff --git a/table_replication_consistency/test/CMakeFiles/CMakeOutput.log b/table_replication_consistency/test/CMakeFiles/CMakeOutput.log index f15631124..2ee38a62e 100644 --- a/table_replication_consistency/test/CMakeFiles/CMakeOutput.log +++ b/table_replication_consistency/test/CMakeFiles/CMakeOutput.log @@ -261,3 +261,266 @@ Parsed CXX implicit link information from above output: implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] +The system is: Linux - 3.5.0-28-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec4066791333/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec4066791333.dir/build.make CMakeFiles/cmTryCompileExec4066791333.dir/build +make[1]: Entering directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec4066791333.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec4066791333.dir/testCCompiler.c.o -c /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec4066791333 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec4066791333.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec4066791333.dir/testCCompiler.c.o -o cmTryCompileExec4066791333 -rdynamic +make[1]: Leaving directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec4094219882/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec4094219882.dir/build.make CMakeFiles/cmTryCompileExec4094219882.dir/build +make[1]: Entering directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec4094219882 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec4094219882.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec4094219882 -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec4094219882' '-rdynamic' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/4.7/collect2 --sysroot=/ --build-id --no-add-needed --as-needed --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec4094219882 /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.7/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.7 -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o +make[1]: Leaving directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec4094219882/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec4094219882.dir/build.make CMakeFiles/cmTryCompileExec4094219882.dir/build] + ignore line: [make[1]: Entering directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp'] + ignore line: [/usr/bin/cmake -E cmake_progress_report /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec4094219882] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec4094219882.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec4094219882 -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec4094219882' '-rdynamic' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/4.7/collect2 --sysroot=/ --build-id --no-add-needed --as-needed --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec4094219882 /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.7/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.7 -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/collect2] ==> ignore + arg [--sysroot=/] ==> ignore + arg [--build-id] ==> ignore + arg [--no-add-needed] ==> ignore + arg [--as-needed] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec4094219882] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbegin.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.7] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.7] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..] + arg [CMakeFiles/cmTryCompileExec4094219882.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/crtend.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/gcc/x86_64-linux-gnu/4.7] ==> [/usr/lib/gcc/x86_64-linux-gnu/4.7] + collapse dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib] ==> [/usr/lib] + collapse dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse dir [/lib/../lib] ==> [/lib] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/../lib] ==> [/usr/lib] + collapse dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..] ==> [/usr/lib] + implicit libs: [c] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec3884602878/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec3884602878.dir/build.make CMakeFiles/cmTryCompileExec3884602878.dir/build +make[1]: Entering directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec3884602878.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec3884602878.dir/testCXXCompiler.cxx.o -c /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec3884602878 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3884602878.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec3884602878.dir/testCXXCompiler.cxx.o -o cmTryCompileExec3884602878 -rdynamic +make[1]: Leaving directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec3591115516/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec3591115516.dir/build.make CMakeFiles/cmTryCompileExec3591115516.dir/build +make[1]: Entering directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec3591115516 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3591115516.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec3591115516 -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec3591115516' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/4.7/collect2 --sysroot=/ --build-id --no-add-needed --as-needed --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec3591115516 /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.7/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.7 -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o +make[1]: Leaving directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec3591115516/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec3591115516.dir/build.make CMakeFiles/cmTryCompileExec3591115516.dir/build] + ignore line: [make[1]: Entering directory `/home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp'] + ignore line: [/usr/bin/cmake -E cmake_progress_report /home/jan/skysql/skygateway/skygateway/table_replication_consistency/test/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec3591115516] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3591115516.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec3591115516 -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec3591115516' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/4.7/collect2 --sysroot=/ --build-id --no-add-needed --as-needed --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec3591115516 /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.7/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.7 -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/collect2] ==> ignore + arg [--sysroot=/] ==> ignore + arg [--build-id] ==> ignore + arg [--no-add-needed] ==> ignore + arg [--as-needed] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec3591115516] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/crtbegin.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.7] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.7] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..] + arg [CMakeFiles/cmTryCompileExec3591115516.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/crtend.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/gcc/x86_64-linux-gnu/4.7] ==> [/usr/lib/gcc/x86_64-linux-gnu/4.7] + collapse dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib] ==> [/usr/lib] + collapse dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse dir [/lib/../lib] ==> [/lib] + collapse dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse dir [/usr/lib/../lib] ==> [/usr/lib] + collapse dir [/usr/lib/gcc/x86_64-linux-gnu/4.7/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + + diff --git a/table_replication_consistency/test/CMakeFiles/Makefile.cmake b/table_replication_consistency/test/CMakeFiles/Makefile.cmake index 41e0f593b..e28e9c605 100644 --- a/table_replication_consistency/test/CMakeFiles/Makefile.cmake +++ b/table_replication_consistency/test/CMakeFiles/Makefile.cmake @@ -11,11 +11,28 @@ SET(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/CMakeCXXCompiler.cmake" "CMakeFiles/CMakeSystem.cmake" "CMakeLists.txt" + "/usr/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeClDeps.cmake" "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-2.8/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-2.8/Modules/CMakeUnixFindMake.cmake" "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" "/usr/share/cmake-2.8/Modules/Compiler/GNU.cmake" diff --git a/table_replication_consistency/test/Example b/table_replication_consistency/test/Example index ab7f98194..1cb800559 100755 Binary files a/table_replication_consistency/test/Example and b/table_replication_consistency/test/Example differ