sodhankit
sodhankit

Reputation: 1248

AbstractFieldsSanitizer ClassNotFoundError in OroCRM 4.1

When I run following command to install orocrm application

php bin/console oro:install --env=dev --timeout=2000

or

php bin/console oro:install --env=prod --timeout=2000

I am getting following error

Symfony\Component\Debug\Exception\FatalThrowableError {#80
  -originalClassName: "Symfony\Component\ErrorHandler\Error\ClassNotFoundError"
  #message: """
    Attempted to load class "AbstractFieldsSanitizer" from namespace "Oro\Bundle\SecurityBundle\Tools".\n
    Did you forget a "use" statement for another namespace?
    """
  #code: 0
  #file: "./vendor/oro/platform-serialised-fields/Tools/SerializedFieldsSanitizer.php"
  #line: 21
  #severity: E_ERROR
  trace: {
    ./vendor/oro/platform-serialised-fields/Tools/SerializedFieldsSanitizer.php:21 { …}
    ./vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php:163 { …}
    Symfony\Component\Debug\DebugClassLoader->loadClass() {}
    spl_autoload_call() {}
    ./vendor/oro/platform/src/Oro/Bundle/PlatformBundle/DependencyInjection/Compiler/TwigServiceLocatorPass.php:59 { …}
    ./vendor/oro/platform/src/Oro/Bundle/PlatformBundle/DependencyInjection/Compiler/TwigServiceLocatorPass.php:29 { …}
    ./vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php:94 { …}
    ./vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php:762 { …}
    ./vendor/oro/platform/src/Oro/Bundle/DistributionBundle/OroKernel.php:411 { …}
    ./vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:136 { …}
    ./vendor/oro/platform/src/Oro/Bundle/DistributionBundle/OroKernel.php:231 { …}
    ./vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:169 { …}
    ./vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:75 { …}
    ./vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:149 { …}
    ./bin/console:32 {
      › $application = new Application($kernel);
      › $application->run($input);
      › 
      arguments: {
        $input: Symfony\Component\Console\Input\ArgvInput {#4 …}
      }
    }
  }
}

As per my research this class is not available inside Oro\Bundle\SecurityBundle\Tools\AbstractFieldsSanitizer

Anyone can let me know how can I resolve this error ?

This error specifically for orocrm 4.1 version I am getting.

If I comment AbstractFieldsSanitizer from SerializedFieldsSanitizer.php as below

class SerializedFieldsSanitizer //extends AbstractFieldsSanitizer

then I get following error

In CheckExceptionOnInvalidReferenceBehaviorPass.php line 86:
                                                                                                                                 
  The service "oro_serialized_fields.validator.extend_entity_serialized_data" has a dependency on a non-existent service "oro_e  
  ntity_config.validator.field_config_constraints_factory".

So I also comment line 86 from CheckExceptionOnInvalidReferenceBehaviorPass.php as below

 //throw new ServiceNotFoundException($id, $currentId);

Then it allows me to install orocrm application.

So is there any bug with orocrm 4.1 version or anything missing from my side?

Upvotes: 1

Views: 52

Answers (1)

Andrey Yatsenko
Andrey Yatsenko

Reputation: 1956

It seems you do have not compatible versions of oro packages installed. Please update all the dependencies to the latest available versions using the composer update command.

Upvotes: 0

Related Questions