Compilation fails

Bug #890982 reported by Vadim Tkachenko on 2011-11-16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL patches by Codership

Bug Description

most recent version on lp:codership-mysql ( revno: 3620 ) fails to compile

with error
Scanning dependencies of target strings
[ 1%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_snprintf_service.c.o
[ 1%] [ 1%] Built target INFO_BIN
Building C object libservices/CMakeFiles/mysqlservices.dir/thd_alloc_service.c.o
[ 1%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_wait_service.c.o
> "
CMake Error at cmake/do_abi_check.cmake:78 (MESSAGE):
  ABI check found difference between
  /data/opt/vadim/src/codership-mysql/include/mysql.h.pp and

gmake[2]: *** [CMakeFiles/abi_check] Error 1
gmake[1]: *** [CMakeFiles/abi_check.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....

I use

Related branches

description: updated
Alex Yurchenko (ayurchen) wrote :

$ diff -u include/mysql.h.pp abi_check.out--- include/mysql.h.pp 2011-09-25 23:06:54.000000000 +0300
+++ abi_check.out 2011-11-16 18:08:34.000000000 +0200
@@ -1,6 +1,7 @@
 typedef char my_bool;
 typedef int my_socket;
 #include "mysql_version.h"
 #include "mysql_com.h"
 enum enum_server_command

This is reproducible on Ubuntu 11.10 (GCC 4.6.1, cmake-2.8.5) but not on Ubuntu 10.04 (GCC 4.4.3, cmake-2.8.0).

Moreover, compile-pentium64 script fails in vanilla 5.5.17 source from official tarball on Ubuntu 11.10:

[100%] Building CXX object sql/CMakeFiles/mysqld.dir/
Linking CXX executable mysqld
gcc: error: _ALL_STATIC=1: No such file or directory
make[2]: *** [sql/mysqld] Error 1
make[1]: *** [sql/CMakeFiles/mysqld.dir/all] Error 2
make: *** [all] Error 2

while compile-amd64-max does just fine.

This leads me to conclude that compile-pentium64 script and its derivatives is genuinely broken in MySQL and compile-amd64-* should be used instead.

Changed in codership-mysql:
status: New → Invalid
Vadim Tkachenko (vadim-tk) wrote :

I have the same problem with

so what is the proper way to build the most recent revision ?

Alex Yurchenko (ayurchen) wrote :

compile-pentium64 script is likewise broken in MySQL 5.1.59

Alex Yurchenko (ayurchen) wrote :

Vadim, which distribution/compiler/cmake are you using? So far compile-amd64-wsrep works fine for me everywhere. Are you certain you have the same error as with compile-pentium64-wsrep?

Vadim Tkachenko (vadim-tk) wrote :


I use Oracle Linux 6.1, which should be the same as RedHat 6.1.

With compile-amd64-wsrep I have exactly the same error.

When I disable
ABI_CHECK in file
cmake/abi_check.cmake - ( SET(RUN_ABI_CHECK 0) )

I have problem with file include/mysql_version.h
it contains:

#define MYSQL_COMPILATION_COMMENT "wsrep_22.3dev.r3623

That is quote is after new line

Vadim Tkachenko (vadim-tk) wrote :

I suspect the failure appears after revision

1. I was able to compile before this revision, even with 5.5.17 version
2. File include/mysql_version.h gets broken on MYSQL_COMPILATION_COMMENT

Vadim Tkachenko (vadim-tk) wrote :

to check my assumption I changed




And now I am able to compile without problem.

Changed in codership-mysql:
status: Invalid → In Progress
status: In Progress → Fix Committed
Changed in codership-mysql:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers