Compile error in probes_mysql.o

Bug #1128816 reported by Roel Van de Paar
This bug report is a duplicate of:  Bug #747152: Build fails if dtrace support found. Edit Remove
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Confirmed
High
Unassigned
5.1
New
Undecided
Unassigned
5.5
Confirmed
High
Unassigned
5.6
New
Undecided
Unassigned

Bug Description

[ 70%] Building C object plugin/percona-pam-for-mysql/CMakeFiles/dialog.dir/src/dialog.c.o
cd /percona-server/5.5/Percona-Server-5.5.28-rel29.3/plugin/percona-pam-for-mysql && /usr/bin/gcc -Ddialog_EXPORTS -DHAVE_RESPONSE_TIME_DISTRIBUTION -DHAVE_CONFIG_H -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -DPERCONA_INNODB_VERSION=rel29.3 -fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -fPIC -I/percona-server/5.5/Percona-Server-5.5.28-rel29.3/include -I/percona-server/5.5/Percona-Server-5.5.28-rel29.3/sql -I/percona-server/5.5/Percona-Server-5.5.28-rel29.3/regex -I/percona-server/5.5/Percona-Server-5.5.28-rel29.3/extra/yassl/include -I/percona-server/5.5/Percona-Server-5.5.28-rel29.3/extra/yassl/taocrypt/include -I/percona-server/5.5/Percona-Server-5.5.28-rel29.3/zlib -o CMakeFiles/dialog.dir/src/dialog.c.o -c /percona-server/5.5/Percona-Server-5.5.28-rel29.3/plugin/percona-pam-for-mysql/src/dialog.c
Linking C shared module dialog.so
cd /percona-server/5.5/Percona-Server-5.5.28-rel29.3/plugin/percona-pam-for-mysql && /usr/bin/cmake -E cmake_link_script CMakeFiles/dialog.dir/link.txt --verbose=1
/usr/bin/gcc -fPIC -fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -DPERCONA_INNODB_VERSION=rel29.3 -fPIC -Wall -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -shared -Wl,-soname,dialog.so -o dialog.so CMakeFiles/dialog.dir/src/dialog.c.o -lpthread ../../probes_mysql.o ../../libservices/libmysqlservices.a ../../libmysql/libmysqlclient.a -lpthread ../../probes_mysql.o -lm -lrt -ldl
../../probes_mysql.o:(.probes+0x0): multiple definition of `mysql_keycache__write__done_semaphore'
../../probes_mysql.o:(.probes+0x0): first defined here
../../probes_mysql.o:(.probes+0x2): multiple definition of `mysql_keycache__write__block_semaphore'
../../probes_mysql.o:(.probes+0x2): first defined here
../../probes_mysql.o:(.probes+0x4): multiple definition of `mysql_keycache__write__start_semaphore'
../../probes_mysql.o:(.probes+0x4): first defined here
../../probes_mysql.o:(.probes+0x6): multiple definition of `mysql_keycache__read__done_semaphore'
../../probes_mysql.o:(.probes+0x6): first defined here
../../probes_mysql.o:(.probes+0x8): multiple definition of `mysql_keycache__read__miss_semaphore'
../../probes_mysql.o:(.probes+0x8): first defined here
../../probes_mysql.o:(.probes+0xa): multiple definition of `mysql_keycache__read__hit_semaphore'
../../probes_mysql.o:(.probes+0xa): first defined here
../../probes_mysql.o:(.probes+0xc): multiple definition of `mysql_keycache__read__block_semaphore'
../../probes_mysql.o:(.probes+0xc): first defined here
../../probes_mysql.o:(.probes+0xe): multiple definition of `mysql_keycache__read__start_semaphore'
../../probes_mysql.o:(.probes+0xe): first defined here
../../probes_mysql.o:(.probes+0x10): multiple definition of `mysql_net__write__done_semaphore'
../../probes_mysql.o:(.probes+0x10): first defined here
../../probes_mysql.o:(.probes+0x12): multiple definition of `mysql_net__write__start_semaphore'
../../probes_mysql.o:(.probes+0x12): first defined here
../../probes_mysql.o:(.probes+0x14): multiple definition of `mysql_net__read__done_semaphore'
../../probes_mysql.o:(.probes+0x14): first defined here
../../probes_mysql.o:(.probes+0x16): multiple definition of `mysql_net__read__start_semaphore'
../../probes_mysql.o:(.probes+0x16): first defined here
../../probes_mysql.o:(.probes+0x18): multiple definition of `mysql_multi__delete__done_semaphore'
../../probes_mysql.o:(.probes+0x18): first defined here
../../probes_mysql.o:(.probes+0x1a): multiple definition of `mysql_multi__delete__start_semaphore'
../../probes_mysql.o:(.probes+0x1a): first defined here
../../probes_mysql.o:(.probes+0x1c): multiple definition of `mysql_delete__done_semaphore'
../../probes_mysql.o:(.probes+0x1c): first defined here
../../probes_mysql.o:(.probes+0x1e): multiple definition of `mysql_delete__start_semaphore'
../../probes_mysql.o:(.probes+0x1e): first defined here
../../probes_mysql.o:(.probes+0x20): multiple definition of `mysql_multi__update__done_semaphore'
../../probes_mysql.o:(.probes+0x20): first defined here
../../probes_mysql.o:(.probes+0x22): multiple definition of `mysql_multi__update__start_semaphore'
../../probes_mysql.o:(.probes+0x22): first defined here
../../probes_mysql.o:(.probes+0x24): multiple definition of `mysql_update__done_semaphore'
../../probes_mysql.o:(.probes+0x24): first defined here
../../probes_mysql.o:(.probes+0x26): multiple definition of `mysql_update__start_semaphore'
../../probes_mysql.o:(.probes+0x26): first defined here
../../probes_mysql.o:(.probes+0x28): multiple definition of `mysql_insert__select__done_semaphore'
../../probes_mysql.o:(.probes+0x28): first defined here
../../probes_mysql.o:(.probes+0x2a): multiple definition of `mysql_insert__select__start_semaphore'
../../probes_mysql.o:(.probes+0x2a): first defined here
../../probes_mysql.o:(.probes+0x2c): multiple definition of `mysql_insert__done_semaphore'
../../probes_mysql.o:(.probes+0x2c): first defined here
../../probes_mysql.o:(.probes+0x2e): multiple definition of `mysql_insert__start_semaphore'
../../probes_mysql.o:(.probes+0x2e): first defined here
../../probes_mysql.o:(.probes+0x30): multiple definition of `mysql_select__done_semaphore'
../../probes_mysql.o:(.probes+0x30): first defined here
../../probes_mysql.o:(.probes+0x32): multiple definition of `mysql_select__start_semaphore'
../../probes_mysql.o:(.probes+0x32): first defined here
../../probes_mysql.o:(.probes+0x34): multiple definition of `mysql_filesort__done_semaphore'
../../probes_mysql.o:(.probes+0x34): first defined here
../../probes_mysql.o:(.probes+0x36): multiple definition of `mysql_filesort__start_semaphore'
../../probes_mysql.o:(.probes+0x36): first defined here
../../probes_mysql.o:(.probes+0x38): multiple definition of `mysql_handler__unlock__done_semaphore'
../../probes_mysql.o:(.probes+0x38): first defined here
../../probes_mysql.o:(.probes+0x3a): multiple definition of `mysql_handler__wrlock__done_semaphore'
../../probes_mysql.o:(.probes+0x3a): first defined here
../../probes_mysql.o:(.probes+0x3c): multiple definition of `mysql_handler__rdlock__done_semaphore'
../../probes_mysql.o:(.probes+0x3c): first defined here
../../probes_mysql.o:(.probes+0x3e): multiple definition of `mysql_handler__unlock__start_semaphore'
../../probes_mysql.o:(.probes+0x3e): first defined here
../../probes_mysql.o:(.probes+0x40): multiple definition of `mysql_handler__wrlock__start_semaphore'
../../probes_mysql.o:(.probes+0x40): first defined here
../../probes_mysql.o:(.probes+0x42): multiple definition of `mysql_handler__rdlock__start_semaphore'
../../probes_mysql.o:(.probes+0x42): first defined here
../../probes_mysql.o:(.probes+0x44): multiple definition of `mysql_index__read__row__done_semaphore'
../../probes_mysql.o:(.probes+0x44): first defined here
../../probes_mysql.o:(.probes+0x46): multiple definition of `mysql_index__read__row__start_semaphore'
../../probes_mysql.o:(.probes+0x46): first defined here
../../probes_mysql.o:(.probes+0x48): multiple definition of `mysql_read__row__done_semaphore'
../../probes_mysql.o:(.probes+0x48): first defined here
../../probes_mysql.o:(.probes+0x4a): multiple definition of `mysql_read__row__start_semaphore'
../../probes_mysql.o:(.probes+0x4a): first defined here
../../probes_mysql.o:(.probes+0x4c): multiple definition of `mysql_delete__row__done_semaphore'
../../probes_mysql.o:(.probes+0x4c): first defined here
../../probes_mysql.o:(.probes+0x4e): multiple definition of `mysql_delete__row__start_semaphore'
../../probes_mysql.o:(.probes+0x4e): first defined here
../../probes_mysql.o:(.probes+0x50): multiple definition of `mysql_update__row__done_semaphore'
../../probes_mysql.o:(.probes+0x50): first defined here
../../probes_mysql.o:(.probes+0x52): multiple definition of `mysql_update__row__start_semaphore'
../../probes_mysql.o:(.probes+0x52): first defined here
../../probes_mysql.o:(.probes+0x54): multiple definition of `mysql_insert__row__done_semaphore'
../../probes_mysql.o:(.probes+0x54): first defined here
../../probes_mysql.o:(.probes+0x56): multiple definition of `mysql_insert__row__start_semaphore'
../../probes_mysql.o:(.probes+0x56): first defined here
../../probes_mysql.o:(.probes+0x58): multiple definition of `mysql_query__exec__done_semaphore'
../../probes_mysql.o:(.probes+0x58): first defined here
../../probes_mysql.o:(.probes+0x5a): multiple definition of `mysql_query__exec__start_semaphore'
../../probes_mysql.o:(.probes+0x5a): first defined here
../../probes_mysql.o:(.probes+0x5c): multiple definition of `mysql_query__cache__miss_semaphore'
../../probes_mysql.o:(.probes+0x5c): first defined here
../../probes_mysql.o:(.probes+0x5e): multiple definition of `mysql_query__cache__hit_semaphore'
../../probes_mysql.o:(.probes+0x5e): first defined here
../../probes_mysql.o:(.probes+0x60): multiple definition of `mysql_query__parse__done_semaphore'
../../probes_mysql.o:(.probes+0x60): first defined here
../../probes_mysql.o:(.probes+0x62): multiple definition of `mysql_query__parse__start_semaphore'
../../probes_mysql.o:(.probes+0x62): first defined here
../../probes_mysql.o:(.probes+0x64): multiple definition of `mysql_query__done_semaphore'
../../probes_mysql.o:(.probes+0x64): first defined here
../../probes_mysql.o:(.probes+0x66): multiple definition of `mysql_query__start_semaphore'
../../probes_mysql.o:(.probes+0x66): first defined here
../../probes_mysql.o:(.probes+0x68): multiple definition of `mysql_command__done_semaphore'
../../probes_mysql.o:(.probes+0x68): first defined here
../../probes_mysql.o:(.probes+0x6a): multiple definition of `mysql_command__start_semaphore'
../../probes_mysql.o:(.probes+0x6a): first defined here
../../probes_mysql.o:(.probes+0x6c): multiple definition of `mysql_connection__done_semaphore'
../../probes_mysql.o:(.probes+0x6c): first defined here
../../probes_mysql.o:(.probes+0x6e): multiple definition of `mysql_connection__start_semaphore'
../../probes_mysql.o:(.probes+0x6e): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [plugin/percona-pam-for-mysql/dialog.so] Error 1
make[2]: Leaving directory `/percona-server/5.5/Percona-Server'
make[1]: *** [plugin/percona-pam-for-mysql/CMakeFiles/dialog.dir/all] Error 2
make[1]: Leaving directory `/percona-server/5.5/Percona-Server'
make: *** [all] Error 2
[Roel@qaserver 5.5]$

Tags: qa
Revision history for this message
Roel Van de Paar (roel11) wrote :

Set -j1 instead of -j4 in ./build/build-binary.sh and use build-binary.sh to compile.

Revision history for this message
Roel Van de Paar (roel11) wrote :

Removing -DWITH_PAM=ON allows it to build fine

Revision history for this message
Roel Van de Paar (roel11) wrote :
Revision history for this message
Roel Van de Paar (roel11) wrote :

* I do not have systemtap installed
* pam-devel is installed.
* Note that recently it became a requirement to install pam-devel to avoid build process from ending:

CMake Error at plugin/percona-pam-for-mysql/CMakeLists.txt:20 (MESSAGE):
   Required PAM dev library not found. Please install PAM development files!

Revision history for this message
Roel Van de Paar (roel11) wrote :

Builts fine with -DENABLE_DTRACE=0 -DWITH_PAM=ON

Revision history for this message
Roel Van de Paar (roel11) wrote :

With Raghu's patch from 747152 #7 it works fine even with -DENABLE_DTRACE=0 removed while -DWITH_PAM=ON still present. Setting -DENABLE_DTRACE=1 results in the same error as above (to be expected maybe as dtrace is not present?)

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

Marking this a duplicate of lp:747152 (as patches are posted there)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.