Skip to content
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

[NFR] Use Phalcon binary package/dll #128

Closed
ruudboon opened this issue Dec 22, 2019 · 18 comments · Fixed by #133
Closed

[NFR] Use Phalcon binary package/dll #128

ruudboon opened this issue Dec 22, 2019 · 18 comments · Fixed by #133
Assignees
Labels
enhancement New feature or request

Comments

@ruudboon
Copy link
Contributor

To speed up the action when using the Phalcon extension it would be great if there's an option to use the binary package on linux or precompiled dll's on Windows.

Windows dll's can be found here.
https://github.com/phalcon/cphalcon/releases/tag/v4.0.0

Linux
https://docs.phalcon.io/4.0/en/installation#linux

@shivammathur shivammathur self-assigned this Dec 22, 2019
@shivammathur shivammathur added the enhancement New feature or request label Dec 22, 2019
@shivammathur
Copy link
Owner

shivammathur commented Dec 22, 2019

@ruudboon
In Stable releases there was no 4.0.0 yet, so I thought I will add check this in the next release I create. Also can you elaborate on installing the latest stable release for v3 and v4 because the docs have the same commands for both.

For windows, I wanted to ask you about the plans to release phalcon on PECL now that you have the account and v4 is released. It will be easy for me to maintain support for each releases if the extension is on PECL.

@ruudboon
Copy link
Contributor Author

@shivammathur You can pick a specific version using for example

apt-get install php7.2-phalcon=3.4.4-1+php7.2

Pecl is high on our list. Unfortunately it's a huge task to make the build system Pecl compatible so not sure when we will be able to finish it. I agree for windows it could be really helpful to put the right dll in the right place. For linux, as far as I know, it will still compile the package using Pecl so we won't gain any performance there.

@shivammathur
Copy link
Owner

@ruudboon v4.0.0 does not compile on macOS with PHP 7.4.1

shivammathurs-Mac:build shivammathur$ sudo ./install 
Password:
Configuring for:
PHP Api Version:         20190902
Zend Module Api No:      20190902
Zend Extension Api No:   320190902
build/libtool.m4:274: warning: underquoted definition of _LT_AC_TRY_LINK
build/libtool.m4:274:   run info Automake 'Extending aclocal'
build/libtool.m4:274:   or see https://www.gnu.org/software/automake/manual/automake.html#Extending-aclocal
glibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build'.
glibtoolize: linking file 'build/ltmain.sh'
glibtoolize: You should add the contents of the following files to 'aclocal.m4':
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/libtool.m4'
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/ltoptions.m4'
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/ltsugar.m4'
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/ltversion.m4'
glibtoolize:   '/usr/local/Cellar/libtool/2.4.6_1/share/aclocal/lt~obsolete.m4'
glibtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
glibtoolize: and rerunning glibtoolize and aclocal.
glibtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
appending configuration tag "CXX" to libtool
mkdir .libs
 gcc -I. -I/Users/shivammathur/cphalcon/build/php7/64bits -DPHP_ATOM_INC -I/Users/shivammathur/cphalcon/build/php7/64bits/include -I/Users/shivammathur/cphalcon/build/php7/64bits/main -I/Users/shivammathur/cphalcon/build/php7/64bits -I/usr/local/Cellar/php/7.4.1/include/php -I/usr/local/Cellar/php/7.4.1/include/php/main -I/usr/local/Cellar/php/7.4.1/include/php/TSRM -I/usr/local/Cellar/php/7.4.1/include/php/Zend -I/usr/local/Cellar/php/7.4.1/include/php/ext -I/usr/local/Cellar/php/7.4.1/include/php/ext/date/lib -DPHALCON_RELEASE -DHAVE_CONFIG_H -mtune=native -O2 -fomit-frame-pointer -c /Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c  -fno-common -DPIC -o .libs/phalcon.o
In file included from /Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:52:
./phalcon.zep.h:5760:47: warning: \U used with no following hex digits; treating
      as '\' followed by identifier [-Wunicode]
        ZEND_ARG_OBJ_INFO(0, uri, Psr\\Http\\Message\\UriInterface, 0)
                                                     ^
./phalcon.zep.h:10328:47: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
        ZEND_ARG_OBJ_INFO(0, uri, Psr\\Http\\Message\\UriInterface, 0)
                                                     ^
./phalcon.zep.h:10341:122: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Psr\\Http\\Message\\UriInterface, 0)
                              ^
./phalcon.zep.h:19544:100: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:19544:105: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:19556:99: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:19556:104: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:30753:139: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\UploadedFile, 0)
                                  ^
./phalcon.zep.h:30815:129: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 2, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31150:134: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Psr\\Http\\Message\\UploadedFileInterface, 0)
                              ^
