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.
--
Brian.
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
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.