Percona Server sources can't be compiled without server
Description
Environment
The same behaviour observed on different Linux distros.
Attachments
- 12 Dec 2018, 10:07 AM
clones
is caused by
Smart Checklist
Activity
Julia Vural March 4, 2025 at 9:02 PM
It appears that this issue is no longer being worked on, so we are closing it for housekeeping purposes. If you believe the issue still exists, please open a new ticket after confirming it's present in the latest release.
Lalit Choudhary December 21, 2018 at 8:42 AM
Hello @Slava Sterling
Thank you for the Update.
Validated with PS 5.7.24
Scanning dependencies of target mysqladmin
[ 70%] Building CXX object client/CMakeFiles/mysqladmin.dir/mysqladmin.cc.o
Linking CXX executable mysqladmin
[ 70%] Built target mysqladmin
Scanning dependencies of target mysqlbinlog
[ 70%] Building CXX object client/CMakeFiles/mysqlbinlog.dir/mysqlbinlog.cc.o
Linking CXX executable mysqlbinlog
../archive_output_directory/libperconaserverclient.a(mf_iocache2.c.o): In function `my_b_fill':
/mysql/percona-server-5.7.24-27/mysys/mf_iocache2.c:235: undefined reference to `mysql_file_read'
/mysql/percona-server-5.7.24-27/mysys/mf_iocache2.c:215: undefined reference to `mysql_file_seek'
../archive_output_directory/libperconaserverclient.a(mf_iocache2.c.o): In function `my_b_pread':
/mysql/percona-server-5.7.24-27/mysys/mf_iocache2.c:256: undefined reference to `mysql_file_pread'
../archive_output_directory/libperconaserverclient.a(mf_iocache2.c.o): In function `my_b_filelength':
/mysql/percona-server-5.7.24-27/mysys/mf_iocache2.c:313: undefined reference to `mysql_file_seek'
collect2: error: ld returned 1 exit status
make[2]: *** [client/mysqlbinlog] Error 1
make[1]: *** [client/CMakeFiles/mysqlbinlog.dir/all] Error 2
make: *** [all] Error 2
Slava Sterling December 20, 2018 at 4:26 PM
It seems that the actual fix for https://perconadev.atlassian.net/browse/PS-4773#icft=PS-4773 — https://github.com/percona/percona-server/pull/2532/files — never made it to production releases:
5.7.22.22 — build fails (my original issue https://perconadev.atlassian.net/browse/PS-4773#icft=PS-4773)
5.7.23.23 — build fails
5.7.23.24 — build fails (https://perconadev.atlassian.net/browse/PS-4773#icft=PS-4773 lists this version in "Fix Version/s")
5.7.23.25 — build fails
5.7.24.26 — build fails
5.7.24.27 — build fails
Now when I apply those changes (just add #include "mysql/psi/mysql_file.h"
into mysys/mf_iocache2.c
) — build succeeds on all versions listed above.
@lalit.choudhary Your build log suggests you were reusing the same source dir for multiple builds. Could you please run the following commands exactly:
curl https://www.percona.com/downloads/Percona-Server-LATEST/Percona-Server-5.7.24-27/source/tarball/percona-server-5.7.24-27.tar.gz |
tar -xzf -
cd percona-server-5.7.24-27
cmake -DWITH_BOOST=boost -DDOWNLOAD_BOOST=1 -DWITHOUT_SERVER=1
make
Lalit Choudhary December 12, 2018 at 10:07 AM
Works fine for me in centOS7
percona-server-5.7.24-26
Slava Sterling December 11, 2018 at 4:26 PM
Still experiencing the same issue with 5.7.24-26.3.
Full output: https://pastebin.com/7YfF0pwE
Details
Assignee
Yura SorokinYura SorokinReporter
Slava SterlingSlava SterlingLabels
Affects versions
Priority
Medium
Details
Details
Assignee
Reporter
Labels
Affects versions
Priority
Smart Checklist
Open Smart Checklist
Smart Checklist
Open Smart Checklist
Smart Checklist

cmake -DWITH_BOOST=boost -DDOWNLOAD_BOOST=1 -DWITHOUT_SERVER=1 make ... Linking CXX executable mysqlbinlog ../archive_output_directory/libperconaserverclient.a(mf_iocache2.c.o): In function `my_b_fill': /home/slava/1/percona-server-5.7.22-22/mysys/mf_iocache2.c:235: undefined reference to `mysql_file_read' /home/slava/1/percona-server-5.7.22-22/mysys/mf_iocache2.c:215: undefined reference to `mysql_file_seek' ../archive_output_directory/libperconaserverclient.a(mf_iocache2.c.o): In function `my_b_pread': /home/slava/1/percona-server-5.7.22-22/mysys/mf_iocache2.c:256: undefined reference to `mysql_file_pread' ../archive_output_directory/libperconaserverclient.a(mf_iocache2.c.o): In function `my_b_filelength': /home/slava/1/percona-server-5.7.22-22/mysys/mf_iocache2.c:313: undefined reference to `mysql_file_seek' collect2: error: ld returned 1 exit status make[2]: *** [client/mysqlbinlog] Error 1 make[1]: *** [client/CMakeFiles/mysqlbinlog.dir/all] Error 2 make: *** [all] Error 2
Full output: https://pastebin.com/JGX7sAnk