php 8 fails installation

Invader Zim

Verified User
Joined
Sep 4, 2004
Messages
184
In options.conf I set

Code:
php1_release=7.4
php1_mode=php-fpm
php2_release=8.0
php2_mode=php-fpm

7.4 builds just fine, but when it comes to 8...

Code:
Configuring php-8.0.0...
Patching php-fpm to not fail on startup if User quota maxed out on socket chown
patching file sapi/fpm/fpm/fpm_unix.c
Hunk #1 succeeded at 242 (offset 7 lines).
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking for cc option to accept ISO C99... -std=gnu99
checking how to run the C preprocessor... cc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether ln -s works... yes
checking for system library directory... lib
checking whether to enable runpaths... yes
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking for gawk... gawk
checking for bison... bison
checking for bison version... 3.0.4 (ok)
checking for re2c... no
checking whether to enable computed goto gcc extension with re2c... no
checking whether C compiler accepts -fvisibility=hidden... yes
checking whether to force non-PIC code in shared modules... no
checking whether /dev/urandom exists... yes
checking for global register variables support... yes
checking whether __cpuid_count is available... yes
checking for pthreads_cflags... -pthread
checking for pthreads_lib... pthread

Configuring SAPI modules
checking for Apache 2 handler module support via DSO through APXS... no
checking for setproctitle... no
checking sys/pstat.h usability... no
checking sys/pstat.h presence... no
checking for sys/pstat.h... no
checking for PS_STRINGS... no
checking for CLI build... yes
checking for embedded SAPI library support... shared
checking for FPM build... yes
checking for clearenv... yes
checking for setproctitle... (cached) no
checking for setproctitle_fast... no
checking for library containing socket... none required
checking for library containing inet_addr... none required
checking for prctl... yes
checking for clock_gettime... yes
checking for ptrace... yes
checking whether ptrace works... yes
checking for proc mem file... mem
checking if gcc supports __sync_bool_compare_and_swap... yes
checking for TCP_INFO... yes
checking for sysconf... yes
checking for times... yes
checking for kqueue... no
checking for port framework... no
checking for /dev/poll... no
checking for epoll... yes
checking for select... yes
checking for libsystemd >= 209... yes
checking systemd/sd-daemon.h usability... yes
checking systemd/sd-daemon.h presence... yes
checking for systemd/sd-daemon.h... yes
checking for clang fuzzer SAPI... no
checking for LiteSpeed support... yes
checking for phpdbg support... yes
checking for phpdbg web SAPI support... no
checking for phpdbg debug build... no
checking for phpdbg readline support... no
checking whether termios.h defines TIOCGWINSZ... no
checking whether sys/ioctl.h defines TIOCGWINSZ... yes
checking for phpdbg and readline integration... disabled
checking for CGI build... yes
checking for sun_len in sys/un.h... no
checking whether cross-process locking is required by accept()... no
checking for chosen SAPI module... embed
checking for executable SAPI binaries...  cli fpm litespeed phpdbg cgi

Running system checks
checking for sendmail... /usr/sbin/sendmail
checking whether system uses EBCDIC... no
checking whether byte ordering is bigendian... no
checking whether writing to stdout works... This is the test message -- yes
checking for socket... yes
checking for socketpair... yes
checking for htonl... yes
checking for gethostname... yes
checking for gethostbyaddr... yes
checking for dlopen... no
checking for __dlopen... no
checking for dlopen in -ldl... yes
checking for dlsym... yes
checking for sin in -lm... yes
checking for inet_aton... yes
checking for stdint.h... (cached) yes
checking for dirent.h... yes
checking for sys/param.h... yes
checking for sys/types.h... (cached) yes
checking for sys/time.h... yes
checking for netinet/in.h... yes
checking for alloca.h... yes
checking for arpa/inet.h... yes
checking for arpa/nameser.h... yes
checking for crypt.h... yes
checking for dns.h... no
checking for fcntl.h... yes
checking for grp.h... yes
checking for ieeefp.h... no
checking for langinfo.h... yes
checking for malloc.h... yes
checking for poll.h... yes
checking for pty.h... yes
checking for pwd.h... yes
checking for resolv.h... yes
checking for strings.h... (cached) yes
checking for syslog.h... yes
checking for sysexits.h... yes
checking for sys/ioctl.h... yes
checking for sys/file.h... yes
checking for sys/mman.h... yes
checking for sys/mount.h... yes
checking for sys/poll.h... yes
checking for sys/resource.h... yes
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for sys/stat.h... (cached) yes
checking for sys/statfs.h... yes
checking for sys/statvfs.h... yes
checking for sys/vfs.h... yes
checking for sys/sysexits.h... no
checking for sys/uio.h... yes
checking for sys/wait.h... yes
checking for sys/loadavg.h... no
checking for unistd.h... (cached) yes
checking for unix.h... no
checking for utime.h... yes
checking for sys/utsname.h... yes
checking for sys/ipc.h... yes
checking for dlfcn.h... yes
checking for tmmintrin.h... no
checking for nmmintrin.h... no
checking for wmmintrin.h... no
checking for immintrin.h... yes
checking for fopencookie... yes
checking for broken getcwd... no
checking for broken gcc optimize-strlen... no
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for missing declarations of reentrant functions... done
checking for fclose declaration... ok
checking for struct flock... yes
checking for socklen_t... yes
checking size of intmax_t... 8
checking size of ssize_t... 8
checking size of ptrdiff_t... 8
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of size_t... 8
checking size of off_t... 8
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for __builtin_expect... yes
checking for __builtin_clz... yes
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for __builtin_ctzl... yes
checking for __builtin_ctzll... yes
checking for __builtin_smull_overflow... no
checking for __builtin_smulll_overflow... no
checking for __builtin_saddl_overflow... no
checking for __builtin_saddll_overflow... no
checking for __builtin_ssubl_overflow... no
checking for __builtin_ssubll_overflow... no
checking for __builtin_cpu_init... yes
checking for __builtin_cpu_supports... yes
checking whether the compiler supports __alignof__... yes
checking for struct tm.tm_gmtoff... yes
checking for struct stat.st_blksize... yes
checking for struct stat.st_rdev... yes
checking for struct stat.st_blocks... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for struct sockaddr_storage... yes
checking for field sa_len in struct sockaddr... no
checking for __attribute__((ifunc))... yes
checking for __attribute__((target))... yes
checking for IPv6 support... yes
checking for alphasort... yes
checking for asctime_r... yes
checking for chroot... yes
checking for ctime_r... yes
checking for explicit_memset... no
checking for flock... yes
checking for ftok... yes
checking for funopen... no
checking for gai_strerror... yes
checking for getcwd... yes
checking for getloadavg... yes
checking for getlogin... yes
checking for getprotobyname... yes
checking for getprotobynumber... yes
checking for getservbyname... yes
checking for getservbyport... yes
checking for getrusage... yes
checking for gettimeofday... yes
checking for gmtime_r... yes
checking for getpwnam_r... yes
checking for getgrnam_r... yes
checking for getpwuid_r... yes
checking for getwd... yes
checking for glob... yes
checking for inet_ntoa... yes
checking for inet_ntop... yes
checking for inet_pton... yes
checking for localtime_r... yes
checking for lchown... yes
checking for memmove... yes
checking for mkstemp... yes
checking for mmap... yes
checking for nice... yes
checking for nl_langinfo... yes
checking for poll... yes
checking for putenv... yes
checking for scandir... yes
checking for setitimer... yes
checking for setenv... yes
checking for shutdown... yes
checking for sigprocmask... yes
checking for statfs... yes
checking for statvfs... yes
checking for std_syslog... no
checking for strcasecmp... yes
checking for strnlen... yes
checking for strptime... yes
checking for strtok_r... yes
checking for symlink... yes
checking for tzset... yes
checking for unsetenv... yes
checking for usleep... yes
checking for utime... yes
checking for vasprintf... yes
checking for asprintf... yes
checking for nanosleep... yes
checking for memmem... yes
checking how many arguments gethostbyname_r() takes... six
checking for nanosleep in -lrt... yes
checking for setsockopt in -lnetwork... no
checking for __setsockopt in -lnetwork... no
checking for getaddrinfo... yes
checking for strlcat... no
checking for strlcpy... no
checking for explicit_bzero... no
checking for getopt... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for type of reentrant time-related functions... POSIX
checking for in_addr_t... yes
checking for aarch64 CRC32 API... no
checking for asm goto... yes
checking whether to enable valgrind support... yes
checking for valgrind... no
checking for openpty... no
checking for __openpty... no
checking for openpty in -lutil... yes

