Bug #54532 Compiling fails on embedded client
Submitted: 15 Jun 2010 21:55 Modified: 16 Jun 2010 13:12
Reporter: Miguel Solorzano Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:mysql-next-mr-opt-backporting OS:Linux (Slackware 13.1 X86_64)
Assigned to: CPU Architecture:Any

[15 Jun 2010 21:55] Miguel Solorzano
Description:
Trying to compile to test bug http://bugs.mysql.com/bug.php?id=17560 I got the below compile fail:

/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:1994: undefined reference to `st_join_table::get_sj_strategy() const'
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_check_only_first_match(st_join_table const*) const':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_select.h:730: undefined reference to `st_join_table::get_sj_strategy() const'
collect2: ld returned 1 exit status
gmake[2]: *** [libmysqld/examples/mysql_embedded] Error 1
gmake[1]: *** [libmysqld/examples/CMakeFiles/mysql_embedded.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_check_only_first_match(st_join_table const*) const':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_select.h:730: undefined reference to `st_join_table::get_sj_strategy() const'
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_record_fields()':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:183: undefined reference to `st_join_table::get_sj_strategy() const'
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::check_match(unsigned char*)':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:2008: undefined reference to `st_join_table::get_sj_strategy() const'
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:1994: undefined reference to `st_join_table::get_sj_strategy() const'
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_check_only_first_match(st_join_table const*) const':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_select.h:730: undefined reference to `st_join_table::get_sj_strategy() const'
collect2: ld returned 1 exit status
gmake[2]: *** [libmysqld/examples/mysqltest_embedded] Error 1
gmake[1]: *** [libmysqld/examples/CMakeFiles/mysqltest_embedded.dir/all] Error 2
Linking CXX executable mysql_client_test_embedded
Linking CXX static library libsql.a
[100%] Built target sql
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_check_only_first_match(st_join_table const*) const':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_select.h:730: undefined reference to `st_join_table::get_sj_strategy() const'
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_record_fields()':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:183: undefined reference to `st_join_table::get_sj_strategy() const'
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::check_match(unsigned char*)':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:2008: undefined reference to `st_join_table::get_sj_strategy() const'
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:1994: undefined reference to `st_join_table::get_sj_strategy() const'
../libmysqld.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_check_only_first_match(st_join_table const*) const':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_select.h:730: undefined reference to `st_join_table::get_sj_strategy() const'
collect2: ld returned 1 exit status
gmake[2]: *** [libmysqld/examples/mysql_client_test_embedded] Error 1
gmake[1]: *** [libmysqld/examples/CMakeFiles/mysql_client_test_embedded.dir/all] Error 2
gmake: *** [all] Error 2

How to repeat:
BUILD/compile-amd64-max --prefix=/home/miguel/tmp/5.5mr
[15 Jun 2010 23:37] MySQL Verification Team
Linking CXX static library libsql.a
[100%] Built target sql
Scanning dependencies of target mysqld
[100%] Building CXX object sql/CMakeFiles/mysqld.dir/main.cc.o
Linking CXX executable mysqld
libsql.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_check_only_first_match(st_join_table const*) const':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_select.h:730: undefined reference to `st_join_table::get_sj_strategy() const'
libsql.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_record_fields()':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:183: undefined reference to `st_join_table::get_sj_strategy() const'
libsql.a(sql_join_cache.cc.o): In function `JOIN_CACHE::check_match(unsigned char*)':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:2008: undefined reference to `st_join_table::get_sj_strategy() const'
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_join_cache.cc:1994: undefined reference to `st_join_table::get_sj_strategy() const'
libsql.a(sql_join_cache.cc.o): In function `JOIN_CACHE::calc_check_only_first_match(st_join_table const*) const':
/home/miguel/tmp/mysql-next-mr-opt-backporting/sql/sql_select.h:730: undefined reference to `st_join_table::get_sj_strategy() const'
collect2: ld returned 1 exit status
make[2]: *** [sql/mysqld] Error 1
make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2
make: *** [all] Error 2
[miguel@tikal mysql-next-mr-opt-backporting]$
[16 Jun 2010 13:12] MySQL Verification Team
Now compiled.