client.c:439:3: error: use of undeclared identifier 'my_bool'

Python020

client.c:439:3: error: use of undeclared identifier 'my_bool',第1张

解决方式:

把mysql的gem版本换成0.5.2

再bundle

bundle完之後再改回原本的版本就不影响团队开发。

原则就是可以顺利跑完bundle就好,暂时更改版号骗过bundle

Gemfile

gem "mysql2", "~>0.5.2"

发生问题:

$ sudo gem install mysql2 -v 0.3.21

Building native extensions. This could take a while...

ERROR:  Error installing mysql2:

ERROR: Failed to build gem native extension.

    current directory: /Users/huyy01/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/mysql2-0.3.21/ext/mysql2

/Users/huyy01/.rbenv/versions/2.5.1/bin/ruby -r ./siteconf20180724-29825-pksvq0.rb extconf.rb

checking for ruby/thread.h... yes

checking for rb_thread_call_without_gvl() in ruby/thread.h... yes

checking for rb_thread_blocking_region()... no

checking for rb_wait_for_single_fd()... yes

checking for rb_hash_dup()... yes

checking for rb_intern3()... yes

-----

Using mysql_config at /usr/local/bin/mysql_config

-----

checking for mysql.h... yes

checking for errmsg.h... yes

checking for mysqld_error.h... yes

-----

Setting rpath to /usr/local/Cellar/mysql/8.0.11/lib

-----

creating Makefile

current directory: /Users/huyy01/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/mysql2-0.3.21/ext/mysql2

make "DESTDIR=" clean

current directory: /Users/huyy01/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/mysql2-0.3.21/ext/mysql2

make "DESTDIR="

compiling client.c

client.c:439:3: error: use of undeclared identifier 'my_bool'

  my_bool res = mysql_read_query_result(client)

  ^

client.c:441:19: error: use of undeclared identifier 'res'

  return (void *)(res == 0 ? Qtrue : Qfalse)

                  ^

client.c:762:3: error: use of undeclared identifier 'my_bool'

  my_bool boolval

  ^

client.c:793:7: error: use of undeclared identifier 'boolval'

      boolval = (value == Qfalse ? 0 : 1)

      ^

client.c:794:17: error: use of undeclared identifier 'boolval'

      retval = &boolval

                ^

client.c:797:10: error: use of undeclared identifier 'MYSQL_SECURE_AUTH'did you mean 'MYSQL_DEFAULT_AUTH'?

    case MYSQL_SECURE_AUTH:

         ^~~~~~~~~~~~~~~~~

         MYSQL_DEFAULT_AUTH

/usr/local/Cellar/mysql/8.0.11/include/mysql/mysql.h:188:3: note: 'MYSQL_DEFAULT_AUTH' declared here

  MYSQL_DEFAULT_AUTH,

  ^

client.c:798:7: error: use of undeclared identifier 'boolval'

      boolval = (value == Qfalse ? 0 : 1)

      ^

client.c:799:17: error: use of undeclared identifier 'boolval'

      retval = &boolval

                ^

client.c:830:38: error: use of undeclared identifier 'boolval'

        wrapper->reconnect_enabled = boolval

                                     ^

client.c:1185:38: error: use of undeclared identifier 'MYSQL_SECURE_AUTH'did you mean 'MYSQL_DEFAULT_AUTH'?

  return _mysql_client_options(self, MYSQL_SECURE_AUTH, value)

                                     ^~~~~~~~~~~~~~~~~

                                     MYSQL_DEFAULT_AUTH

/usr/local/Cellar/mysql/8.0.11/include/mysql/mysql.h:188:3: note: 'MYSQL_DEFAULT_AUTH' declared here

  MYSQL_DEFAULT_AUTH,

  ^

10 errors generated.

make: *** [client.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/huyy01/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/mysql2-0.3.21 for inspection.

Results logged to /Users/huyy01/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/mysql2-0.3.21/gem_make.out

sh-huyy01:redmine huyy01$ cd /Users/huyy01/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/

360浏览器,用的是IE内核,出现这个错误提示,一般都是因为ActiveX控件的问题。

360浏览器---工具---Internet选项,在弹出框体,选择高级,先还原下高级设置,然后找到图上的两个选项,勾选删,应用就行了。

如果依然不行,360浏览器---工具---选项----高级设置---内核设置,如图:

在内核设置中,先输入你要访问网页的域名,然后把内核设置为IE或者IE9