./phalcon.zep.h:31241:116: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31249:112: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31257:112: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31265:113: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31273:114: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31281:116: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31290:112: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31422:116: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 0, Psr\\Http\\Message\\UriInterface, 0)
                              ^
./phalcon.zep.h:45839:89: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 0, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:45839:94: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 0, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:47203:87: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:47203:92: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:47215:86: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:47215:91: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:47227:92: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:47227:97: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6048:38: error: use of
      undeclared identifier 'ulong'; did you mean 'long'?
                        result = zend_hash_index_find(h, (ulong)Z_DVAL_P...
                                                          ^~~~~
                                                          long
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6048:38: error: use of
      undeclared identifier 'ulong'
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6195:38: error: use of
      undeclared identifier 'ulong'; did you mean 'long'?
                        return zend_hash_index_exists(h, (ulong)Z_DVAL_P...
                                                          ^~~~~
                                                          long
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6195:38: error: use of
      undeclared identifier 'ulong'
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6282:37: error: use of
      undeclared identifier 'ulong'; did you mean 'long'?
                        return (zend_hash_index_del(ht, (ulong)Z_DVAL_P(...
                                                         ^~~~~
                                                         long
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6282:37: error: use of
      undeclared identifier 'ulong'
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6371:7: error: expected
      ';' after expression
        ulong uidx = 0;
             ^
             ;
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6371:2: error: use of
      undeclared identifier 'ulong'
        ulong uidx = 0;
        ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6371:8: error: use of
      undeclared identifier 'uidx'
        ulong uidx = 0;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6394:5: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
                                uidx   = (ulong)Z_DVAL_P(index);
                                ^~~~
                                sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6394:15: error: use of
      undeclared identifier 'ulong'; did you mean 'long'?
                                uidx   = (ulong)Z_DVAL_P(index);
                                          ^~~~~
                                          long
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6394:15: error: use of
      undeclared identifier 'ulong'
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6395:45: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
  ...found  = (zv = zend_hash_index_find(ht, uidx)) != NULL;
                                             ^~~~
                                             sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6400:5: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
                                uidx   = Z_LVAL_P(index);
                                ^~~~
                                sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6400:12: warning: 
      incompatible integer to pointer conversion assigning to 'char *' from
      'zend_long' (aka 'long long') [-Wint-conversion]
                                uidx   = Z_LVAL_P(index);
                                       ^ ~~~~~~~~~~~~~~~
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6401:45: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
  ...found  = (zv = zend_hash_index_find(ht, uidx)) != NULL;
                                             ^~~~
                                             sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6405:5: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
                                uidx = 0;
                                ^~~~
                                sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6406:45: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
  ...found  = (zv = zend_hash_index_find(ht, uidx)) != NULL;
                                             ^~~~
                                             sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6410:5: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
                                uidx = 1;
                                ^~~~
                                sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6410:10: warning: 
      incompatible integer to pointer conversion assigning to 'char *' from
      'int' [-Wint-conversion]
                                uidx = 1;
                                     ^ ~
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6411:45: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
  ...found  = (zv = zend_hash_index_find(ht, uidx)) != NULL;
                                             ^~~~
                                             sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
28 warnings and 20 errors generated.
make: *** [phalcon.lo] Error 1
 gcc -I. -I/Users/shivammathur/cphalcon/build/php7/64bits -DPHP_ATOM_INC -I/Users/shivammathur/cphalcon/build/php7/64bits/include -I/Users/shivammathur/cphalcon/build/php7/64bits/main -I/Users/shivammathur/cphalcon/build/php7/64bits -I/usr/local/Cellar/php/7.4.1/include/php -I/usr/local/Cellar/php/7.4.1/include/php/main -I/usr/local/Cellar/php/7.4.1/include/php/TSRM -I/usr/local/Cellar/php/7.4.1/include/php/Zend -I/usr/local/Cellar/php/7.4.1/include/php/ext -I/usr/local/Cellar/php/7.4.1/include/php/ext/date/lib -DPHALCON_RELEASE -DHAVE_CONFIG_H -mtune=native -O2 -fomit-frame-pointer -c /Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c  -fno-common -DPIC -o .libs/phalcon.o
In file included from /Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:52:
./phalcon.zep.h:5760:47: warning: \U used with no following hex digits; treating
      as '\' followed by identifier [-Wunicode]
        ZEND_ARG_OBJ_INFO(0, uri, Psr\\Http\\Message\\UriInterface, 0)
                                                     ^
./phalcon.zep.h:10328:47: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
        ZEND_ARG_OBJ_INFO(0, uri, Psr\\Http\\Message\\UriInterface, 0)
                                                     ^
./phalcon.zep.h:10341:122: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Psr\\Http\\Message\\UriInterface, 0)
                              ^
./phalcon.zep.h:19544:100: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:19544:105: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:19556:99: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:19556:104: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:30753:139: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\UploadedFile, 0)
                                  ^
./phalcon.zep.h:30815:129: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 2, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31150:134: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Psr\\Http\\Message\\UploadedFileInterface, 0)
                              ^
./phalcon.zep.h:31241:116: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31249:112: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31257:112: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31265:113: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31273:114: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31281:116: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31290:112: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Http\\Message\\Uri, 0)
                                  ^
./phalcon.zep.h:31422:116: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 0, Psr\\Http\\Message\\UriInterface, 0)
                              ^
