Project

General

Profile

Actions

Bug #57120

closed

Upgrade from 6.1.7 to 6.2beta7 / Install Tool fails / 'The package "X" depends on "Y" which is not present in the system'

Added by Wolfgang Klinger about 10 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Install Tool
Target version:
-
Start date:
2014-03-20
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
5.3
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

I did nothing special, just changed the symlink to the new source and deleted all the cache files.
Then I tried to access the Install Tool typo3/sysext/install/Start/Install.php

PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The package "X" depends on "Y" which is not present in the system.' in /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php:146

Y is installed and in the list of extensions before X in LocalConfiguration.php

Am I missing something?
Found no special upgrade instructions.

----
20-Mar-2014 20:28:38 Europe/Berlin] PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The package "X" depends on "Y" which is not present in the system.' in /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php:146
Stack trace:
#0 /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php(206): TYPO3\CMS\Core\Package\DependencyResolver->buildDependencyGraphForPackages(Array, Array)
#1 /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php(61): TYPO3\CMS\Core\Package\DependencyResolver->buildDependencyGraph(Array)
#2 /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/PackageManager.php(687): TYPO3\CMS\Core\Package\DependencyResolver->sortPackageStatesConfigurationByDependency(Array)
#3 /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php(911): TYPO3\CMS\Core\Package\PackageManager->sortAvailable in /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 146


Files

config_files.tar.gz (6.62 KB) config_files.tar.gz LocalConfiguration.php, ext_emconf_custom.php, ext_emconf_smarty.php Wolfgang Klinger, 2014-03-21 12:04

Related issues 3 (0 open3 closed)

Related to TYPO3 Core - Bug #55649: Unable to install TYPO3 (missing css_styled_content)Closed2014-02-04

Actions
Related to TYPO3 Core - Feature #62271: Install Tool unavailable if there are unresolved dependenciesClosed2014-10-16

Actions
Related to TYPO3 Core - Feature #63721: Installer: Don't die on failing ext_autoloaderRejected2014-12-09

Actions
Actions #1

Updated by Markus Klein about 10 years ago

Can you please post your LocalConf and ext_emconf.php files of the affected extensions

Actions #2

Updated by Ernesto Baschny about 10 years ago

  • Status changed from New to Needs Feedback

Together with the LocalConf and the ext_emconf.php file, please provide the information from which TYPO3 version you are coming from and trying to upgrade. Thanks!

Actions #3

Updated by Markus Klein about 10 years ago

@Ernesto: Title says "Upgrade from 6.1.7 to 6.2beta7" ;-)

Actions #4

Updated by Wolfgang Klinger about 10 years ago

X = user_something_distribution_search
Y = smarty

from 6.1.7 -> 6.2beta7

tia

Actions #5

Updated by Markus Klein about 10 years ago

Looks like the problem is that smarty is has dependency for TYPO3 up to 6.1.99.
So 6.2 core can't install it.

Actions #6

Updated by Wolfgang Klinger about 10 years ago

I changed it to 6.3.99 but that doesn’t affect anything

Actions #7

Updated by Wolfgang Klinger about 10 years ago

;-)
now I removed 'smarty' as a dependency for extension X for testing … ok … but now I get the next weird error:

------
[26-Mar-2014 13:28:58 Europe/Berlin] PHP Fatal error: Uncaught exception 'TYPO3\CMS\Install\Controller\Exception\RedirectLoopException' with message 'Redirect loop aborted. If this message is shown again after a reload, your setup is so weird that the install tool is unable to handle it. Please make sure to remove the "install[redirectCount]" parameter from your request or restart the install tool from the backend navigation.' in /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Classes/Controller/AbstractController.php:544
Stack trace:
#0 /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Classes/Controller/StepController.php(122): TYPO3\CMS\Install\Controller\AbstractController->redirect()
#1 /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Classes/Controller/StepController.php(70): TYPO3\CMS\Install\Controller\StepController->outputSpecificStep()
#2 /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Start/Install.php(132): TYPO3\CMS\Install\Controller\StepController->execute()
#3 {main}
thrown in /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Classes/Controller/AbstractController.php on line 544
------

