5.6 link failure with WITH_PFS=0

Bug #1272747 reported by Raghavendra D Prabhu on 2014-01-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server
Status tracked in 5.6
5.1
Undecided
Unassigned
5.5
Undecided
Unassigned
5.6
High
Laurynas Biveinis

Bug Description

When building 5.6 with -DWITH_PERFSCHEMA_STORAGE_ENGINE=0 the final link fails

cmake -DWITH_EMBEDDED_SERVER=OFF -DWITH_PERFSCHEMA_STORAGE_ENGINE=0 -DCMAKE_BUILD_TYPE=Release -DBUILD_CONFIG=mysql_release .

make

........
..........
Building C object sql/CMakeFiles/sql.dir/__/sql-common/pack.c.o
[ 98%] Building CXX object sql/CMakeFiles/sql.dir/__/sql-common/client_authentication.cc.o
[ 98%] Building CXX object sql/CMakeFiles/sql.dir/event_data_objects.cc.o
[ 98%] Building CXX object sql/CMakeFiles/sql.dir/event_db_repository.cc.o
[ 98%] Building CXX object sql/CMakeFiles/sql.dir/event_parse_data.cc.o
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/event_queue.cc.o
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/event_scheduler.cc.o
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/events.cc.o
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/mysqld.cc.o
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/sql_client.cc.o
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/sql_timer.cc.o
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
../storage/innobase/libinnobase.a(log0log.cc.o): In function `log_peek_lsn(unsigned long*)':
log0log.cc:(.text+0x7d63): undefined reference to `mutex_enter_nowait_func(ib_prio_mutex_t*, char const*, unsigned long)'
/usr/bin/ld: mysqld: hidden symbol `_Z23mutex_enter_nowait_funcP15ib_prio_mutex_tPKcm' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
sql/CMakeFiles/mysqld.dir/build.make:115: recipe for target 'sql/mysqld' failed
make[2]: *** [sql/mysqld] Error 1
CMakeFiles/Makefile2:4138: recipe for target 'sql/CMakeFiles/mysqld.dir/all' failed
make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make: *** [all] Error 2

summary: - Link failure with WITH_PFS=0
+ 5.6 link failure with WITH_PFS=0

Confirmed with recent Percona Server 5.6:

...
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/mysqld.cc.o
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/sql_client.cc.o
[ 99%] Building CXX object sql/CMakeFiles/sql.dir/sql_timer.cc.o
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
../storage/innobase/libinnobase.a(log0log.cc.o): In function `log_peek_lsn(unsigned long*)':
log0log.cc:(.text+0x816b): undefined reference to `mutex_enter_nowait_func(ib_prio_mutex_t*, char const*, unsigned long)'
/usr/bin/ld: mysqld: hidden symbol `_Z23mutex_enter_nowait_funcP15ib_prio_mutex_tPKcm' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [sql/mysqld] Error 1
make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2
make: *** [all] Error 2
openxs@ao756:~/bzr/percona-5.6$ bzr version-info
revision-id: <email address hidden>
date: 2014-01-23 07:15:42 +0200
build-date: 2014-01-26 16:30:34 +0200
revno: 535
branch-nick: percona-5.6
openxs@ao756:~/bzr/percona-5.6$ fc -l
...
2004 bzr branch lp:percona-server/5.6 percona-5.6
2005 cd percona-5.6
2006 ls
2007 cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DCMAKE_INSTALL_PREFIX=/home/openxs/dbs/p5.6 -DWITH_PERFSCHEMA_STORAGE_ENGINE=0
2008 make -j 2
2009 bzr version-info

No problems with the same cmake command line on recent Percona Server 5.5 from bzr.

A regression introduced by the 5.6 priority mutex framework. This kind of issues crops up (and is fixed) regularly, maybe it's worthwhile to add a single PFS=0 config builder to Jenkins.

tags: added: xtradb
tags: added: low-hanging-fruit
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers