Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 916539

Summary: dev-lang/php-8.2.12: !!! dolib: modules/opcache.so does not exist USE="opcache"
Product: Gentoo Linux Reporter: Alfred Wingate <parona>
Component: Current packagesAssignee: PHP Bugs <php-bugs>
Status: RESOLVED INVALID    
Severity: normal CC: mjo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: dev-lang/php-8.2.12 build.log (gz compressed)
emerge --info

Description Alfred Wingate 2023-10-30 18:33:12 UTC
!!! dolib: modules/opcache.so does not exist



Reproducible: Always

Steps to Reproduce:
1. emerge dev-lang/php-8.2.12 with opcache use flag enabled

Actual Results:  
Install failure due to trying to install a nonexisting library

Expected Results:  
Success
Comment 1 Alfred Wingate 2023-10-30 18:34:32 UTC
Created attachment 873723 [details]
dev-lang/php-8.2.12 build.log (gz compressed)
Comment 2 Alfred Wingate 2023-10-30 18:34:44 UTC
Created attachment 873724 [details]
emerge --info
Comment 3 Alfred Wingate 2023-10-30 18:39:54 UTC
/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/libtool: line 1542: func_fatal_configuration: command not found

weird message from the build stage that wasn't fatal.

And I notice opcache.la is built according to the logs

/bin/sh /var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/libtool --silent --preserve-dup-deps --tag CC --mode=link clang -shared -I/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/include -I/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/main -I/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg -I/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/ext/date/lib -I/usr/include/libxml2 -I/usr/include/libpng16 -I/usr/include/webp -I/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/ext/mbstring/libmbfl -I/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/ext/mbstring/libmbfl/mbfl -I/usr/include/pspell -I/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/TSRM -I/var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/Zend  -D_GNU_SOURCE  -fno-common -Wstrict-prototypes -Wall -Wextra -Wno-strict-aliasing -Wno-unused-parameter -Wno-sign-compare -O3 -march=znver2 -pipe -fvisibility=hidden -DZEND_SIGNALS   -Wl,-O2 -Wl,--as-needed -Wl,--compress-debug-sections=zlib -Wl,--lto-O3  -o ext/opcache/opcache.la -export-dynamic -avoid-version -prefer-pic -module -rpath /var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/modules  ext/opcache/ZendAccelerator.lo ext/opcache/zend_accelerator_blacklist.lo ext/opcache/zend_accelerator_debug.lo ext/opcache/zend_accelerator_hash.lo ext/opcache/zend_accelerator_module.lo ext/opcache/zend_persist.lo ext/opcache/zend_persist_calc.lo ext/opcache/zend_file_cache.lo ext/opcache/zend_shared_alloc.lo ext/opcache/zend_accelerator_util_funcs.lo ext/opcache/shared_alloc_shm.lo ext/opcache/shared_alloc_mmap.lo ext/opcache/shared_alloc_posix.lo ext/opcache/jit/zend_jit.lo ext/opcache/jit/zend_jit_gdb.lo ext/opcache/jit/zend_jit_vm_helpers.lo -lrt


-o ext/opcache/opcache.la
Comment 4 Alfred Wingate 2023-10-30 18:44:19 UTC
ls /var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/phpdbg/modules
opcache.la

ls /var/tmp/portage/dev-lang/php-8.2.12/work/sapis-build/cli/modules
opcache.la
Comment 5 Alfred Wingate 2023-10-30 18:55:56 UTC
My C{,XX}FLAGS aren't cause, tried with more normal flags and I get the same issue.

CFLAGS="-O2 -pipe"
CXXFLAGS="-O2 -pipe"
FFLAGS="-O2 -pipe"
FCFLAGS="-O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
Comment 6 Michael Orlitzky gentoo-dev 2023-10-30 22:37:32 UTC
I think your linker got borked somehow. Your build log (./configure) says,

  checking whether the clang linker (lld -m elf_x86_64) supports shared 
  libraries... no

which then leads to

  checking if libtool supports shared libraries... no
  checking whether to build shared libraries... no

Of course the build should have just died there, but it didn't. Nevertheless I think that's the root cause.
Comment 7 Alfred Wingate 2023-10-31 00:58:55 UTC
Thank you for pointing that out. 

It was a very stupid mistake in environment file that I didn't realise I had enabled for php.

LD="lld" instead LD="ld.lld"...
Comment 8 Michael Orlitzky gentoo-dev 2023-10-31 01:00:47 UTC
No problem, glad to help.