General settings
checking whether to include gcov symbols... no
checking whether to include debugging symbols... no
checking whether to enable debug assertions in release mode... no
checking whether to dlopen extensions with RTLD_NOW instead of RTLD_LAZY... no
checking layout of installed files... PHP
checking path to configuration file... DEFAULT
checking where to scan for configuration files... /usr/local/php80/lib/php.conf.d
checking whether to enable PHP's own SIGCHLD handler... no
checking whether to explicitly link against libgcc... no
checking whether to enable short tags by default... yes
checking whether to enable dmalloc... no
checking whether to enable IPv6 support... yes
checking whether to enable DTrace support... no
checking how big to make fd sets... using system default

Configuring extensions
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking for strtoll... yes
checking for atoll... yes
checking whether to build with LIBXML support... yes
checking for libxml-2.0 >= 2.9.0... yes
checking for OpenSSL support... yes
checking for Kerberos support... yes
checking whether to use system default cipher list instead of hardcoded value... no
checking for krb5-gssapi krb5... yes
checking for RAND_egd... no
checking for openssl >= 1.0.1... yes
checking for PCRE library to use... bundled
checking whether to enable PCRE JIT functionality... yes
checking whether Intel CET is enabled... no
checking whether to enable the SQLite3 extension... yes
checking for sqlite3 > 3.7.4... yes
checking for sqlite3_errstr in -lsqlite3... yes
checking for sqlite3_expanded_sql in -lsqlite3... no
checking for sqlite3_load_extension in -lsqlite3... yes
checking for ZLIB support... yes
checking for zlib >= 1.2.0.4... yes
checking whether to enable bc style precision math functions... yes
checking for BZip2 support... no
checking whether to enable calendar conversion support... yes
checking whether to enable ctype functions... yes
checking for cURL support... yes
checking for libcurl >= 7.29.0... yes
checking for SSL support in libcurl... yes
checking for libcurl linked against old openssl... yes
checking for openssl... yes
checking openssl/crypto.h usability... yes
checking openssl/crypto.h presence... yes
checking for openssl/crypto.h... yes
checking for curl_easy_perform in -lcurl... yes
checking for QDBM support... no
checking for GDBM support... no
checking for NDBM support... no
checking for TCADB support... no
checking for LMDB support... no
checking for Berkeley DB4 support... no
checking for Berkeley DB3 support... no
checking for Berkeley DB2 support... no
checking for DB1 support... no
checking for DBM support... no
checking for CDB support... no
checking for INI File support... no
checking for FlatFile support... no
checking whether to enable DBA interface... no
checking whether to enable DOM support... yes
checking for libxml-2.0 >= 2.9.0... yes
checking whether to build with Enchant support... no
checking whether to enable EXIF (metadata from images) support... yes
checking for FFI support... no
checking for fileinfo support... yes
checking for strcasestr... yes
checking for utimes... yes
checking for strndup... yes
checking whether to enable input filter support... yes
checking whether to enable FTP support... yes
checking whether to explicitly enable FTP SSL support... no
checking for openssl >= 1.0.1... yes
checking for GD support... yes
checking for external libgd... no
checking for libwebp... yes
checking for libjpeg... yes
checking for libXpm... no
checking for FreeType 2... yes
checking whether to enable JIS-mapped Japanese font support in GD... no
checking for fabsf... yes
checking for floorf... yes
checking for zlib... yes
checking for libpng... yes
checking for libwebp... yes
checking for libjpeg... yes
checking for freetype2... yes
checking for GNU gettext support... yes
checking for bindtextdomain in -lintl... no
checking for bindtextdomain in -lc... yes
checking for ngettext in -lc... yes
checking for dngettext in -lc... yes
checking for dcngettext in -lc... yes
checking for bind_textdomain_codeset in -lc... yes
checking for GNU MP support... no
checking for mhash support... yes
checking size of long... (cached) 8
checking if we're at 64-bit platform... yes
checking for iconv support... yes
checking for iconv... yes
checking if iconv is glibc's... yes
checking if iconv supports errno... no
configure: error: iconv does not support errno

*** There was an error while trying to configure php. Check the configure file

config.log is attached.

All other bits and bobs are running the latest version. The installed os is CentOS 7.9.2009 (kernel 3.10.0-1127.19.1.el7.x86_64).
 

