我试图从源代码安装MySQL作为一个uni项目的一部分 – 我从来没有做过的事情 – 并试图make下面的错误信息:
[ 79%] Building CXX object sql/CMakeFiles/sql.dir/mysqld.cc.o /home/me/mysql-5.5.17/sql/mysqld.cc: In function 'void handle_connections_sockets()': /home/me/mysql-5.5.17/sql/mysqld.cc:5270:31: error: invalid conversion from 'size_socket* {aka int*}' to 'socklen_t* {aka unsigned int*}' [-fpermissive] /usr/include/i386-linux-gnu/sys/socket.h:214:12: error: initializing argument 3 of 'int accept(int, sockaddr*, socklen_t*)' [-fpermissive] /home/me/mysql-5.5.17/sql/mysqld.cc:5337:48: error: invalid conversion from 'int*' to 'socklen_t* {aka unsigned int*}' [-fpermissive] /usr/include/i386-linux-gnu/sys/socket.h:119:12: error: initializing argument 3 of 'int getsockname(int, sockaddr*, socklen_t*)' [-fpermissive] make[2]: *** [sql/CMakeFiles/sql.dir/mysqld.cc.o] Error 1 make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2 make: *** [all] Error 2
我完全不知道如何解决这个问题,因为它似乎是与C + +代码本身的问题。 有没有人更有见识的解决scheme?
编辑:我正在安装MySQL 5.5.17
这个错误报告似乎与您的问题有关,并包含一个可以纠正错误的补丁
为了解决构build软件包源代码时遇到的这些问题,我做了以下工作:
make clean或make distclean再次build设。