any hints?

Actions #8

Updated by Markus Klein about 10 years ago

What is the URL of the page that issues this exception?
Especially the install[action]= part is of interest

Actions #9

Updated by Wolfgang Klinger about 10 years ago

URL:
/typo3/sysext/install/Start/Install.php?install[redirectCount]=9&install[context]=standalone&install[controller]=step&install[action]=databaseConnect

Actions #10

Updated by Markus Klein about 10 years ago

There's something wrong with your database connection. Please check your host, port/socket settings.

Actions #11

Updated by Alexander Opitz over 9 years ago

  • Status changed from Needs Feedback to Closed

No feedback within the last 90 days => closing this ticket.

If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.

Actions #12

Updated by Florian Seirer over 9 years ago

Same problem here during the update from 6.2.4 to 6.2.6
The installation was running just fine on 6.2.4, and all I did was changing the symlinks to the 6.2.6 path.
I got only error-500 messages in the BE and FE after that.

/typo3conf/PackageStates.php was rewritten, and was suddenly missing all active core extensions.
The error messages in the logfiles explain why the FE and BE weren't running, but not why PackageStates.php was missing the core extensions.

FE error log:

Several hundred lines of this:
[Thu Nov 06 14:45:01 2014] [error] [client 10.10.133.1] PHP Warning:  array_diff(): Argument #1 is not an array in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 215
[Thu Nov 06 14:45:01 2014] [error] [client 10.10.133.1] PHP Warning:  array_merge(): Argument #2 is not an array in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 220
...
[Thu Nov 06 14:45:01 2014] [error] [client 10.10.133.1] PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The package "imagecycle" depends on "cms" which is not present in the system.' in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php:140
Stack trace:
#0 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php(240): TYPO3\\CMS\\Core\\Package\\DependencyResolver->buildDependencyGraphForPackages(Array, Array)
#1 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php(51): TYPO3\\CMS\\Core\\Package\\DependencyResolver->buildDependencyGraph(Array)
#2 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/PackageManager.php(701): TYPO3\\CMS\\Core\\Package\\DependencyResolver->sortPackageStatesConfigurationByDependency(Array)
#3 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php(911): TYPO3\\CMS\\Core\\Package\\PackageManager->sortAvailablePackagesByDependencies()
#4 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Clas in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 140

BE error log:

[Thu Nov 06 14:45:52 2014] [error] [client 10.10.141.2] PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The package "imagecycle" depends on "cms" which is not present in the system.' in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php:140
Stack trace:
#0 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php(240): TYPO3\\CMS\\Core\\Package\\DependencyResolver->buildDependencyGraphForPackages(Array, Array)
#1 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php(51): TYPO3\\CMS\\Core\\Package\\DependencyResolver->buildDependencyGraph(Array)
#2 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/PackageManager.php(701): TYPO3\\CMS\\Core\\Package\\DependencyResolver->sortPackageStatesConfigurationByDependency(Array)
#3 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php(911): TYPO3\\CMS\\Core\\Package\\PackageManager->sortAvailablePackagesByDependencies()
#4 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Clas in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 140, referer: https://www.domain.com/somethingsomething

packageStates.php, missing "active" core extensions:

<?php
# PackageStates.php

# This file is maintained by Flow's package management. Although you can edit it
# manually, you should rather use the command line commands for maintaining packages.
# You'll find detailed information about the typo3.flow:package:* commands in their
# respective help screens.

# This file will be regenerated automatically if it doesn't exist. Deleting this file
# should, however, never become necessary if you use the package commands.

