We are moving our forum in GitHub Discussions. For questions about Phalcon v3/v4 you can visit here and for Phalcon v5 here.

Manual Build Issue 3.4.x

The latest release, v3.4.5 are addressing some issue, especially Redis. Unfortunately, https://github.com/phalcon/cphalcon/pull/14500 wasn't part of the release. So, there are still incompatibility with latest stable Redis extension(setTimeout are deprecated, changed to expire)

So, I try to build from branch https://github.com/phalcon/cphalcon/tree/3.4.x , following the instruction in https://github.com/phalcon/cphalcon/blob/3.4.x/build/README.md. I build the safe version first, then generate the new build using gen-build.php then build it for current arch(64 bits).

Like this

 git clone --depth=1 -q https://github.com/phalcon/cphalcon.git -b 3.4.x $BUILD_HOME/cphalcon \
 && cd $BUILD_HOME/cphalcon/build \
 && ./install --phpize /usr/bin/phpize$PHP_VERSION --php-config /usr/bin/php-config$PHP_VERSION --arch safe \
 && cp $BUILD_HOME/cphalcon/tests/_ci/phalcon.ini /etc/php/$PHP_VERSION/cli/conf.d/phalcon.ini \
  // doesn't work after this
 && php gen-build.php \
 && ./install --phpize /usr/bin/phpize$PHP_VERSION --php-config /usr/bin/php-config$PHP_VERSION

But, when building after regenerating the build, it always produce, with a lot of error message

Makefile:194: recipe for target 'phalcon.lo' failed
make: *** [phalcon.lo] Error 1

My question is how to build manually correctly, but not the stable version

NB: OS used to build, Ubuntu 16.04 via docker

Just made fast test, seems to work

docker run -it ubuntu:16.04 bash
apt update && apt install -y  \
        git \
        make \
        gcc \
        php7.0-dev && \
    cd /opt && \
    rm -rf cphalcon && \
    git clone --depth=1 --branch '3.4.x' "git://github.com/phalcon/cphalcon.git" && \
    cd cphalcon/build && \
    ./install && \
    echo 'extension=phalcon.so' > /etc/php/7.0/mods-available/50-phalcon.ini && \
    echo 'extension=phalcon.so' > /etc/php/7.0/cli/conf.d/50-phalcon.ini && \
    apt purge -y make \
        gcc \
        php7.0-dev && \
    apt clean
php -r 'echo Phalcon\Version::get() . PHP_EOL;'
// 3.4.5


normal build work, but when the build folder regenerated using gen-build.php, it doesn't

Then probably, make sense to create an issue on cphalcon repository.