D28165: Fix compatibility with modern MySQL

Wolfgang Bauer noreply at phabricator.kde.org
Mon Mar 23 21:49:13 GMT 2020


wbauer added a comment.


  This breaks compilation here on openSUSE with MariaDB:
  
    In file included from /home/abuild/rpmbuild/BUILD/amarok-2.9.70git.20200314T055024~d790424e56/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp:31:
    /usr/include/mysql/mysql.h:39:14: error: conflicting declaration 'typedef char my_bool'
       39 | typedef char my_bool;
          |              ^~~~~~~
    In file included from /home/abuild/rpmbuild/BUILD/amarok-2.9.70git.20200314T055024~d790424e56/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp:20:
    /home/abuild/rpmbuild/BUILD/amarok-2.9.70git.20200314T055024~d790424e56/src/core-impl/storage/sql/mysql-shared/MySqlStorage.h:37:7: note: previous declaration as 'using my_bool = bool'
       37 | using my_bool = bool;
          |       ^~~~~~~
    In file included from /home/abuild/rpmbuild/BUILD/amarok-2.9.70git.20200314T055024~d790424e56/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp:31:
    /usr/include/mysql/mysql.h:362:3: error: conflicting declaration 'typedef struct st_mysql MYSQL'
      362 | } MYSQL;
          |   ^~~~~
    In file included from /home/abuild/rpmbuild/BUILD/amarok-2.9.70git.20200314T055024~d790424e56/src/core-impl/storage/sql/mysql-shared/MySqlStorage.cpp:20:
    /home/abuild/rpmbuild/BUILD/amarok-2.9.70git.20200314T055024~d790424e56/src/core-impl/storage/sql/mysql-shared/MySqlStorage.h:36:8: note: previous declaration as 'struct MYSQL'
       36 | struct MYSQL;
          |        ^~~~~
  
  The content of /usr/include/mysql/mysql_version.h (which is just a symlink to mariadb_version.h):
  
    /* Copyright Abandoned 1996, 1999, 2001 MySQL AB                                                                                                                                    
       This file is public domain and comes with NO WARRANTY of any kind */                                                                                                             
                                                                                                                                                                                        
    /* Version numbers for protocol & mysqld */                                                                                                                                         
                                                                                                                                                                                        
    #ifndef _mariadb_version_h_                                                                                                                                                         
    #define _mariadb_version_h_                                                                                                                                                         
                                                                                                                                                                                        
    #ifdef _CUSTOMCONFIG_                                                                                                                                                               
    #include <custom_conf.h>                                                                                                                                                            
    #else                                                                                                                                                                               
    #define PROTOCOL_VERSION                10                                                                                                                                          
    #define MARIADB_CLIENT_VERSION_STR      "10.4.3"                                                                                                                                    
    #define MARIADB_BASE_VERSION            "mariadb-10.4"                                                                                                                              
    #define MARIADB_VERSION_ID              100403                                                                                                                                      
    #define MARIADB_PORT                    3306                                                                                                                                        
    #define MARIADB_UNIX_ADDR               "/run/mysql/mysql.sock"                                                                                                                     
                                                                                                                                                                                        
    #define MYSQL_CONFIG_NAME               "my"                                                                                                                                        
    #define MYSQL_VERSION_ID                100403                                                                                                                                      
    #define MYSQL_SERVER_VERSION            "10.4.3-MariaDB"                                                                                                                            
                                                                                                                                                                                        
    #define MARIADB_PACKAGE_VERSION "3.1.7"                                                                                                                                             
    #define MARIADB_PACKAGE_VERSION_ID 30107                                                                                                                                            
    #define MARIADB_SYSTEM_TYPE "Linux"                                                                                                                                                 
    #define MARIADB_MACHINE_TYPE "x86_64"                                                                                                                                               
    #define MARIADB_PLUGINDIR "/usr//usr/lib64/mysql/plugin/"
    
    /* mysqld compile time options */
    #ifndef MYSQL_CHARSET
    #define MYSQL_CHARSET                   ""
    #endif
    #endif
    
    /* Source information */
    #define CC_SOURCE_REVISION ""
    
    #endif /* _mariadb_version_h_ */

REPOSITORY
  R181 Amarok

REVISION DETAIL
  https://phabricator.kde.org/D28165

To: vmatare
Cc: wbauer, amarok-devel, jfowkes, pgomes, nicolamori, jyasi, mfraser, ryanmccoskrie, semareit, eridani, eoinoneill, jackyalcine, nhuisman, paul, domson, yaohanchen, malteveerman, markey, James, tbettler, Smar, ricktimmis, asturmlechner, schweingruber, heikobecker
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok-devel/attachments/20200323/9f8f7ddd/attachment.html>


More information about the Amarok-devel mailing list