# Make errors in phpng

- Thread: https://externals.io/message/74259
- Original archive: https://news-web.php.net/php.internals/74259
- Started by Brian Moon on 2014-05-16T12:31:49+00:00
- Messages: 3
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #74259 — Brian Moon — 2014-05-16T12:31:49+00:00

URL: https://externals.io/message/74259#74259

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.
--------
http://brian.moonspot.net/

---

## #74260 — Ferenc Kovacs — 2014-05-16T13:00:42+00:00

URL: https://externals.io/message/74259#74260 · In reply to: #74259

> 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

---

## #74261 — Brian Moon — 2014-05-16T13:21:15+00:00

URL: https://externals.io/message/74259#74261 · In reply to: #74260

> 
>
> > […]
> 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.
