Join the community today
Register Now

Beta Branch prep for optional GCC 10 support for Nginx & PHP in 123.09beta01

Discussion in 'Centmin Mod Github Commits' started by eva2000, Mar 17, 2021.

  1. eva2000

    eva2000 Administrator Staff Member

    49,887
    11,487
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +17,843
    Local Time:
    5:13 AM
    Nginx 1.21.x
    MariaDB 10.x
    prep for optional GCC 10 support for Nginx & PHP in 123.09beta01

    - prep testing ground work for Nginx & PHP compilations to support GCC 10 for CentOS 7 only. Currently, Centmin Mod 123.09beta01 defaults to GCC 9 for compilations.
    - GCC 10 yum packages are not available in YUM SCL distros yet so this is for private testing right now. End users won't be able to use GC 10 until public GCC 10 yum packages are made available.


    Nginx 1.19.8 built with GCC 10
    PHP 7.4.16 built with GCC 10
    Code (Text):
    php-config
    Usage: /usr/local/bin/php-config [OPTION]
    Options:
      --prefix            [/usr/local]
      --includes          [-I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib]
      --ldflags           [ -L/usr/local/lib64]
      --libs              [-lcrypt  -lc-client  -ltidy -largon2 -lresolv -lcrypt -lncurses -laspell -lpspell -lrt -lldap -llber -lstdc++ -lcrypt -lpam -lgmp -lbz2 -lrt -lm -ldl  -lsystemd -lxml2 -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -lsqlite3 -lz -lcurl -lxml2 -lenchant -lgmodule-2.0 -lglib-2.0 -lffi -lssl -lcrypto -lz -lpng15 -lwebp -ljpeg -lXpm -lX11 -lfreetype -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -licuio -licui18n -licuuc -licudata -lonig -lsqlite3 -ledit -ltinfo -lxml2 -lnetsnmp -lssl -lssl -lcrypto -lm -lxml2 -lsodium -lcrypt -largon2 -lxml2 -lxml2 -lxml2 -lxml2 -lxslt -lxml2 -lexslt -lxslt -lxml2 -lzip -lz -lssl -lcrypto -lcrypt ]
      --extension-dir     [/usr/local/lib/php/extensions/no-debug-non-zts-20190902]
      --include-dir       [/usr/local/include/php]
      --man-dir           [/usr/local/php/man]
      --php-binary        [/usr/local/bin/php]
      --php-sapis         [ cli embed fpm phpdbg cgi]
      --ini-path          [/usr/local/lib]
      --ini-dir           [/etc/centminmod/php.d]
      --configure-options [--enable-fpm --enable-opcache --enable-intl --enable-pcntl --with-mcrypt --with-snmp --enable-embed=shared --with-mhash --with-zlib --with-gettext --enable-exif --with-zip --with-libzip --with-bz2 --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-mysql-sock=/var/lib/mysql/mysql.sock --with-curl --enable-gd --with-xmlrpc --enable-bcmath --enable-calendar --enable-ftp --enable-gd-native-ttf --with-freetype --with-jpeg --with-png-dir=/usr --with-xpm --with-webp --with-t1lib=/usr --enable-shmop --with-pear --enable-mbstring --with-openssl --with-mysql=mysqlnd --with-libdir=lib64 --with-mysqli=mysqlnd --enable-pdo --with-pdo-sqlite --with-pdo-mysql=mysqlnd --enable-inline-optimization --with-imap --with-imap-ssl --with-kerberos --with-readline --with-libedit --with-gmp --with-pspell --with-tidy --with-enchant --with-fpm-user=nginx --with-fpm-group=nginx --with-ldap --with-ldap-sasl --with-password-argon2=/usr/local --with-sodium=/usr/local --with-config-file-scan-dir=/etc/centminmod/php.d --with-fpm-systemd --with-ffi --with-xsl PKG_CONFIG_PATH=/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig ICU_CFLAGS=-I/usr/include ICU_LIBS=-L/usr/lib64 -licuio -licui18n -licuuc -licudata LIBSODIUM_CFLAGS=-I/usr/local/include LIBSODIUM_LIBS=-L/usr/local/lib64 -lsodium LIBZIP_CFLAGS=-I/usr/local/include LIBZIP_LIBS=-L/usr/local/lib64 -lzip]
      --version           [7.4.16]
      --vernum            [70416]
    


    Continue reading...

    123.09beta01 branch
     
  2. rdan

    rdan Well-Known Member

    5,402
    1,354
    113
    May 25, 2014
    Ratings:
    +2,128
    Local Time:
    3:13 AM
    Mainline
    10.2
    I would like to test this, hopefully it will be available soon.
     
  3. eva2000

    eva2000 Administrator Staff Member

    49,887
    11,487
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +17,843
    Local Time:
    5:13 AM
    Nginx 1.21.x
    MariaDB 10.x
    Yeah waiting on when the actual SCL YUM repo's public GCC 10 yum packages are made available
     
  4. happyhacking

    happyhacking Premium Member Premium Member

    105
    16
    18
    Apr 23, 2021
    Ratings:
    +58
    Local Time:
    2:13 PM
    1.22.0
    MariadDB 10.4.25
  5. eva2000

    eva2000 Administrator Staff Member

    49,887
    11,487
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +17,843
    Local Time:
    5:13 AM
    Nginx 1.21.x
    MariaDB 10.x
    Ah looks like GCC 10 RPMs are now available in CentOS 7 SCL Yum repo! Thanks for heads up.
    Code (Text):
    yum -q list devtoolset-10-runtime devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-libstdc++-devel
    Available                             Packages
    devtoolset-10-binutils.x86_64         2.35-5.el7       centos-sclo-rh
    devtoolset-10-gcc.x86_64              10.2.1-11.1.el7  centos-sclo-rh
    devtoolset-10-gcc-c++.x86_64          10.2.1-11.1.el7  centos-sclo-rh
    devtoolset-10-libstdc++-devel.x86_64  10.2.1-11.1.el7  centos-sclo-rh
    devtoolset-10-runtime.x86_64          10.1-0.el7       centos-sclo-rh
    

    Unfortunately, it comes at a time when I don't have much free time to do more work (+ focusing on my paid client work) in testing GCC 10 support in Centmin Mod beyond what I've done so far to prep for this.

    You can try the current Centmin Mod 123.09beta01's GCC 10 support as is with setting persistent config file /etc/centminmod/custom_config.inc settings to
    Code (Text):
    DEVTOOLSETSEVEN='n'
    DEVTOOLSETEIGHT='n'
    DEVTOOLSETNINE='n'                              
    DEVTOOLSETTEN='y'
    

    Ensure you run cmupdate command to update local 123.09beta01 code and then run centmin.sh menu option 4 and 5 to recompile Nginx and PHP-FPM. Then report any bugs and issues you have here in this thread. But I may not be able to fix the issues in a timely manner like you'd be use to from my end due to my circumstances offline.

    My last test for Nginx 1.21.3 with GCC 10.2.1 was around September 7, 2021 according to my nginx version build label
     
  6. happyhacking

    happyhacking Premium Member Premium Member

    105
    16
    18
    Apr 23, 2021
    Ratings:
    +58
    Local Time:
    2:13 PM
    1.22.0
    MariadDB 10.4.25
    Just tried the devtoolset-10 on a clean centos 7 minimal with kernel 5.14, and it apears that everything compiled fine and works as usual. I'll test it for a few days more to see if there are any issues.

    Code:
    #nginx -V
    nginx version: nginx/1.21.3 (211021-023027-centos7-vmware-17a1389-br-9aec15e)
    built by gcc 10.2.1 20210130 (Red Hat 10.2.1-11) (GCC)
    built with OpenSSL 1.1.1l  24 Aug 2021
    TLS SNI support enabled
    configure arguments: --with-ld-opt='-Wl,-E -L/usr/local/zlib-cf/lib -L/usr/local/lib -ljemalloc -Wl,-z,relro -Wl,-rpath,/usr/local/zlib-cf/lib:/usr/local/lib -flto=32 -fuse-ld=gold' --with-cc-opt='-I/usr/local/zlib-cf/include -I/usr/local/include -m64 -march=native -DTCP_FASTOPEN=23 -g -O3 -fstack-protector-strong -flto=32 -fuse-ld=gold --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wno-error=pointer-sign -Wimplicit-fallthrough=0 -Wno-implicit-function-declaration -Wno-int-conversion -Wno-error=unused-result -Wno-unused-result -fcode-hoisting -Wp,-D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations' --sbin-path=/usr/local/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --build=211021-020526-centos7-vmware-17a1389-br-9aec15e --with-compat --with-http_stub_status_module --with-http_secure_link_module --with-libatomic --with-http_gzip_static_module --add-dynamic-module=../ngx_brotli --with-http_sub_module --with-http_addition_module --with-http_image_filter_module=dynamic --with-http_geoip_module --with-stream_geoip_module --with-stream_realip_module --with-stream_ssl_preread_module --with-threads --with-stream --with-stream_ssl_module --with-http_realip_module --add-dynamic-module=../ngx-fancyindex-0.4.2 --add-module=../ngx_cache_purge-2.5.1 --add-dynamic-module=../ngx_devel_kit-0.3.0 --add-dynamic-module=../set-misc-nginx-module-0.32 --add-dynamic-module=../echo-nginx-module-0.62 --add-module=../redis2-nginx-module-0.15 --add-module=../ngx_http_redis-0.3.7 --add-module=../memc-nginx-module-0.19 --add-module=../srcache-nginx-module-0.32 --add-dynamic-module=../headers-more-nginx-module-0.33 --with-pcre-jit --with-zlib=../zlib-cloudflare-1.3.0 --with-http_ssl_module --with-http_v2_module --with-openssl=../openssl-1.1.1l --with-openssl-opt='enable-ec_nistp_64_gcc_128 enable-tls1_3 -fuse-ld=gold'
    
    Code:
    #/opt/openssl/bin/openssl version -v
    OpenSSL 1.1.1l  24 Aug 2021
    
    #/opt/openssl/bin/openssl version -f
    compiler: ccache /opt/rh/devtoolset-10/root/usr/bin/gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
    
    Code:
    # php -v
    PHP 7.4.25 (cli) (built: Oct 21 2021 01:52:35) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v3.4.0, Copyright (c) Zend Technologies
        with Zend OPcache v7.4.25, Copyright (c), by Zend Technologies
    
    # php-config --configure-options
    --enable-fpm --enable-opcache --enable-intl --enable-pcntl --with-mcrypt --with-snmp --enable-embed=shared --with-mhash --with-zlib --with-gettext --enable-exif --with-zip --with-libzip --with-bz2 --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-mysql-sock=/var/lib/mysql/mysql.sock --with-curl --enable-gd --with-xmlrpc --enable-bcmath --enable-calendar --enable-ftp --enable-gd-native-ttf --with-freetype --with-jpeg --with-png-dir=/usr --with-xpm --with-webp --with-t1lib=/usr --enable-shmop --with-pear --enable-mbstring --with-openssl --with-mysql=mysqlnd --with-libdir=lib64 --with-mysqli=mysqlnd --enable-pdo --with-pdo-sqlite --with-pdo-mysql=mysqlnd --enable-inline-optimization --with-imap --with-imap-ssl --with-kerberos --with-readline --with-libedit --with-gmp --with-pspell --with-tidy --with-enchant --with-fpm-user=nginx --with-fpm-group=nginx --with-ldap --with-ldap-sasl --enable-huge-code-pages --with-password-argon2=/usr/local --with-sodium=/usr/local --with-config-file-scan-dir=/etc/centminmod/php.d --with-fpm-systemd --with-ffi --with-xsl PKG_CONFIG_PATH=/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig:/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig ICU_CFLAGS=-I/usr/include ICU_LIBS=-L/usr/lib64 -licuio -licui18n -licuuc -licudata LIBSODIUM_CFLAGS=-I/usr/local/include LIBSODIUM_LIBS=-L/usr/local/lib64 -lsodium LIBZIP_CFLAGS=-I/usr/local/include LIBZIP_LIBS=-L/usr/local/lib64 -lzip
    
    Code:
    # php -v
    PHP 8.0.12 (cli) (built: Oct 22 2021 03:18:27) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v4.0.12, Copyright (c) Zend Technologies
        with Zend OPcache v8.0.12, Copyright (c), by Zend Technologies
    
    # php-config
    Usage: /usr/local/bin/php-config --configure-options 
    --enable-fpm --enable-opcache --enable-intl --enable-pcntl --with-mcrypt --with-snmp --enable-embed=shared --with-mhash --with-zlib --with-gettext --enable-exif --with-zip --with-libzip --with-bz2 --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-mysql-sock=/var/lib/mysql/mysql.sock --with-curl --enable-gd --with-xmlrpc --enable-bcmath --enable-calendar --enable-ftp --enable-gd-native-ttf --with-freetype --with-jpeg --with-png-dir=/usr --with-xpm --with-webp --with-t1lib=/usr --enable-shmop --with-pear --enable-mbstring --with-openssl --with-mysql=mysqlnd --with-libdir=lib64 --with-mysqli=mysqlnd --enable-pdo --with-pdo-sqlite --with-pdo-mysql=mysqlnd --enable-inline-optimization --with-imap --with-imap-ssl --with-kerberos --with-readline --with-libedit --with-gmp --with-pspell --with-tidy --with-enchant --with-fpm-user=nginx --with-fpm-group=nginx --with-ldap --with-ldap-sasl --enable-huge-code-pages --with-password-argon2=/usr/local --with-sodium=/usr/local --with-config-file-scan-dir=/etc/centminmod/php.d --with-fpm-systemd --with-ffi --with-xsl PKG_CONFIG_PATH=/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig:/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig ICU_CFLAGS=-I/usr/include ICU_LIBS=-L/usr/lib64 -licuio -licui18n -licuuc -licudata LIBSODIUM_CFLAGS=-I/usr/local/include LIBSODIUM_LIBS=-L/usr/local/lib64 -lsodium LIBZIP_CFLAGS=-I/usr/local/include LIBZIP_LIBS=-L/usr/local/lib64 -lzip
      --version           [8.0.12]
      --vernum            [80012]
    
     
    Last edited: Oct 22, 2021
  7. Pasta

    Pasta New Member

    14
    2
    3
    Aug 3, 2021
    Ratings:
    +6
    Local Time:
    3:13 AM
    Nginx 1.21.x
    MariaDB 10.4
    Testing this also on my smaller community forum, im sure they wont mind if something breaks ;)
     
  8. Pasta

    Pasta New Member

    14
    2
    3
    Aug 3, 2021
    Ratings:
    +6
    Local Time:
    3:13 AM
    Nginx 1.21.x
    MariaDB 10.4
    Running on my small community site with around 30 to 50 users on concurrently for the last 11 hours seems stable so far.
     
  9. eva2000

    eva2000 Administrator Staff Member

    49,887
    11,487
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +17,843
    Local Time:
    5:13 AM
    Nginx 1.21.x
    MariaDB 10.x
  10. eva2000

    eva2000 Administrator Staff Member

    49,887
    11,487
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +17,843
    Local Time:
    5:13 AM
    Nginx 1.21.x
    MariaDB 10.x
    FYI, I've updated Centmin Mod 123.09beta01 to default to GCC 10 for Nginx out of the box now, so DEVTOOLSETTEN='y' is the default going forward :)
     
  11. happyhacking

    happyhacking Premium Member Premium Member

    105
    16
    18
    Apr 23, 2021
    Ratings:
    +58
    Local Time:
    2:13 PM
    1.22.0
    MariadDB 10.4.25
    Thats great, everything is still working fine, i cant wait to test the devtoolset-11. Thank you.
     
  12. rdan

    rdan Well-Known Member

    5,402
    1,354
    113
    May 25, 2014
    Ratings:
    +2,128
    Local Time:
    3:13 AM
    Mainline
    10.2
    And for PHP recompile? still 9?
     
  13. eva2000

    eva2000 Administrator Staff Member

    49,887
    11,487
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +17,843
    Local Time:
    5:13 AM
    Nginx 1.21.x
    MariaDB 10.x
  14. pamamolf

    pamamolf Well-Known Member

    4,003
    420
    83
    May 31, 2014
    Ratings:
    +812
    Local Time:
    10:13 PM
    Nginx-1.17.x
    MariaDB 10.3.x
    Then i think i will need to remove the DEVTOOLSETNINE='y' from my config file so it will use the default 10 :)