return array (
  'packages' => 
  array (
    'templavoila' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/templavoila/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'manifestPath' => '',
      'composerName' => 'templavoila/templavoila',
      'dependencies' => NULL,
    ),
    'static_info_tables' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/static_info_tables/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'sm_clearcachecm' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/sm_clearcachecm/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'sitemap' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/sitemap/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'rghelpmodule' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/rghelpmodule/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'realurl' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/realurl/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'portalauth' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/portalauth/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'nothing' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/nothing/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'ml_links' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/ml_links/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'ke_search' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/ke_search/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'jftcaforms' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/jftcaforms/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'imagecycle' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/imagecycle/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'dd_googlesitemap' => 
    array (
      'state' => 'active',
      'packagePath' => 'typo3conf/ext/dd_googlesitemap/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'documentation' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-documentation',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/documentation/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'about' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-about',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/about/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'aboutmodules' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-aboutmodules',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/aboutmodules/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'adodb' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-adodb',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/adodb/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'context_help' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-context-help',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/context_help/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'dbal' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-dbal',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/dbal/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'extra_page_cm_options' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-extra-page-cm-options',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/extra_page_cm_options/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'feedit' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-feedit',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/feedit/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'felogin' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-felogin',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/felogin/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'form' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-form',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/form/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'indexed_search' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-indexed-search',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/indexed_search/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'indexed_search_mysql' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-indexed-search-mysql',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/indexed_search_mysql/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'openid' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-openid',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/openid/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'sys_action' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-sys-action',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/sys_action/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'taskcenter' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-taskcenter',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/taskcenter/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'version' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-version',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/version/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
    'workspaces' => 
    array (
      'manifestPath' => '',
      'composerName' => 'typo3/cms-workspaces',
      'state' => 'inactive',
      'packagePath' => 'typo3/sysext/workspaces/',
      'classesPath' => 'Classes/',
      'suggestions' => NULL,
      'dependencies' => NULL,
    ),
  ),
  'version' => 4,
)
 ?>

Actions #13

Updated by Markus Klein over 9 years ago

  • Status changed from Closed to Needs Feedback

I suppose you've some opcode cache running, which did not properly detect the exchange of the symlink. TYPO3 core itself can do nothing about this problem.

You need to clear all caches via install tool (typo3 caches and opcode cache) before you access the installation. Otherwise accessing files inside the source may not work. This also explains the reaction of the package manager to remove non-existing packages (access not possible to sysexts).

Actions #14

Updated by Alexander Opitz over 9 years ago

Hi Markus and Christian,

I thought again about this issue ... it seams a chicken/egg issue ... you can't start install tool course the packages can't be solved but you need to clear the opcode cache. This correlates with #63721

Christian, wasn't the original plan, that installer mode shouldn't get class loader cache build?

Actions #15

Updated by Markus Klein over 9 years ago

Alex, you CAN access the Install Tool right after exchanging the symlink to clear the opcode cache.
But if you start accessing the BE or the like and the opcode cache contains invalid paths, then you run into troubles because at that time the package manager will cleanup the PackageStates by removing all inaccessible extensions.

The question is more: How can we ensure that people clear the opcode cache?

Actions #16

Updated by Alexander Opitz over 9 years ago

Spoke with Christian around this area.

Maybe we can add the clear opcode cache in the class_loader shutdown function I'm introducing?

Actions #17

Updated by Markus Klein over 9 years ago

Well, yes and no. The opcode cache clearing is somewhat an expensive operation as it usually clears the whole cache. (for all sites on the server)
Hence we should keep such flushes to an absolute minimum.

I'd rather prefer to have some means where we know which version was last used and where we can detect that a new source is here very early.
Could be some kind of compat_version info in localconf or even a dedicated file.

Actions #18

Updated by Alexander Opitz over 9 years ago

But, how do we get the new number, if the opcode cache gives us the false file? And crashing in class loader shouldn't be so common.

Actions #19

Updated by Markus Klein over 9 years ago

Hm, good point of course. So the only way would then be to clear the opcode cache right before switching the symlink.
So some kind of "prepare manual update" button would be needed in Install Tool. (where we clear all the caches like system cache, opcode cache,etc)

Actions #20

Updated by Alexander Opitz over 9 years ago

Thats not possible as between clearing before and switching symlinks another process may regenerate the opcode cache.

Actions #21

Updated by Markus Klein about 9 years ago

Is this still an issue? Or can we close this one?

Actions #22

Updated by Mathias Schreiber almost 9 years ago

  • Status changed from Needs Feedback to Closed
Actions

Also available in: Atom PDF