Posts by Athar

    Firstly : You want some kind of support ? Well, wrong location for this post, should be under "support" section


    Secondly : You still want some kind of support ? Well you should follow the reporting rules written there : Reporting rules - Reminder


    Third and last for now : "flames" asked you THE SERVER'S LOGS about the error, why you stick with the browser reports which are useless there ?...


    So now, comply with the rules or thread will be closed... (you are not new here, you should be aware of those rules)

    Ok, answer will be fast :


    If using the build 2018120800 ==> Not compatible with Debian 10

    If using the latest build "under developement" ==> Compatible with Debian 10 but unstable and can't recommand for production use. Also, there is some known issue with the plugin system.

    I'm pretty sure that, if you try to setup the latest released build, you use the same preseed file you posted which will explain the Fatal error.


    https://github.com/i-MSCP/imsc…018120800/docs/preseed.pl


    This is the preseed file for the 1.5.3 build 2018120800.



    Also, there is no official support of Docker use, and like "tracer", I wonder why you attempt this ?

    If you just want to test the panel, like he said, just do a Debian or Ubuntu VM, easier and working at least.

    Did you git clone the latest unrealeased version ? (which is not "stable" by definition as all tests hasn't been done on it) or did you get the release packaged ? (1.5.3 build 2018120800)


    If you take the first one, there "might" be some issues with the preseed way of setup.


    If you take the package of the latest known good build, PHP.7.4 is not supported (7.1 at maximum).

    Even, I'm not sure that the PHP7.4 is working for the "dev" build (preseed example stop at 7.3 after all).

    Little addition :


    The error so, which is the patch is not applying... well, normal (see below)


    For this attempt, I set the DebHelper level to 9 (max is 12, but I didn't tested with)...


    Then, as this is working with PHP7.4.7 and no 7.4.8, I checked the changes in the "configure.ac" file, and... see by yourself:


    PHP 7.4.7:

    Code
    1. PHP_UNAME=`uname -a | xargs`
    2. AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
    3. PHP_OS=`uname | xargs`


    PHP 7.4.8:

    Code
    1. UNAME=`uname -a | xargs`
    2. PHP_UNAME=${PHP_UNAME:-$UNAME}
    3. AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
    4. PHP_OS=`uname | xargs`



    The patch file now :

    Code
    1. -PHP_UNAME=`uname -a | xargs`
    2. +PHP_UNAME=`uname | xargs`


    Well... they changed just this little line... why ? I don't know.


    So for me, two/tree solutions :

    1- We revert the change in the configure.ac file

    2- We remove or "correct" the patch from the list

    3- We manually edit the configure.ac file to reflect the "patch"



    Edit :

    Little info : We can simply "remove" the patch from the applicable list of patches too (comment in file : /var/www/imscp/gui/plugins/PhpSwitcher/PhpCompiler/patches/7.4/series)

    Whichever solution you apply, the build should be fine after that.

    pasted-from-clipboard.png





    Quick edit, two of the solutions you can use to build PHP 7.4.8 :


    Solution 1 - Edit the patch file


    By using your prefered editor, open the files : /var/www/imscp/gui/plugins/PhpSwitcher/PhpCompiler/patches/7.4/0029-php-5.4.9-fixheader.patch*

    (Yes, there is "two" files, one with a "~" at the end, don't know why, but it's there)


    This file should look like this :


    Save, then re-run the build process from PHP Switcher.


    /!\ I'm not an expert, and maybe this patch is not needed anymore.

    In fact, I don't know what will be the output of the "php_uname()" with this command passed in the config : PHP_UNAME=${PHP_UNAME:-$UNAME}

    This patch, if I'm not wrong, is to obfuscate the output of some PHP variables, here, to prevent the leak of the system information through this function "php_uname()" (so that it display only "Linux" and not the whole "uname -a" result).

    After I did compile with this modification, the "PHP_OS()" is empty, and "PHP_UNAME()" give the "full" details, so I don't know at the end...

    We may revert this configure.ac file as the version 7.4.7 to check if the result is different or not on the webserver after compilation, but no more time for today (idea would be to remove "UNAME" and "PHP_UNAME" lines, and then, add back the "old modified" "PHP_UNAME" line.


    Solution 2 - Disable this patch to apply

    Simply open this file : /var/www/imscp/gui/plugins/PhpSwitcher/PhpCompiler/patches/7.4/series

    Then, found the line where the patch is noted : "0029-php-5.4.9-fixheader.patch"

    Add a "#" at the start of the line, so that this patch will NOT be applied.


    Save the file then re-run the build process from PHP Switcher.



    For both solutions, if you get the error posted in the previous message, just set the system variable :

    To set this variable :

    export DH_COMPAT=9


    and to remove it, simply :

    unset DH_COMPAT

    I get the same error as Speddy

    Code
    1. [ERROR] main: An error occurred while executing MAKE(1) target(s) for PHP 7.4.8: dh_install: Compatibility levels before 9 are deprecated (level 7 in use)

    which can be ignored with an environment variable that force the use of Level 9 for DebHelper:

    To set this variable :

    export DH_COMPAT=9


    and to remove it, simply :

    unset DH_COMPAT



    Unfortunetely, there is some more errors on the way and the build keep failing, no solution so far.


    As PHP7.4.8 is mostly a security fix for Windows users, I'll not bother with it and will wait next release (maybe they did something wrong with this build for Linux users ^^)