[debian-mysql] Bug#775630: mysql-5.5: FTBFS in jessie: make[4]: *** [CMakeFiles/abi_check] Error 1

Lucas Nussbaum lucas at lucas-nussbaum.net
Sun Jan 18 00:46:33 UTC 2015


Source: mysql-5.5
Version: 5.5.40-1
Severity: serious
Tags: jessie sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20150117 qa-ftbfs
Justification: FTBFS in jessie on amd64

Hi,

During a rebuild of all packages in jessie (in a jessie chroot, not a
sid chroot), your package failed to build on amd64.

Relevant part (hopefully):
> make[4]: Entering directory '/«PKGBUILDDIR»/builddir'
> make[4]: Nothing to be done for 'extra/CMakeFiles/innochecksum.dir/build'.
> make[4]: Leaving directory '/«PKGBUILDDIR»/builddir'
> /usr/bin/cmake -E cmake_progress_report /«PKGBUILDDIR»/builddir/CMakeFiles 
> [ 11%] make[4]: Entering directory '/«PKGBUILDDIR»/builddir'
> make[4]: Nothing to be done for 'sql/CMakeFiles/gen_lex_hash.dir/build'.
> make[4]: Leaving directory '/«PKGBUILDDIR»/builddir'
> /usr/bin/cmake -E cmake_progress_report /«PKGBUILDDIR»/builddir/CMakeFiles  4
> [ 11%] make[4]: Entering directory '/«PKGBUILDDIR»/builddir'
> make[4]: Nothing to be done for 'unittest/mysys/CMakeFiles/my_rdtsc-t.dir/build'.
> make[4]: Leaving directory '/«PKGBUILDDIR»/builddir'
> /usr/bin/cmake -E cmake_progress_report /«PKGBUILDDIR»/builddir/CMakeFiles  28
> 1,103c1,243
> < #include "mysql/psi/psi.h"
> < C_MODE_START
> < struct PSI_mutex;
> < struct PSI_rwlock;
> < struct PSI_cond;
> < struct PSI_table_share;
> < struct PSI_table;
> < struct PSI_thread;
> < struct PSI_file;
> < struct PSI_bootstrap
> < {
> <   void* (*get_interface)(int version);
> < };
> < struct PSI_mutex_locker;
> < struct PSI_rwlock_locker;
> < struct PSI_cond_locker;
> < struct PSI_file_locker;
> < enum PSI_mutex_operation
> < {
> <   PSI_MUTEX_LOCK= 0,
> <   PSI_MUTEX_TRYLOCK= 1
> < };
> < enum PSI_rwlock_operation
> < {
> <   PSI_RWLOCK_READLOCK= 0,
> <   PSI_RWLOCK_WRITELOCK= 1,
> <   PSI_RWLOCK_TRYREADLOCK= 2,
> <   PSI_RWLOCK_TRYWRITELOCK= 3
> < };
> < enum PSI_cond_operation
> < {
> <   PSI_COND_WAIT= 0,
> <   PSI_COND_TIMEDWAIT= 1
> < };
> < enum PSI_file_operation
> < {
> <   PSI_FILE_CREATE= 0,
> <   PSI_FILE_CREATE_TMP= 1,
> <   PSI_FILE_OPEN= 2,
> <   PSI_FILE_STREAM_OPEN= 3,
> <   PSI_FILE_CLOSE= 4,
> <   PSI_FILE_STREAM_CLOSE= 5,
> <   PSI_FILE_READ= 6,
> <   PSI_FILE_WRITE= 7,
> <   PSI_FILE_SEEK= 8,
> <   PSI_FILE_TELL= 9,
> <   PSI_FILE_FLUSH= 10,
> <   PSI_FILE_STAT= 11,
> <   PSI_FILE_FSTAT= 12,
> <   PSI_FILE_CHSIZE= 13,
> <   PSI_FILE_DELETE= 14,
> <   PSI_FILE_RENAME= 15,
> <   PSI_FILE_SYNC= 16
> < };
> < struct PSI_table_locker;
> < typedef unsigned int PSI_mutex_key;
> < typedef unsigned int PSI_rwlock_key;
> < typedef unsigned int PSI_cond_key;
> < typedef unsigned int PSI_thread_key;
> < typedef unsigned int PSI_file_key;
> < struct PSI_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_mutex_info_v2
> < {
> CMake Error at /«PKGBUILDDIR»/cmake/do_abi_check.cmake:78 (MESSAGE):
>   ABI check found difference between
>   /«PKGBUILDDIR»/include/mysql/psi/psi_abi_v2.h.pp
>   and /«PKGBUILDDIR»/builddir/abi_check.out
> 
> <   int placeholder;
> < };
> 
> < struct PSI_rwlock_info_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_cond_info_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_thread_info_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_file_info_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_mutex_locker_state_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_rwlock_locker_state_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_cond_locker_state_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_file_locker_state_v2
> < {
> <   int placeholder;
> < };
> < struct PSI_table_locker_state_v2
> < {
> <   int placeholder;
> ---
> > #include "plugin.h"
> > #include <mysql/services.h>
> > #include <mysql/service_my_snprintf.h>
> > extern struct my_snprintf_service_st {
> >   size_t (*my_snprintf_type)(char*, size_t, const char*, ...);
> >   size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list);
> > } *my_snprintf_service;
> > size_t my_snprintf(char* to, size_t n, const char* fmt, ...);
> > size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap);
> > #include <mysql/service_thd_alloc.h>
> > struct st_mysql_lex_string
> > {
> >   char *str;
> >   size_t length;
> > };
> > typedef struct st_mysql_lex_string MYSQL_LEX_STRING;
> > extern struct thd_alloc_service_st {
> >   void *(*thd_alloc_func)(void*, unsigned int);
> >   void *(*thd_calloc_func)(void*, unsigned int);
> >   char *(*thd_strdup_func)(void*, const char *);
> >   char *(*thd_strmake_func)(void*, const char *, unsigned int);
> >   void *(*thd_memdup_func)(void*, const void*, unsigned int);
> >   MYSQL_LEX_STRING *(*thd_make_lex_string_func)(void*, MYSQL_LEX_STRING *,
> >                                         const char *, unsigned int, int);
> > } *thd_alloc_service;
> > void *thd_alloc(void* thd, unsigned int size);
> > void *thd_calloc(void* thd, unsigned int size);
> > char *thd_strdup(void* thd, const char *str);
> > char *thd_strmake(void* thd, const char *str, unsigned int size);
> > void *thd_memdup(void* thd, const void* str, unsigned int size);
> > MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str,
> >                                       const char *str, unsigned int size,
> >                                       int allocate_lex_string);
> > #include <mysql/service_thd_wait.h>
> > typedef enum _thd_wait_type_e {
> >   THD_WAIT_SLEEP= 1,
> >   THD_WAIT_DISKIO= 2,
> >   THD_WAIT_ROW_LOCK= 3,
> >   THD_WAIT_GLOBAL_LOCK= 4,
> >   THD_WAIT_META_DATA_LOCK= 5,
> >   THD_WAIT_TABLE_LOCK= 6,
> >   THD_WAIT_USER_LOCK= 7,
> >   THD_WAIT_BINLOG= 8,
> >   THD_WAIT_GROUP_COMMIT= 9,
> >   THD_WAIT_SYNC= 10,
> >   THD_WAIT_LAST= 11
> > } thd_wait_type;
> > extern struct thd_wait_service_st {
> >   void (*thd_wait_begin_func)(void*, int);
> >   void (*thd_wait_end_func)(void*);
> > } *thd_wait_service;
> > void thd_wait_begin(void* thd, int wait_type);
> > void thd_wait_end(void* thd);
> > #include <mysql/service_thread_scheduler.h>
> > struct scheduler_functions;
> > extern struct my_thread_scheduler_service {
> >   int (*set)(struct scheduler_functions *scheduler);
> >   int (*reset)();
> > } *my_thread_scheduler_service;
> > int my_thread_scheduler_set(struct scheduler_functions *scheduler);
> > int my_thread_scheduler_reset();
> > struct st_mysql_xid {
> >   long formatID;
> >   long gtrid_length;
> >   long bqual_length;
> >   char data[128];
> > };
> > typedef struct st_mysql_xid MYSQL_XID;
> > enum enum_mysql_show_type
> > {
> >   SHOW_UNDEF, SHOW_BOOL, SHOW_INT, SHOW_LONG,
> >   SHOW_LONGLONG, SHOW_CHAR, SHOW_CHAR_PTR,
> >   SHOW_ARRAY, SHOW_FUNC, SHOW_DOUBLE,
> >   SHOW_always_last
> > };
> > struct st_mysql_show_var {
> >   const char *name;
> >   char *value;
> >   enum enum_mysql_show_type type;
> > };
> > typedef int (*mysql_show_var_func)(void*, struct st_mysql_show_var*, char *);
> > struct st_mysql_sys_var;
> > struct st_mysql_value;
> > typedef int (*mysql_var_check_func)(void* thd,
> >                                     struct st_mysql_sys_var *var,
> >                                     void *save, struct st_mysql_value *value);
> > typedef void (*mysql_var_update_func)(void* thd,
> >                                       struct st_mysql_sys_var *var,
> >                                       void *var_ptr, const void *save);
> > struct st_mysql_plugin
> > {
> >   int type;
> >   void *info;
> >   const char *name;
> >   const char *author;
> >   const char *descr;
> >   int license;
> >   int (*init)(void *);
> >   int (*deinit)(void *);
> >   unsigned int version;
> >   struct st_mysql_show_var *status_vars;
> >   struct st_mysql_sys_var **system_vars;
> >   void * __reserved1;
> >   unsigned long flags;
> > };
> > #include "plugin_ftparser.h"
> > #include "plugin.h"
> > enum enum_ftparser_mode
> > {
> >   MYSQL_FTPARSER_SIMPLE_MODE= 0,
> >   MYSQL_FTPARSER_WITH_STOPWORDS= 1,
> >   MYSQL_FTPARSER_FULL_BOOLEAN_INFO= 2
> > };
> > enum enum_ft_token_type
> > {
> >   FT_TOKEN_EOF= 0,
> >   FT_TOKEN_WORD= 1,
> >   FT_TOKEN_LEFT_PAREN= 2,
> >   FT_TOKEN_RIGHT_PAREN= 3,
> >   FT_TOKEN_STOPWORD= 4
> > };
> > typedef struct st_mysql_ftparser_boolean_info
> > {
> >   enum enum_ft_token_type type;
> >   int yesno;
> >   int weight_adjust;
> >   char wasign;
> >   char trunc;
> >   char prev;
> >   char *quot;
> > } MYSQL_FTPARSER_BOOLEAN_INFO;
> > typedef struct st_mysql_ftparser_param
> > {
> >   int (*mysql_parse)(struct st_mysql_ftparser_param *,
> >                      char *doc, int doc_len);
> >   int (*mysql_add_word)(struct st_mysql_ftparser_param *,
> >                         char *word, int word_len,
> >                         MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info);
> >   void *ftparser_state;
> >   void *mysql_ftparam;
> >   struct charset_info_st *cs;
> >   char *doc;
> >   int length;
> >   int flags;
> >   enum enum_ftparser_mode mode;
> > } MYSQL_FTPARSER_PARAM;
> > struct st_mysql_ftparser
> > {
> >   int interface_version;
> >   int (*parse)(MYSQL_FTPARSER_PARAM *param);
> >   int (*init)(MYSQL_FTPARSER_PARAM *param);
> >   int (*deinit)(MYSQL_FTPARSER_PARAM *param);
> > };
> > struct st_mysql_daemon
> > {
> >   int interface_version;
> > };
> > struct st_mysql_information_schema
> > {
> >   int interface_version;
> > };
> > struct st_mysql_storage_engine
> > {
> >   int interface_version;
> > };
> > struct handlerton;
> >  struct Mysql_replication {
> >    int interface_version;
> >  };
> > struct st_mysql_value
> > {
> >   int (*value_type)(struct st_mysql_value *);
> >   const char *(*val_str)(struct st_mysql_value *, char *buffer, int *length);
> >   int (*val_real)(struct st_mysql_value *, double *realbuf);
> >   int (*val_int)(struct st_mysql_value *, long long *intbuf);
> >   int (*is_unsigned)(struct st_mysql_value *);
> > };
> > int thd_in_lock_tables(const void* thd);
> > int thd_tablespace_op(const void* thd);
> > long long thd_test_options(const void* thd, long long test_options);
> > int thd_sql_command(const void* thd);
> > const char *thd_proc_info(void* thd, const char *info);
> > void **thd_ha_data(const void* thd, const struct handlerton *hton);
> > void thd_storage_lock_wait(void* thd, long long value);
> > int thd_tx_isolation(const void* thd);
> > char *thd_security_context(void* thd, char *buffer, unsigned int length,
> >                            unsigned int max_query_len);
> > void thd_inc_row_count(void* thd);
> > int mysql_tmpfile(const char *prefix);
> > int thd_killed(const void* thd);
> > unsigned long thd_get_thread_id(const void* thd);
> > void thd_get_xid(const void* thd, MYSQL_XID *xid);
> > void mysql_query_cache_invalidate4(void* thd,
> make[4]: *** [CMakeFiles/abi_check] Error 1

The full build log is available from:
   http://aws-logs.debian.net/ftbfs-logs/2015/01/17/mysql-5.5_5.5.40-1_jessie.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the pkg-mysql-maint mailing list