Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:74528 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42057 invoked from network); 27 May 2014 15:47:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 May 2014 15:47:31 -0000 Authentication-Results: pb1.pair.com smtp.mail=johannes@schlueters.de; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=johannes@schlueters.de; sender-id=unknown Received-SPF: error (pb1.pair.com: domain schlueters.de from 217.114.215.10 cause and error) X-PHP-List-Original-Sender: johannes@schlueters.de X-Host-Fingerprint: 217.114.215.10 mail.experimentalworks.net Received: from [217.114.215.10] ([217.114.215.10:36814] helo=mail.experimentalworks.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id EE/14-18053-293B4835 for ; Tue, 27 May 2014 11:47:31 -0400 Received: from [192.168.2.31] (ppp-93-104-16-3.dynamic.mnet-online.de [93.104.16.3]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: johannes@schlueters.de) by mail.experimentalworks.net (Postfix) with ESMTPSA id 214B642938; Tue, 27 May 2014 17:48:29 +0200 (CEST) To: Michael Wallner Cc: PHP Internals In-Reply-To: References: <1401193927.2998.50.camel@guybrush> <1401200710.2998.56.camel@guybrush> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-BKnlP8m5+/CXbK/SH5c5" Date: Tue, 27 May 2014 17:47:11 +0200 Message-ID: <1401205632.2998.67.camel@guybrush> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Subject: Re: [PHP-DEV] Linking and autoloading of dependent extensions From: johannes@schlueters.de (Johannes =?ISO-8859-1?Q?Schl=FCter?=) --=-BKnlP8m5+/CXbK/SH5c5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2014-05-27 at 17:30 +0200, Michael Wallner wrote: > Well, ok... so that's absolutely not the problem I'm trying to solve. > You can still load that stubbornly named extensions manually and > nothing will complain, even if something has a dependency on it.=20 >=20 >=20 > I'm about e.g. pecl install & going ahead without reordering extension > entries... The issue is this can pull in the wrong extension giving the user a hard time to understand how and why that happens. And I don't think this will solve the "pecl install & going ahead" wish - what should "pecl install" do? - Add new extensions to the end of the file? So it will be loaded two times? I think the solution is more in the loading and startup logic. I think we should only load explicitly mentioned extensions (or alternatively *all* extension in extension dir, while that has issues, too, think i.e. Windows where we distribute a bunch of dlls which require some 3rd party libs in proper places), then analyze the dependencies, order the startup call accordingly and start them up. (this all won't solve issues where lazy linking doesn't work and we need system level symbols from other extensions, though ... but I think systems without working RTLD_LAZY are rare these days) johannes --=-BKnlP8m5+/CXbK/SH5c5 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (SunOS) iQEcBAABAgAGBQJThLN/AAoJEH3sTmn8nIPX+N0IAJ/yYFUlkKWY1G5T4xfB6p9Y YuzhaLL8WPmwycHWbO5IaInjnxnIEWMl/rOeC9Q3jwP69tCJ7vIPz/kUeaDJ+kzv kEtayq/+z5dwkhIzIOnrpB+KcoSgr2J4o1OpNyjzmMi6EguYQWS8pT0TikcJsgbj jeELbB84B98RPtWKqx78UU9KIb0KCdfb/1Gie/0CCBJ1ur1LHCVY32nzxaOVyuU7 zEKgY4OcS9R7C8syQAstqH9A0KKPk8XmHrSdGrVkUF404DaqtJkGmLYJaUXw4MoS L5g0B7UPUYHORy2Es/SyqOKBGyZJbMMB9ss8XSyDad+1xPKcyTnLx5YH0w5bfp4= =Qn+R -----END PGP SIGNATURE----- --=-BKnlP8m5+/CXbK/SH5c5--