[pkg-php-pear] Bug#824175: Error: Class '...\PropertyAccess' not found

Antonio Ospite ao2 at ao2.it
Sat May 21 16:02:18 UTC 2016

Hi David,

thanks for your reply, see my comment inlined below.

On Sun, 15 May 2016 11:39:53 -0400
David Prévot <taffit at debian.org> wrote:

> Control: tag -1 upstream
> On Fri, May 13, 2016 at 01:29:46PM +0200, Antonio Ospite wrote:
> > Package: php-symfony-serializer
> > Version: 2.8.6+dfsg-1
> > Severity: normal
> > 
> > Dear Maintainer,
> > 
> > I installed php-symfony-serializer and tried the first example from the
> > documentation at
> > http://symfony.com/doc/current/components/serializer.html, the code is
> > like this:
> […]
> > PHP Fatal error:  Uncaught Error: Class 'Symfony\Component\PropertyAccess\PropertyAccess' not found in /usr/share/php/Symfony/Component/Serializer/Normalizer/ObjectNormalizer.php:40
> The documentation page you’re referring to already warns about it:
> “To use the ObjectNormalizer, the PropertyAccess component must also be
> installed.”
> > Of course the error goes away if I install the
> > php-symfony-property-access package.
> > 
> > I see that php-symfony-property-access is a suggested package, but I was
> > wondering it if should be a dependency or a least a recommended
> > package.
> This is intended upstream, that only suggests symfony/property-info in
> their composer.json file.
> https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Serializer/composer.json

I do see property-access in the file above, maybe the "only" from your
sentence above refers to the "suggests" part and you meant to write
symfony/property-access instead of symfony/property-info?

> Composer documents suggest as follow:
> Suggested packages that can enhance or work well with this package. These are
> just informational and are displayed after the package is installed, to give
> your users a hint that they could add more packages, even though they are not
> strictly required.
> https://getcomposer.org/doc/04-schema.md#suggest
> Debian documents suggests as follow:
> This is used to declare that one package may be more useful with one or
> more others. Using this field tells the packaging system and the user
> that the listed packages are related to this one and can perhaps enhance
> its usefulness, but that installing this one without them is perfectly
> reasonable.
> https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
> Both Composer and Debian interpretation of suggest seem to match well
> enough, so if you believe the relation is too weak, you should try to
> convince upstream about it.
> http://symfony.com/doc/current/contributing/code/bugs.html
> http://symfony.com/doc/current/contributing/code/patches.html

I can give that a try, thanks for the suggestion.

My rationale is that a Serializer() object requires a normalizer, and
that the ObjectNormalizer is most likely the one that new user will
use, so adding property-access (which ObjectNormalizer requires) as a
dependency is more a matter of convenience that a strict requirement
for the Serializer class. I'll see what upstream thinks about that.

The whole idea started from the fact that I have a Debian package[1]
which depends on php-symfony-serializer, and the upstream code uses
ObjectNormalizer, so as for now my Debian package should also depend on
php-symfony-property-access explicitly to make sure it works
everywhere, which looked to me as an "indirect" dependency.


[1] https://packages.debian.org/sid/tweeper

Antonio Ospite

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?

More information about the pkg-php-pear mailing list