-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Having trouble compiling against php72 (ius) #248
Comments
To me it looks as if the C preprocessor lines carrying a |
Cannot reproduce this on CentOS 6 with PHP 7.2.14. Build log:
|
I'm using CentOS Linux release 7.6.1810 |
Hi. I'm having problems making php_excel to compile with libxl.
We have previously used php7 (ius) with libxl 3.6.5.0 successfully. But now we are upgrading to php 7.2.
I have successfully upgraded php, and are about to compile php_excel.
I have tried with version 3.6.5.0 which we have a license for, but I have also tried to compile 3.8.4.0 just to be sure.
What i have done so far is cloning the php_excel repo, changed branch to php7. Put it inside /etc/ext folder. I have multiple version of libxl in /usr/lib/
content of my /etc/ext/ is
excel (php_excel - branch php7)
relevant content /usr/lib
libxl (3.6.5, previously compiled against php70, the one i would rather use as i already have a license)
libxl-3840 (3.8.4 the one i feel should work, but i need to buy license for)
cd /etc/ext/excel
phpize
./configure --with-libxl-libdir=/usr/lib/libxl/lib64 --with-libxl-incdir=/usr/lib/libxl/include_c
make
It errors
In file included from /usr/include/php/main/php.h:39:0,
from /etc/ext/excel/excel.c:26:
/etc/ext/excel/excel.c: In function 'zm_startup_excel':
/etc/ext/excel/excel.c:79:40: error: 'excel_funcs_autofilter' undeclared (first use in this function)
INIT_CLASS_ENTRY(ce, "Excel" # name, excel_funcs_ ## c_name);
^
/usr/include/php/Zend/zend_API.h:234:53: note: in definition of macro 'INIT_CLASS_ENTRY_INIT_METHODS'
class_container.info.internal.builtin_functions = functions;
^
/usr/include/php/Zend/zend_API.h:238:2: note: in expansion of macro 'INIT_OVERLOADED_CLASS_ENTRY_EX'
INIT_OVERLOADED_CLASS_ENTRY_EX(class_container, class_name, sizeof(class_name)-1, functions, handle_fcall, handle_propget, handle_propset, NULL, NULL)
^
/usr/include/php/Zend/zend_API.h:189:2: note: in expansion of macro 'INIT_OVERLOADED_CLASS_ENTRY'
INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, NULL, NULL, NULL)
^
/etc/ext/excel/excel.c:79:3: note: in expansion of macro 'INIT_CLASS_ENTRY'
INIT_CLASS_ENTRY(ce, "Excel" # name, excel_funcs_ ## c_name);
^
/etc/ext/excel/excel.c:6728:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(AutoFilter, autofilter, NULL);
^
/etc/ext/excel/excel.c:79:40: note: each undeclared identifier is reported only once for each function it appears in
INIT_CLASS_ENTRY(ce, "Excel" # name, excel_funcs_ ## c_name);
^
/usr/include/php/Zend/zend_API.h:234:53: note: in definition of macro 'INIT_CLASS_ENTRY_INIT_METHODS'
class_container.info.internal.builtin_functions = functions;
^
/usr/include/php/Zend/zend_API.h:238:2: note: in expansion of macro 'INIT_OVERLOADED_CLASS_ENTRY_EX'
INIT_OVERLOADED_CLASS_ENTRY_EX(class_container, class_name, sizeof(class_name)-1, functions, handle_fcall, handle_propget, handle_propset, NULL, NULL)
^
/usr/include/php/Zend/zend_API.h:189:2: note: in expansion of macro 'INIT_OVERLOADED_CLASS_ENTRY'
INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, NULL, NULL, NULL)
^
/etc/ext/excel/excel.c:79:3: note: in expansion of macro 'INIT_CLASS_ENTRY'
INIT_CLASS_ENTRY(ce, "Excel" # name, excel_funcs_ ## c_name);
^
/etc/ext/excel/excel.c:6728:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(AutoFilter, autofilter, NULL);
^
/etc/ext/excel/excel.c:80:22: error: 'excel_object_new_autofilter' undeclared (first use in this function)
ce.create_object = excel_object_new_ ## c_name;
^
/etc/ext/excel/excel.c:6728:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(AutoFilter, autofilter, NULL);
^
/etc/ext/excel/excel.c:81:3: error: 'excel_ce_autofilter' undeclared (first use in this function)
excel_ce_ ## c_name = zend_register_internal_class_ex(&ce, NULL);
^
/etc/ext/excel/excel.c:6728:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(AutoFilter, autofilter, NULL);
^
/etc/ext/excel/excel.c:82:11: error: 'excel_object_handlers_autofilter' undeclared (first use in this function)
memcpy(&excel_object_handlers_ ## c_name, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
^
/etc/ext/excel/excel.c:6728:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(AutoFilter, autofilter, NULL);
^
/etc/ext/excel/excel.c:6728:2: error: unknown type name 'excel_autofilter_object'
/etc/ext/excel/excel.c:84:48: error: 'excel_autofilter_object_free_storage' undeclared (first use in this function)
excel_object_handlers_ ## c_name .free_obj = excel_ ## c_name ## object_free_storage;
^
/etc/ext/excel/excel.c:6728:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(AutoFilter, autofilter, NULL);
^
In file included from /usr/include/php/main/php.h:39:0,
from /etc/ext/excel/excel.c:26:
/etc/ext/excel/excel.c:79:40: error: 'excel_funcs_filtercolumn' undeclared (first use in this function)
INIT_CLASS_ENTRY(ce, "Excel" # name, excel_funcs ## c_name);
^
/usr/include/php/Zend/zend_API.h:234:53: note: in definition of macro 'INIT_CLASS_ENTRY_INIT_METHODS'
class_container.info.internal.builtin_functions = functions;
^
/usr/include/php/Zend/zend_API.h:238:2: note: in expansion of macro 'INIT_OVERLOADED_CLASS_ENTRY_EX'
INIT_OVERLOADED_CLASS_ENTRY_EX(class_container, class_name, sizeof(class_name)-1, functions, handle_fcall, handle_propget, handle_propset, NULL, NULL)
^
/usr/include/php/Zend/zend_API.h:189:2: note: in expansion of macro 'INIT_OVERLOADED_CLASS_ENTRY'
INIT_OVERLOADED_CLASS_ENTRY(class_container, class_name, functions, NULL, NULL, NULL)
^
/etc/ext/excel/excel.c:79:3: note: in expansion of macro 'INIT_CLASS_ENTRY'
INIT_CLASS_ENTRY(ce, "Excel" # name, excel_funcs_ ## c_name);
^
/etc/ext/excel/excel.c:6729:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(FilterColumn, filtercolumn, NULL);
^
/etc/ext/excel/excel.c:80:22: error: 'excel_object_new_filtercolumn' undeclared (first use in this function)
ce.create_object = excel_object_new_ ## c_name;
^
/etc/ext/excel/excel.c:6729:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(FilterColumn, filtercolumn, NULL);
^
/etc/ext/excel/excel.c:81:3: error: 'excel_ce_filtercolumn' undeclared (first use in this function)
excel_ce_ ## c_name = zend_register_internal_class_ex(&ce, NULL);
^
/etc/ext/excel/excel.c:6729:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(FilterColumn, filtercolumn, NULL);
^
/etc/ext/excel/excel.c:82:11: error: 'excel_object_handlers_filtercolumn' undeclared (first use in this function)
memcpy(&excel_object_handlers_ ## c_name, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
^
/etc/ext/excel/excel.c:6729:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(FilterColumn, filtercolumn, NULL);
^
/etc/ext/excel/excel.c:6729:2: error: unknown type name 'excel_filtercolumn_object'
/etc/ext/excel/excel.c:84:48: error: 'excel_filtercolumn_object_free_storage' undeclared (first use in this function)
excel_object_handlers_ ## c_name .free_obj = excel_ ## c_name ## _object_free_storage;
^
/etc/ext/excel/excel.c:6729:2: note: in expansion of macro 'REGISTER_EXCEL_CLASS'
REGISTER_EXCEL_CLASS(FilterColumn, filtercolumn, NULL);
^
make: *** [excel.lo] Error 1
I don't really know what to do, I'm guessing I'm doing something wrong. I couldn't really figure out the
"# change into php source files directory
cd php-7.x.x" part of the routine, as i could find a folder to run ./buildconf --force.
All help is really appreciated.
The text was updated successfully, but these errors were encountered: