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

Bug 322045

Summary: issues with dev-lang/php-5.3.2
Product: Gentoo Linux Reporter: Rafał Mużyło <galtgendo>
Component: [OLD] ServerAssignee: PHP Bugs <php-bugs>
Status: RESOLVED UPSTREAM    
Severity: minor    
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 312775    

Description Rafał Mużyło 2010-05-30 02:02:54 UTC
1. regardless of the answer in bug 285419, php-5.3.2 still
adds unixODBC dep on iodbc useflag - all I can say is
'it builds and shows as loaded on the info page'
2. bug 275240 holds
3.ldap--as-needed.patch shouldn't have been dropped, as it's still needed
(though personally I just patch PHP_CHECK_LIBRARY macro for correct
LIBS/LDFLAGS usage)
4. those QA compiler warnings about missing unistd.h include in
a few files introduced by suhosin patch

also, it seems that those two php4 leftovers in FILESDIR
can be removed
Comment 1 Matti Bickel (RETIRED) gentoo-dev 2010-05-30 09:08:45 UTC
1, 3 fixed.
2 I will fix on the other bug (need time to evaluate, sorry)
4 I can't reproduce. What's your USE config and what does emerge --info php say?

I get QA notices about _exit being ill-defined in several places, but that's about it.
Comment 2 Rafał Mużyło 2010-05-30 14:03:08 UTC
In 4. I was talking about 'incompatible implicit declaration of built-in function ‘_exit’' warnings.

USE="apache2 bcmath berkdb bzip2 calendar cgi cjk cli crypt ctype curl curlwrappers doc exif fileinfo filter flatfile ftp gd-external gdbm gmp hash iconv imap inifile iodbc ipv6 json kerberos ldap ldap-sasl mysql mysqli nls pcntl pdo pic posix postgres readline session sharedext simplexml snmp soap sockets spell sqlite3 ssl suhosin sysvipc threads tidy tokenizer truetype unicode xml xmlreader xmlrpc xmlwriter xsl zip zlib -adabas -birdstep -cdb -concurrentmodphp -db2 -dbmaker -debug -embed -empress -empress-bcs -enchant -esoob -firebird -frontbase -gd -interbase -intl -kolab -libedit -mssql -mysqlnd -oci8 -oci8-instant-client -odbc -phar -qdbm -recode -sapdb -sharedmem -solid -sqlite -sybase-ct -wddx -xpm"
...though probably only 'suhosin' matters there.
Comment 3 Rafał Mużyło 2010-05-30 14:13:11 UTC
As for the fix for 1.:
as php itself separates iodbc and unixODBC,
I think the correct fix should have been
iodbc? ( dev-db/libiodbc ) in DEPEND
removal of 'iodbc? ( $php[odbc] )' from RDEPEND
and moving 'phpconfutils_extension_with "iodbc"   "iodbc" 1 "/usr"'
into its own 'if use iodbc ; then' block in 
eblits/src_configure-v1.eblit
Comment 4 Matti Bickel (RETIRED) gentoo-dev 2010-06-01 17:28:15 UTC
Okay, I'm willing to fix 1) properly, but I need more info on it. I've had a look at ext/odbc and it seems HAVE_UNIXODBC and HAVE_IODBC can be used interchangeably, correct? So instead of unixODBC we could have a libiodbc dep. unixODBC is brought in by db2, sapdb and anything else that supports odbc. This is because those are ODBC drivers, where libiodbc is a driver *manager*, so the aforementioned drivers need a manager to provide a ODBC interface and unixODBC/libiodbc need drivers to actually provide useful results?

So shouldn't that ODBC section in src_prepare read if use odbc || use iodbc ; then...?

If we can dump unixODBC completely we could go for a OR DEPEND on odbc? () with libiodbc the first choice. But i'm almost sure i'm missing something here, because it has not been done earlier.
Comment 5 Rafał Mużyło 2010-06-08 00:01:31 UTC
I suspect that some of it is legacy of EAPI=0 limitations.

However, as far as differences between libiodbc and unixODBC go,
I would be interested in seeing an expert opinion myself.
Comment 6 Matti Bickel (RETIRED) gentoo-dev 2010-06-09 10:11:12 UTC
Just a short update: i've integrated most of your suggestions into the php-overlay ebuild and will migrate the fixes to portage shortly.

AFAIK the RDEPEND is still needed - otherwise libiodbc becomes eligible for depcleaning after the build.

On the _exit QA notices, I've notified upstream.
Comment 7 Rafał Mużyło 2010-06-09 13:15:31 UTC
> AFAIK the RDEPEND is still needed...
Then move libiodbc from DEPEND to RDEPEND (I've never ran
a depclean, cause usually that tends to remove
things that ARE needed, so I've never noticed).
Comment 8 Matti Bickel (RETIRED) gentoo-dev 2010-06-11 17:32:57 UTC
Not going to happen. libiodbc is needed at build- (DEPEND) and runtime (RDEPEND). But with the most recent update you should be able to run php w/o unixODBC.

So this bug is waiting for upstream.