./phalcon.zep.h:45839:89: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 0, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:45839:94: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 0, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:47203:87: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:47203:92: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:47215:86: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:47215:91: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
./phalcon.zep.h:47227:92: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                   ^
./phalcon.zep.h:47227:97: warning: \U used with no following hex digits;
      treating as '\' followed by identifier [-Wunicode]
  ...0, 1, Phalcon\\Url\\UrlInterface, 0)
                        ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6048:38: error: use of
      undeclared identifier 'ulong'; did you mean 'long'?
                        result = zend_hash_index_find(h, (ulong)Z_DVAL_P...
                                                          ^~~~~
                                                          long
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6048:38: error: use of
      undeclared identifier 'ulong'
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6195:38: error: use of
      undeclared identifier 'ulong'; did you mean 'long'?
                        return zend_hash_index_exists(h, (ulong)Z_DVAL_P...
                                                          ^~~~~
                                                          long
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6195:38: error: use of
      undeclared identifier 'ulong'
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6282:37: error: use of
      undeclared identifier 'ulong'; did you mean 'long'?
                        return (zend_hash_index_del(ht, (ulong)Z_DVAL_P(...
                                                         ^~~~~
                                                         long
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6282:37: error: use of
      undeclared identifier 'ulong'
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6371:7: error: expected
      ';' after expression
        ulong uidx = 0;
             ^
             ;
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6371:2: error: use of
      undeclared identifier 'ulong'
        ulong uidx = 0;
        ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6371:8: error: use of
      undeclared identifier 'uidx'
        ulong uidx = 0;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6394:5: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
                                uidx   = (ulong)Z_DVAL_P(index);
                                ^~~~
                                sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6394:15: error: use of
      undeclared identifier 'ulong'; did you mean 'long'?
                                uidx   = (ulong)Z_DVAL_P(index);
                                          ^~~~~
                                          long
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6394:15: error: use of
      undeclared identifier 'ulong'
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6395:45: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
  ...found  = (zv = zend_hash_index_find(ht, uidx)) != NULL;
                                             ^~~~
                                             sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6400:5: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
                                uidx   = Z_LVAL_P(index);
                                ^~~~
                                sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6400:12: warning: 
      incompatible integer to pointer conversion assigning to 'char *' from
      'zend_long' (aka 'long long') [-Wint-conversion]
                                uidx   = Z_LVAL_P(index);
                                       ^ ~~~~~~~~~~~~~~~
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6401:45: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
  ...found  = (zv = zend_hash_index_find(ht, uidx)) != NULL;
                                             ^~~~
                                             sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6405:5: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
                                uidx = 0;
                                ^~~~
                                sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6406:45: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
  ...found  = (zv = zend_hash_index_find(ht, uidx)) != NULL;
                                             ^~~~
                                             sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6410:5: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
                                uidx = 1;
                                ^~~~
                                sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6410:10: warning: 
      incompatible integer to pointer conversion assigning to 'char *' from
      'int' [-Wint-conversion]
                                uidx = 1;
                                     ^ ~
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6411:45: error: use of
      undeclared identifier 'uidx'; did you mean 'sidx'?
  ...found  = (zv = zend_hash_index_find(ht, uidx)) != NULL;
                                             ^~~~
                                             sidx
/Users/shivammathur/cphalcon/build/php7/64bits/phalcon.zep.c:6372:8: note: 'sidx'
      declared here
        char *sidx = NULL;
              ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
28 warnings and 20 errors generated.
make: *** [phalcon.lo] Error 1

Thanks for compiling Phalcon!
Build succeed: Please restart your web server to complete the installation

@ruudboon
Copy link
Contributor Author

@shivammathur I think this relates to phalcon/cphalcon#14646

@shivammathur
Copy link
Owner

Added support for phalcon v3 and v4 for all supported OS. Will be part of next release 1.6.3.
Tests - v3, v4

@ruudboon
Copy link
Contributor Author

@shivammathur thnx! Pecl isn't far away either.

@ruudboon
Copy link
Contributor Author

We now have binaries for osx as well. https://github.com/phalcon/homebrew-tap/releases

@shivammathur
Copy link
Owner

shivammathur commented Dec 29, 2019

@ruudboon
Installing phalcon on multiple PHP versions fails, as the Formula in your tap tries to overwrite PHP.
Also when using --without-homebrew-php installation fails.

Failing Tests

  • brew install phalcon - test
  • brew install phalcon --without-homebrew-php - test

@ruudboon
Copy link
Contributor Author

@ruudboon
Installing phalcon on multiple PHP versions fails, as the Formula in your tap tries to overwrite PHP.
Also when using --without-homebrew-php installation fails.

Failing Tests

  • brew install phalcon - test
  • brew install phalcon --without-homebrew-php - test

Thnx for testing. I think this is happening since we only have 7.4 deps available (CC @ninjapanzer right?).
Probably this will work.

brew install phalcon --build-from-source --without-homebrew-php

@shivammathur
Copy link
Owner

shivammathur commented Dec 29, 2019

Adding --build-from-source along --without-homebrew-php also fails with the same error.
Test

Not sure if this is the reason, but the bottles in your tap are for MacOS 10.12 Sierra and GitHub Actions has MacOS 10.15 Catalina.

@ruudboon
Copy link
Contributor Author

@shivammathur Thnx. Will have a look at this.

@ninjapanzer
Copy link

@ruudboon
Installing phalcon on multiple PHP versions fails, as the Formula in your tap tries to overwrite PHP.
Also when using --without-homebrew-php installation fails.
Failing Tests

  • brew install phalcon - test
  • brew install phalcon --without-homebrew-php - test

Thnx for testing. I think this is happening since we only have 7.4 deps available (CC @ninjapanzer right?).
Probably this will work.

brew install phalcon --build-from-source --without-homebrew-php

I suspect this is because the base PHP that is on that image doesn't contain development headers

@ninjapanzer
Copy link

@ruudboon
Installing phalcon on multiple PHP versions fails, as the Formula in your tap tries to overwrite PHP.
Also when using --without-homebrew-php installation fails.

Failing Tests

* `brew install phalcon` - [test](https://github.com/shivammathur/test-setup-php/commit/4dfe36a6f0b8448d951a8bc0d7d75efdafd9b343/checks?check_suite_id=377697931)

* `brew install phalcon --without-homebrew-php` - [test](https://github.com/shivammathur/test-setup-php/commit/6c479d586bf5e9645786753d24810e7aada4b75f/checks?check_suite_id=377700574)

In that first test you will see

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local

Looks like php 7.2 is already there and homebrew doesn't support php switching so it never linked the headers

@shivammathur
Copy link
Owner

@ninjapanzer
--without-homebrew-php option has to work to install phalcon with different PHP versions. Please test that.

@ninjapanzer
Copy link

@ninjapanzer
--without-homebrew-php option has to work to install phalcon with different PHP versions. Please test that.

I think its important to point out that you can't install the HEAD 4.0.x build against php 7.3 as each extension is built against a specific php versions headers.
So when you say a different php version technically this means that the 7.3 version phalcon@73_4.0.0 should work agasnst 7.3.4 and 7.3.13 but its not really a guarantee. I don't think this is a role for homebrew to serve as this is what Pecl does as a tool bundled with PHP

Homebrew on the other hand is like most linux style dep managers and asserts an opinion against what you can install. In this case the php version and the extension version don't have much range.

@shivammathur
Copy link
Owner

shivammathur commented Dec 30, 2019

@ninjapanzer I understand that.

I was able to build phalcon bottles for use with this action with PHP versions from shivammathur/homebrew-php tap as dependency for all PHP versions except for Phalcon v3 on PHP 7.0 (reason eXolnet/homebrew-deprecated#14).
Here is the tap I created https://github.com/shivammathur/homebrew-phalcon.

Tests phalcon v3, phalcon v4

@ninjapanzer
Copy link

ninjapanzer commented Dec 30, 2019

Understood, after some further discussion and some more tests on my part https://github.com/phalcon/homebrew-tap/commit/5604113378d52193f009d07d524720e2f9251ef6/checks?check_suite_id=378020191

What I have discovered is this isn't related to Catalina and is likely a situation where we need to look towards the build toolchain and how its not able to find some files it should know about. I opened the following ticket phalcon/homebrew-tap#8

But all this aside what I am doing is focusing on just building bottles which should bypass this issue for your purposes I will keep you posted.

@ruudboon
Copy link
Contributor Author

@ruudboon
In Stable releases there was no 4.0.0 yet, so I thought I will add check this in the next release I create. Also can you elaborate on installing the latest stable release for v3 and v4 because the docs have the same commands for both.

For windows, I wanted to ask you about the plans to release phalcon on PECL now that you have the account and v4 is released. It will be easy for me to maintain support for each releases if the extension is on PECL.

Phalcon is available now in Pecl. https://pecl.php.net/package/phalcon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants