Created attachment 470472 [details] ebuild diff for sqlite3 flag: original on left, new on right Setting the "sqlite" USE flag for dev-lang/php-5.6.30 does not translate into sqlite3 being enabled during the configure phase. The ebuild does contain the line: > $(use_with sqlite sqlite3 "${EPREFIX}/usr") ... and the configure option defaults to "--without-sqlite3", so this seems to be the line that translates from the generic sqlite flag to sqlite3 in the configure phase. However, setting the "sqlite" flag still generates this "--without-sqlite3" option. I am not familiar enough with ebuild files to properly debug, but a local overlay with each instance of "sqlite" replaced with "sqlite3" causes the correct flag to be set ("--with-sqlite3=/usr" in my instance) (diff attached). Since there does not appear to be sqlite2 support, using the "sqlite3" USE flag doesn't seem appropriate, but again my ebuild foo is not strong enough for this challenge so I'm using a local "sqlite3" flag that matches the modified ebuild.
PHP Configure flags result with normal "sqlite" USE flag set, showing sqlite3 disabled: > phpinfo() > ---snip--- > './configure' '--prefix=/usr' '--build=x86_64-pc-linux-gnu' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--docdir=/usr/share/doc/php-5.6.30' '--htmldir=/usr/share/doc/php-5.6.30/html' '--prefix=/usr/lib64/php5.6' '--mandir=/usr/lib64/php5.6/man' '--infodir=/usr/lib64/php5.6/info' '--libdir=/usr/lib64/php5.6/lib' '--with-libdir=lib64' '--localstatedir=/var' '--without-pear' '--disable-maintainer-zts' '--with-fpm-acl' '--disable-bcmath' '--with-bz2=/usr' '--disable-calendar' '--disable-gcov' '--enable-ctype' '--with-curl=/usr' '--enable-dom' '--without-enchant' '--disable-exif' '--enable-fileinfo' '--enable-filter' '--disable-ftp' '--with-gettext=/usr' '--without-gmp' '--enable-hash' '--without-mhash' '--with-iconv' '--disable-intl' '--enable-ipv6' '--enable-json' '--without-kerberos' '--enable-libxml' '--with-libxml-dir=/usr' '--enable-mbstring' '--with-mcrypt=/usr' '--without-mssql' '--with-onig=/usr' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--disable-pcntl' '--enable-phar' '--enable-pdo' '--enable-opcache' '--without-pgsql' '--enable-posix' '--without-pspell' '--without-recode' '--enable-simplexml' '--disable-shmop' '--without-snmp' '--disable-soap' '--disable-sockets' '--without-sqlite3' '--without-sybase-ct' '--disable-sysvmsg' '--disable-sysvsem' '--disable-sysvshm' '--with-fpm-systemd' '--without-tidy' '--enable-tokenizer' '--disable-wddx' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter' '--without-xmlrpc' '--with-xsl=/usr' '--enable-zip' '--with-zlib=/usr' '--disable-debug' '--enable-dba' '--without-cdb' '--with-db4=/usr' '--disable-flatfile' '--with-gdbm=/usr' '--disable-inifile' '--without-qdbm' '--without-freetype-dir' '--without-t1lib' '--disable-gd-jis-conv' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--without-xpm-dir' '--without-vpx-dir' '--with-gd' '--without-interbase' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--without-unixODBC' '--without-iodbc' '--without-oci8' '--without-pdo-dblib' '--with-pdo-mysql=mysqlnd' '--without-pdo-pgsql' '--without-pdo-sqlite' '--without-pdo-firebird' '--without-pdo-odbc' '--without-pdo-oci' '--with-readline=/usr' '--without-libedit' '--without-mm' '--with-pic' '--with-pcre-regex=/usr' '--with-pcre-dir=/usr' '--with-config-file-path=/etc/php/apache2-php5.6' '--with-config-file-scan-dir=/etc/php/apache2-php5.6/ext-active' '--disable-embed' '--disable-cli' '--disable-cgi' '--disable-fpm' '--with-apxs2=/usr/bin/apxs' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=x86_64-pc-linux-gnu' 'CFLAGS=-O2 '-pipe'' 'LDFLAGS=-Wl,-O1 '-Wl,--as-needed'' 'CPPFLAGS=' 'CXXFLAGS=-O2 '-pipe'' > ---snip--- Partial output from "equery u" for the above build > $ equery u > ---snip--- > - - spell : Add dictionary support > + + sqlite : Add support for sqlite - embedded sql database > + + ssl : Add support for Secure Socket Layer connections > ---snip---
Please show evidence by attaching the build.log from doing 'ebuild /usr/portage/dev-lang/php/php-5.6.30.ebuild clean configure' It does not happen here. FWIW.. $(use_with sqlite sqlite3 "${EPREFIX}/usr") means: when sqlite USE is enabled, output --with-sqlite3="${EPREFIX}/usr" when sqlite USE is disabled, output --without-sqlite3
Alternatively, providing 'emerge --info =dev-lang/php-5.6.30' may provide clues as well
After reverting my changes and re-emergeing I am unable to replicate the issue, and SQLite3 class is available in PHP with the original USE flag set. Rather annoying, as far as I can tell this genuinely happened in the first instance. Am never satisfied when an issue "magically" resolves itself, especially when it's entirely possible PEBKAC.