Attachments

iconv header file is provided by glibc-headers package. May you check if the following helps?
Code:
yum -y reinstall glibc-headers
 
Oh, I think I see the issue in your config.log:
Code:
/usr/bin/ld: /tmp/cc0iVQbr.o: undefined reference to symbol 'libiconv_open'
/usr/local/lib/libiconv.so.2: error adding symbols: DSO missing from command line

Try:
Code:
ldconfig
cd /usr/local/directadmin/custombuild
./build all d

This should solve the issue and use OS-provided version of libiconv from glibc-headers package.
 

Maybe related?:unsure: See first warning in that post
 
Alas.

Code:
checking if iconv supports errno... no
configure: error: iconv does not support errno

*** There was an error while trying to configure php. Check the configure file
 
Alas.

Code:
checking if iconv supports errno... no
configure: error: iconv does not support errno

*** There was an error while trying to configure php. Check the configure file
Would you mind providing access there for 20mins or so? :)
 
@smtalk on my CloudLinux 7.9 system I have the same issue, but not on my CentOS 7.9... Both of them have version "iconv (GNU libiconv 1.16)" on /usr/local/bin/iconv. I understand this is the latest version. If I try to remove it from there, I saw a lot of packages need to be recompiled probably creating a downtime.

My first question would be how iconv got installed in /usr/local/bin? Is it installed by custombuild?
Second, why I only have this problem on CL?

@Invader Zim you are using CL on your systems or you get that error on other OS?
 
@smtalk on my CloudLinux 7.9 system I have the same issue, but not on my CentOS 7.9... Both of them have version "iconv (GNU libiconv 1.16)" on /usr/local/bin/iconv. I understand this is the latest version. If I try to remove it from there, I saw a lot of packages need to be recompiled probably creating a downtime.

My first question would be how iconv got installed in /usr/local/bin? Is it installed by custombuild?
Second, why I only have this problem on CL?

@Invader Zim you are using CL on your systems or you get that error on other OS?
“./build php” should take care of it. Earlier CB installed iconv, but due to new versions of the library in non-EOL OS this is not needed anymore, and it does not install it on new DA installs anymore.
 
@smtalk on my CloudLinux 7.9 system I have the same issue, but not on my CentOS 7.9... Both of them have version "iconv (GNU libiconv 1.16)" on /usr/local/bin/iconv. I understand this is the latest version. If I try to remove it from there, I saw a lot of packages need to be recompiled probably creating a downtime.

My first question would be how iconv got installed in /usr/local/bin? Is it installed by custombuild?
Second, why I only have this problem on CL?

@Invader Zim you are using CL on your systems or you get that error on other OS?
I'm using CL on some servers, but not the server in question.
 
“./build php” should take care of it. Earlier CB installed iconv, but due to new versions of the library in non-EOL OS this is not needed anymore, and it does not install it on new DA installs anymore.
I did that and db_governor, httpd, mysqld and named didn't start anymore even after a reboot. After this, I did a "./build all d" but got a bunch of errors, like for exemple:
ImportError: libiconv.so.2: cannot open shared object file: No such file or directory
and
/usr/bin/ld: cannot find -liconv
Resulting in quite a lot of downtime of over an hour already and counting...

So, if anyone ever read this thread DO NOT DO THAT until there's a real solution to this and NEVER DELETE LIBRARIES from OS folders even from /usr/local... better without PHP 8 than with a crashed server...
My luck was I actually didn't deleted the files, but moved them to a backup folder. Even yum was not working anymore complaining about those libs. I'm rebuilding everything now so I get the services up again...
 
I did that and db_governor, httpd, mysqld and named didn't start anymore even after a reboot. After this, I did a "./build all d" but got a bunch of errors, like for exemple:

and

Resulting in quite a lot of downtime of over an hour already and counting...

So, if anyone ever read this thread DO NOT DO THAT until there's a real solution to this and NEVER DELETE LIBRARIES from OS folders even from /usr/local... better without PHP 8 than with a crashed server...
My luck was I actually didn't deleted the files, but moved them to a backup folder. Even yum was not working anymore complaining about those libs. I'm rebuilding everything now so I get the services up again...
What OS was it? It should have used your OS version which comes from glibc-headers package.

I can check the system personally, as it sounds weird that it did not recompile the components.
 
