FAQ
I encountered two make errors in phpng last night. Both mysql related.

System: Ubuntu 12.04.4 LTS (GNU/Linux 3.8.0-37-generic x86_64)

I used the configure from https://wiki.php.net/phpng with tweaks for my
system.

./configure \
      --prefix=$HOME/tmp/usr \
      --with-config-file-path=$HOME/tmp/usr/etc \
      --enable-mbstring \
      --enable-zip \
      --enable-bcmath \
      --enable-pcntl \
      --enable-ftp \
      --enable-exif \
      --enable-calendar \
      --enable-sysvmsg \
      --enable-sysvsem \
      --enable-sysvshm \
      --enable-wddx \
      --with-curl \
      --with-mcrypt \
      --with-iconv \
      --with-gmp \
      --with-pspell \
      --with-gd \
      --with-jpeg-dir \
      --with-png-dir \
      --with-zlib-dir \
      --with-xpm-dir \
      --with-freetype-dir \
      --with-t1lib \
      --enable-gd-native-ttf \
      --enable-gd-jis-conv \
      --with-openssl \
      --with-mysql \
      --with-gettext \
      --with-zlib \
      --with-bz2 \
      --with-recode \
      --with-mysqli=/usr/bin/mysql_config \
      --with-libdir=/lib/x86_64-linux-gnu

First:

/root/tmp/php-src/ext/pdo_mysql/mysql_driver.c: In function
‘pdo_mysql_get_attribute’:
/root/tmp/php-src/ext/pdo_mysql/mysql_driver.c:447:47: error: macro
"ZVAL_STRINGL" passed 4 arguments, but takes just 3
/root/tmp/php-src/ext/pdo_mysql/mysql_driver.c:447:5: error:
‘ZVAL_STRINGL’ undeclared (first use in this function)
/root/tmp/php-src/ext/pdo_mysql/mysql_driver.c:447:5: note: each
undeclared identifier is reported only once for each function it appears in
make: *** [ext/pdo_mysql/mysql_driver.lo] Error 1

I removed PDO mysql support since I don't need it in my application and
continued.

=========================================================

The second one is mysqlnd related. I saw on the phpng page that it is
not supported. I did not add it to configure. I am not sure why it tried
to build.

/root/tmp/php-src/ext/mysqlnd/mysqlnd.c: In function
‘php_mysqlnd_conn_data_set_client_option_pub’:
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2419:5: warning: passing
argument 2 of ‘zend_hash_del’ from incompatible pointer type [enabled by
default]
/root/tmp/php-src/Zend/zend_hash.h:127:14: note: expected ‘struct
zend_string *’ but argument is of type ‘const char * const’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2419:5: error: too many
arguments to function ‘zend_hash_del’
/root/tmp/php-src/Zend/zend_hash.h:127:14: note: declared here
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c: In function
‘php_mysqlnd_conn_data_set_client_option_2d_pub’:
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2495:5: warning: passing
argument 3 of ‘_zend_hash_init’ from incompatible pointer type [enabled
by default]
/root/tmp/php-src/Zend/zend_hash.h:63:15: note: expected ‘dtor_func_t’
but argument is of type ‘void (*)(void *)’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2503:97: error: macro
"zend_hash_update" passed 6 arguments, but takes just 3
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2503:5: error:
‘zend_hash_update’ undeclared (first use in this function)
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2503:5: note: each undeclared
identifier is reported only once for each function it appears in
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c: In function
‘php_mysqlnd_conn_data_tx_cor_options_to_string_pub’:
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2672:10: error: ‘smart_str’ has
no member named ‘len’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2677:10: error: ‘smart_str’ has
no member named ‘len’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2684:10: error: ‘smart_str’ has
no member named ‘len’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2689:10: error: ‘smart_str’ has
no member named ‘len’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c: In function
‘php_mysqlnd_conn_data_tx_commit_or_rollback_pub’:
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2752:4: warning: excess elements
in struct initializer [enabled by default]
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2752:4: warning: (near
initialization for ‘tmp_str’) [enabled by default]
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2762:17: error: ‘smart_str’ has
no member named ‘c’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2762:17: error: ‘smart_str’ has
no member named ‘c’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c: In function
‘php_mysqlnd_conn_data_tx_begin_pub’:
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2796:4: warning: excess elements
in struct initializer [enabled by default]
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2796:4: warning: (near
initialization for ‘tmp_str’) [enabled by default]
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2798:16: error: ‘smart_str’ has
no member named ‘len’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2810:17: error: ‘smart_str’ has
no member named ‘len’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2815:17: error: ‘smart_str’ has
no member named ‘len’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2826:30: error: ‘smart_str’ has
no member named ‘c’
/root/tmp/php-src/ext/mysqlnd/mysqlnd.c:2826:30: error: ‘smart_str’ has
no member named ‘c’
make: *** [ext/mysqlnd/mysqlnd.lo] Error 1

I stopped here since I was not sure why this was trying to build when
enable-mysqlnd was not on my configure line.

Search Discussions

  • Ferenc Kovacs at May 16, 2014 at 1:00 pm

    On Fri, May 16, 2014 at 2:31 PM, Brian Moon wrote:

    I encountered two make errors in phpng last night. Both mysql related.
    hi,

    from the wiki page (https://wiki.php.net/phpng) it seems that the support
    for pdo and pdo_mysql is incomplete and mysqlnd is not supported (yet).
    pdo is enabled by default, you can disable it via passing --disable-pdo and
    mysqlnd is enabled, because you passed --with-mysql without a path, you
    should try --with-mysql=/path/to/your/libmysql/directory

    --
    Ferenc Kovács
    @Tyr43l - http://tyrael.hu
  • Brian Moon at May 16, 2014 at 1:21 pm

    On 5/16/14, 8:00 , Ferenc Kovacs wrote:
    On Fri, May 16, 2014 at 2:31 PM, Brian Moon wrote:

    I encountered two make errors in phpng last night. Both mysql related.
    hi,

    from the wiki page (https://wiki.php.net/phpng) it seems that the support
    for pdo and pdo_mysql is incomplete and mysqlnd is not supported (yet).
    pdo is enabled by default, you can disable it via passing --disable-pdo and
    mysqlnd is enabled, because you passed --with-mysql without a path, you
    should try --with-mysql=/path/to/your/libmysql/directory
    Ok, thanks. Hmm, specifying the path caused configure to not find either
    headers or libmysqlclient depending on the path I gave it. I need to
    figure out what is up with those files on this system. I will get it
    figured out. Thanks for the pointers.

    Brian.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-internals @
categoriesphp
postedMay 16, '14 at 12:31p
activeMay 16, '14 at 1:21p
posts3
users2
websitephp.net

2 users in discussion

Brian Moon: 2 posts Ferenc Kovacs: 1 post

People

Translate

site design / logo © 2022 Grokbase