After emerge -uD world 2 days ago (7/13), the horde-imp stopped working. Instead of the usual inbox page, I now get these messages: Notice: Only variable references should be returned by reference in /var/www/localhost/htdocs/horde/lib/Prefs.php on line 144 Warning: session_regenerate_id(): Cannot send session cookie - headers already sent by (output started at /var/www/localhost/htdocs/horde/lib/Auth.php:80) in /var/www/localhost/htdocs/horde/lib/Horde.php on line 886 Notice: Only variable references should be returned by reference in /var/www/localhost/htdocs/horde/lib/Prefs.php on line 144 Warning: Cannot modify header information - headers already sent by (output started at /var/www/localhost/htdocs/horde/lib/Auth.php:80) in /var/www/localhost/htdocs/horde/imp/redirect.php on line 106 I tried re-emergeing horde-imp and running revdep-rebuild, no improvement. In /etc/apache2/confphp.ini, there is a path specification include_path = ".:/usr/lib/php:/usr/lib/php/php" Curiously, there seem to be at least two different versions of Auth.php that emerge put in 3 different locations /var/www/localhost/htdocs/horde/lib/Auth.php /usr/lib/php/PEAR/Command/Auth.php /usr/share/webapps/horde/2.2.8/htdocs/lib/Auth.php Reproducible: Always Steps to Reproduce: 1. 2. 3.
Unfortunately, versions of horde less than the unreleased 3.05 release are incompatible with PHP version 4.4 (which your emerge most likely installed for you.) About your only choice is to downgrade your PHP, which will, of course, introduce security issues. Sorry about that.
(In reply to comment #1) > Unfortunately, versions of horde less than the unreleased 3.05 release are > incompatible with PHP version 4.4 (which your emerge most likely installed for > you.) About your only choice is to downgrade your PHP, which will, of course, > introduce security issues. Sorry about that. which version of horde should I use ? emerging latest unstable horde causes same problems (horde-3.0.4-r1)
According to my original comment, you ned horde 3.05, which isn't released. So I would expect 3.04 not to work. You need to downgrade PHP to get it to work, as I stated in my original comment. (In reply to comment #2) > (In reply to comment #1) > > Unfortunately, versions of horde less than the unreleased 3.05 release are > > incompatible with PHP version 4.4 (which your emerge most likely installed for > > you.) About your only choice is to downgrade your PHP, which will, of course, > > introduce security issues. Sorry about that. > > which version of horde should I use ? emerging latest unstable horde causes same > problems (horde-3.0.4-r1)
The problem arrises with functions that should return variables but instead return things like true/false. Example function some_func() { if($something) { return false; } } In the case something like this throws a warning, it needs to be replaed with: function some_func() { if($something) { $tmpvar = false; return $tmpvar; } } Horde should have a fix for it...I mean it's easy enough to fix. For right now, a simple hack is to go into the source files and change all those return statements until the new version is placed in portage
Would it not make sense to modify the horde dependencies to require <(mod_)php-4.4 until the new version is available? This is what DEPENDS are for, even if this must be done conditionally in the eclass. This is gonna bite everybody (it bit me)!
*** Bug 99761 has been marked as a duplicate of this bug. ***
Note that horde-3.0.5-rc1 is available since 11/07, so impatient users might be able to create a working ebuild for it, using the existing one.
i'll just unmask the horde-3 stuff
Created attachment 64995 [details, diff] Patch to get horde & friends working correctly with PHP 4.4 This patch fixes all of the bugs that I've run into with PHP 4.4 and the Horde suite. I doubt that I've found all of them but at least basic functionality is restored.
Found one more (should be added to the patch) In horde/lib/Prefs.php Around line 167. if (class_exists($class)) { return new $class($user, $password, $scope, $params, $caching); Should be if (class_exists($class)) { $tempClass = new $class($user, $password, $scope, $params, $caching); return $tempClass; horde 3.0.5 was released today, maybe it can be added to stable? The patches should at least be added.
3.0.5 now in portage
*** Bug 106769 has been marked as a duplicate of this bug. ***
*** Bug 112911 has been marked as a duplicate of this bug. ***