What OS was it? It should have used your OS version which comes from glibc-headers package.

I can check the system personally, as it sounds weird that it did not recompile the components.
It's CloudLinux release 7.9 (Boris Yegorov). I tried running ldconfig and rebooted it.
Linux [HOSTNAME] 3.10.0-962.3.2.lve1.5.42.el7.x86_64 #1 SMP Mon Nov 9 08:11:18 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

Strange enough, after all this adventure, when I restored the libs and did "./build all d", PHP 8 did run configure with success but got the errors in the attached text file. This error ended my build all command...
I'm still trying to get apache up... it complains about modsecurity that doesn't find libiconv so I will try recompile it...

LATE EDIT: I did manage to rebuild libmodsecurity and modsecurity and got httpd up after it.
LATER LATE EDIT: The error in the text file is related to mod_lsapi I was using with Apache (probably not compatible yet?). I did manage to compile PHP 8 if I switch it to fastcgi. Not sure yet why I get that error but after compile it did also created a working lsphp executable...
 

Attachments

Last edited:
Same for me. i'm on CentOs 7 Custombuild 2645


checking if iconv supports errno... no
configure: error: iconv does not support errno
Done!
 
So I moved libiconv to backup directory and installation now stoped on curl checking... I moved libiconv back to previous directory and then I run:
cd /usr/local/directadmin/custombuild
./build update
./build php
PHP was builded properly but now nginx won't start because of error while loading shared libraries libiconv.so xD
 
Oh, I think I see the issue in your config.log:
Code:
/usr/bin/ld: /tmp/cc0iVQbr.o: undefined reference to symbol 'libiconv_open'
/usr/local/lib/libiconv.so.2: error adding symbols: DSO missing from command line

Try:
Code:
rm -f /usr/local/lib/libiconv*
rm -f /usr/local/bin/iconv
rm -f /usr/local/include/iconv.h
ldconfig
cd /usr/local/directadmin/custombuild
./build all d

This should solve the issue and use OS-provided version of libiconv from glibc-headers package.

After removing local iconv, on Debian 10 imagick fails to build:

cc -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/include/ImageMagick-7 -I. -I/usr/local/directadmin/custombuild/imagick-3.4.4 -DPHP_ATOM_INC -I/usr/local/directadmin/custombuild/imagick-3.4.4/include -I/usr/local/directadmin/custombuild/imagick-3.4.4/main -I/usr/local/directadmin/custombuild/imagick-3.4.4 -I/usr/local/php74/include/php -I/usr/local/php74/include/php/main -I/usr/local/php74/include/php/TSRM -I/usr/local/php74/include/php/Zend -I/usr/local/php74/include/php/ext -I/usr/local/php74/include/php/ext/date/lib -I/usr/local/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -c /usr/local/directadmin/custombuild/imagick-3.4.4/shim_im6_to_im7.c -fPIC -DPIC -o .libs/shim_im6_to_im7.o
/bin/bash /usr/local/directadmin/custombuild/imagick-3.4.4/libtool --mode=link cc -DPHP_ATOM_INC -I/usr/local/directadmin/custombuild/imagick-3.4.4/include -I/usr/local/directadmin/custombuild/imagick-3.4.4/main -I/usr/local/directadmin/custombuild/imagick-3.4.4 -I/usr/local/php74/include/php -I/usr/local/php74/include/php/main -I/usr/local/php74/include/php/TSRM -I/usr/local/php74/include/php/Zend -I/usr/local/php74/include/php/ext -I/usr/local/php74/include/php/ext/date/lib -I/usr/local/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -o imagick.la -export-dynamic -avoid-version -prefer-pic -module -rpath /usr/local/directadmin/custombuild/imagick-3.4.4/modules imagick_file.lo imagick_class.lo imagickdraw_class.lo imagickpixel_class.lo imagickpixeliterator_class.lo imagick_helpers.lo imagick.lo imagickkernel_class.lo shim_im6_to_im7.lo -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lMagickWand-7.Q16HDRI -lMagickCore-7.Q16HDRI
grep: /usr/local/lib/libiconv.la: No such file or directory
/bin/sed: can't read /usr/local/lib/libiconv.la: No such file or directory
libtool: link: `/usr/local/lib/libiconv.la' is not a valid libtool archive
make: *** [Makefile:213: imagick.la] Error 1
 
Back
Top