I can't get Coder update to work because the Grammar Parser library is not found.

I am working with a clean (brand new out of the box) installation of Drupal 7.17.
Drupal is installed in a subdirectory (webroot/D7).
I've downloaded and installed the following packages:

  • Coder 7.x-1.2
  • Grammar Parser Library 7.x-1.1

Then I ran drush to generate Grammar Parser library. Output:

$drush make --no-core glib.make
Make new site in the current directory? (y/n): y
>> grammar_parser downloaded from http://ftp.drupal.org/files/projects/grammar_parser-7.x-1.2.tar.gz. [ok]
>> libraries-7.x-2.0 downloaded.                                                                      [ok]

Found the directory grammar_parser pulled by drush and moved it into the sites/all/libraries subdirectory.
Found the directory libraries pulled by drush and moved it into the sites/all/modules subdirectory.

Enabled "Coder Upgrade" module, which enabled "Grammar Parser Library" and "Libraries" as dependencies.

Now, looking at Reports → Status Report, I have the following error message:

Grammar Parser version	
Install version 7.x-1.x of the Grammar Parser library code (from here) in a libraries directory such as "sites/all/libraries."
For easy installation, use the drush make file in the Grammar Parser Library project.

So it looks as the "Grammar Parser" library I just installed is not "seen".

I've checked in sites/all/libraries/grammar_parser and sites/all/libraries/grammar_parser/engine and it all looks normal. Here is the list of files in sites/all/libraries/grammar_parser/engine:

editor.inc
list.inc
object.inc
parser.inc
reader.inc
writer.inc

And Coder Upgrade will of course fail without the Grammar Parser library, so running it results in the following error message:

Fatal error: Class 'PGPReader' not found in /hom/inf5270/www_docs/diw/gruppe01/sites/all/modules/coder/coder_upgrade/conversions/begin.inc on line 126

Since class PGPReader exists (in editor.inc) in the library, it is blatantly obvious that the real problem is that the "Grammar Parser" library I've installed isn't "seen" by Coder Upgrade.

Comments

gisle’s picture

Issue summary: View changes

Fixed a typo.

gisle’s picture

Issue summary: View changes

Discovered that not having Drupal in webroot may be the cause.

gisle’s picture

Title: Grammar Parser library is not found på Coder Update » Grammar Parser library is not found by Coder Update

I managed to get Coder Update to run by not having Drupal in a subdirectory, but in the webroot.

My current setup for developing and debugging for several versions in parallel is like this:

webroot/D6
webroot/D7
webroot/D8

Trying to run Coder Updater in a Drupal that was installed in webroot/D7 gave the result reported above. Having Drupal in webroot worked.

Maybe this quirk should be mentioned in the documentation?

(Also corrected typo in title.)

gisle’s picture

Issue summary: View changes

Cleaned up markup.

gisle’s picture

Issue summary: View changes

Another typo.

solotandem’s picture

Have you cleared cache once or twice, for good measure?

I would be curious to see proof that using a subdirectory of the web root is a problem.

gisle’s picture

Status: Active » Closed (cannot reproduce)

Hmmm,
I agree that the subdirectory explanation seems to be a red herring. Uninstalling and removing the Grammer Parser Library and Libraries, then reinstalling them again on my webroot/D7 site did not reproduce the problem. This time Coder Upgrade ran fine.

Since I am unable to reproduce the issue, I'm closing it myself.

gisle’s picture

Issue summary: View changes

Removed redundant comments.