Out of interest, I just downloaded drupal 6.0-RC1 and tried to upgrade a copy of my current drupal 5.5 installation. I'm using PostgreSQL as database backend and various contributed modules, amongst them the localizer module.
While running the update.php it looked like the upgrade process hung, however after hitting the refreh-button, I finally could upgrade my database (almost) successfully, the only error I got was:
Failed: ALTER TABLE {locales_target} ADD PRIMARY KEY (language,lid,plural)
warning: pg_query() [function.pg-query]: Query failed: ERROR: could not create unique index DETAIL: Table contains duplicated values. in S:\xxx\htdocs\myinstall\includes\database.pgsql.inc on line 138.
However now, whatever page I'm trying to access, I'm always getting the same error message:
Fatal error: Call to undefined function block_list() in S:\xxx\htdocs\myinstall\includes\theme.inc on line 1487
Note: According to Gábor's suggestion, I moved this issue from the support forum to here.
Meanwhile I encountered almost the same error in a somehow similiar context (not sure whether there is a separate issue or has the same common root as the issue raised above):
That's what I did: I converted my existing drupal 5.5 installation into a mult-site installation by addiing a 'sites/my.domain.tld' directory. I also copied the file 'settings.php' into that directory. So far, everything works fine with that configuration. However, as soon as I move the localizer module directory from '/sites/all/modules' to 'sites/my.domain.tld/modules', I'm getting the following error with any page access:
Fatal error: Call to undefined function block_list() in D:\Websites\Stiegele\includes\theme.inc on line 1018
Thanks for your comments
Comments
Comment #1
gábor hojtsy1. The unique index problem surfaces some problem in your data set. It means that you have translations in your database, which are based on the same language, the same source string, and it's same plural variant. I would suggest you run
SELECT COUNT(*) FROM locales_target GROUP by locale, lid, plidon your Drupal 5 install (before upgrade) and check what string(s) are duplicate. This should not happen in your data set actually.2. block_list is defined in block module and used in the theme code. This should work regardless of localizer module, but it looks like localizer does not have a 6.x release (not even a developer snapshot), so I would not suggest you using it with Drupal 6. Actually this should not be allowed to be turned on on the admin interface.
Comment #2
deining commented1. I couldn't find any duplicate in my dataset, so I just issued the command "ALTER TABLE {locales_target} ADD PRIMARY KEY (language,lid,plural)" at the psql prompt and voila, it worked! No idea why it didn't work before. Anyway, that seems to be solved.
2. I still have that undefined function call and don't know how to get rid of it. Not sure whether the localizer module is related to that in any way (during the localizer installation, the core block module was patched). At the point of time when I ran upgrade.php, the localizer module was turned off, and now after the database upgrade I cannot access any page any more (including the admin page), so almost certainly localizer is not turned on. I don't know how to proceed since there is not much room for action if each single page call ends up with an error message.
Comment #3
gábor hojtsyDoes localizer have patches for Drupal 6?? Does localizer run with Drupal 6? It does not even has a developer snapshot or 6.x. I would not suggest you applying (outdated) patches to Drupal. In any case, when you apply patches to your local Drupal setup, you are on your own. I am directing this issue to the localizer queue (though I cannot assign it to 6.x).
Comment #4
Roberto Gerola commentedNothing to fix here.
You cannot use Localizer for Drupal 5 with Drupal 6.