unbit / uwsgi

uWSGI application server container
http://projects.unbit.it/uwsgi
Other
3.45k stars 691 forks source link

Failed to build under FreeBSD with php plugin #1859

Open iron-udjin opened 6 years ago

iron-udjin commented 6 years ago

Hello,

OS: FreeBSD 11.2-STABLE uwsgi: 2.0.17.1 php: 5.6.37 clang: 6.0.1

plugins/php/php_plugin.c:571:54: error: too few arguments to function call, single argument 'tsrm_ls' was not specified
        time_t request_time = (time_t)sapi_get_request_time();
                                      ~~~~~~~~~~~~~~~~~~~~~ ^
/usr/local/include/php/main/SAPI.h:216:1: note: 'sapi_get_request_time' declared here
SAPI_API double sapi_get_request_time(TSRMLS_D);
^
/usr/local/include/php/main/SAPI.h:45:19: note: expanded from macro 'SAPI_API'
#       define SAPI_API __attribute__ ((visibility("default")))
                        ^
plugins/php/php_plugin.c:609:34: error: use of undeclared identifier 'tsrm_ls'
                        php_parse_user_ini_file(path, PG(user_ini_filename), entry->user_config);
                                                      ^
/usr/local/include/php/main/php_globals.h:29:16: note: expanded from macro 'PG'
# define PG(v) TSRMG(core_globals_id, php_core_globals *, v)
               ^
/usr/local/include/php/TSRM/TSRM.h:164:57: note: expanded from macro 'TSRMG'
#define TSRMG(id, type, element)        (((type) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element)
                                                               ^
plugins/php/php_plugin.c:615:35: error: use of undeclared identifier 'tsrm_ls'
                entry->expires = request_time + PG(user_ini_cache_ttl);
                                                ^
/usr/local/include/php/main/php_globals.h:29:16: note: expanded from macro 'PG'
# define PG(v) TSRMG(core_globals_id, php_core_globals *, v)
               ^
/usr/local/include/php/TSRM/TSRM.h:164:57: note: expanded from macro 'TSRMG'
#define TSRMG(id, type, element)        (((type) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element)
                                                               ^
plugins/php/php_plugin.c:619:84: error: too few arguments to function call, expected 4, have 3
        php_ini_activate_config(entry->user_config, PHP_INI_PERDIR, PHP_INI_STAGE_HTACCESS);
        ~~~~~~~~~~~~~~~~~~~~~~~                                                           ^
/usr/local/include/php/main/php_ini.h:36:1: note: 'php_ini_activate_config' declared here
PHPAPI void php_ini_activate_config(HashTable *source_hash, int modify_type, int stage TSRMLS_DC);
^
/usr/local/include/php/main/php.h:60:18: note: expanded from macro 'PHPAPI'
#               define PHPAPI __attribute__ ((visibility("default")))
                              ^
4 errors generated.
*** Error code 1

P.S: uwsgi-2.0.17 builds fine.

Thank you!

xrmx commented 6 years ago

Looks similar to https://github.com/unbit/uwsgi/issues/766

iron-udjin commented 6 years ago

It seems not similar to #766 because a problem with the code which is appeared in 2.0.17.1. 2.0.17 compiles and works fine.