Hello:

Forgive me if I'm missing something obvious, but I'm basically dead in the water trying to get OpenCalais running on Drupal but keep getting ARC2 errors in the status report, regardless of what I do:

Calais RDF Parser ARC2 Not installed
ARC2 is not available. Please download the latest version of the library and install it in the RDF module. For more information please refer to the handbook.

RDF library Not installed
ARC2 is not available. It is recommended that you install this library in order to enable support for more RDF formats and for SPARQL queries. To install, download the latest version of the library and unzip it to modules/rdf/vendor/arc2/ under the Drupal directory. For more information please refer to the handbook.

I've tried adding the /vendor directory, correcting the arc.zip output directory name from arc to arc2, and adjusting the line for the path in rdf.module:

Original line:

  if (!class_exists('ARC2')) {
    @include_once RDF_ARC2_PATH . '/ARC2.php';
  }

Modified line:

  if (!class_exists('ARC2')) {
    @include_once RDF_ARC2_PATH . '/vendor/arc2/ARC2.php';
  }

This is what I'm running:

- Mac OS X 10.5.4

- Drupal 6.4

- MAMP 1.7.2 which includes:
* Apache 2.0.59
* MySQL 5.0.41
* PHP 4.4.8 & 5.2.6
* APC 3.0.14
* eAccelerator 0.9.5.3
* XCache 1.2.0
* phpMyAdmin 2.11.7.1
* Zend Optimizer 3.3.3
* SQLiteManager 1.2.0
* Freetype 2.3.4
* t1lib 5.1.1
* curl 7.18.2
* jpeg 6b
* libpng-1.2.18
* gd 2.0.34
* libxml 2.6.32
* libxslt 1.1.24
* gettext 0.17
* libidn 0.6.14
* iconv 1.11
* mcrypt 2.5.8
* YAZ 3.0.6 & PHP/YAZ 1.0.12

Thank you for any help!

~MK

Comments

febbraro’s picture

It is expecting the ARC2 class to be in the /rdf/vendor/arc2 directory. You dont need to modify the rdf.module code b/c then you definitely changed it to not find it. Are you sure that under your vendor/arc2 directory you sdid not have another directory like "arc" or something?

That should be all you need. It has worked OOTB for me on numerous installations.

michael.k’s picture

Unfortunately OOTB wasn't my friend in this case. It didn't work right away per (my read of) the instructions so I had to troubleshoot.

As I mentioned I needed to add the /vendor directory in ~/drupal-6.4/sites/all/modules/rdf/vendor/arc2/* and change the default name of the module from arc to arc2, which started things off on the wrong foot. Another user mentioned the need to change the path so I tried that, too, but still no luck.

Here's the full path to ARC2.php, ARC2_Class.php, and the other files in the (local) arc2 directory:

/Applications/MAMP/htdocs/drupal-6.4/sites/all/modules/rdf/vendor/arc2/ARC2.php

FWIW, I also can't activate the IP geolocation stuff, perhaps because it's local? My testing server's URL looks like this:

://localhost:8888/drupal-6.4/admin/build/modules

Thank you Frank. The Open Calais module is a key reason I chose Drupal for the CMS/CMF so I'm looking forward to getting it to work!

~MK

michael.k’s picture

Any other suggestions? This is a completely dead module for me.

febbraro’s picture

I know it is not ideal, but can you try installing drupal in the root of your web server instead of in a subdir

http://localhost:8888/admin/build/modules

instead of

http://localhost:8888/drupal-6.4/admin/build/modules

Just to see if that helps things at all. The reason I say it is seems like a potential problem with php.ini include_path or something along those lines, especially if you have everything installed in the same location as others that have it working.

LMK if that changes anything. Good luck.

tracerhand’s picture

I'm having the same problem. I changed the name of the arc directory to arc2, put it into a newly-created vendor directory, then put the vendor directory inside the rdf directory, which naturally lives in sites/all/modules.

But it's not recognised, and I keep getting told to do exactly what I've done. Derr.

Setting the drupal install to be the root web directory isn't an option for me, so I don't know if febbraro's idea works or not.

student297’s picture

I did exactly as "Tracerhand" and i am able to eliminate the error

febbraro’s picture

Are you running drupal out of the root (/) or a subdirectory (/somedir)?

student297’s picture

i am running on my localhost at localhost/drupal6

febbraro’s picture

Assigned: Unassigned » febbraro

Any luck here?

What is your php include_path?

What is the value of RDF_ARC2_PATH . '/ARC2.php'?

michael.k’s picture

I am *still* getting this arc2 library error, which of course kills the entire module and makes Open Calais impossible to use. This is extremely frustrating.

After first posting back in mid-September, I've since upgraded Drupal to 6.5 then 6.6 with no change. I've installed and download the ARC2 library several times, both from within the /vendor directory and moving it from elsewhere. I've installed an on-line version in addition to my localhost version, again with no change to either; both give the same error. I've tried different permissions for the directories, tried setting the directory back to its *wrong* default when it's unpacked (/arc instead of /arc2), yet incredibly I still cannot get this thing to work.

The location of the ARC2 library is:
domainname.org/drupal-6.6/sites/all/modules/rdf/vendor/arc2

My arc2 path in rdf.module:

  // Attempt to load the ARC2 library, if available. This library must be
  // manually installed by the administrator due to license incompatibility.
  if (!class_exists('ARC2')) {
    @include_once RDF_ARC2_PATH . '/vendor/arc2/ARC2.php';
  }

Finally, the lines just below the above code reference the Services module, which I've also turned on, again with no change in the error.

This is a stretch, but is it possible that this is some strange Mac vs. PC thing? All my files must necessarily cycle through a Mac.

Thanks in advance for any additional help.

michael.k’s picture

So thanks to febbraro, and after installing Calais on a hosted test site instead of a local server, it was clear that I made a mistake by not returning ARC2's installation include_once to its correct path in rdf.module, which is:

  // Attempt to load the ARC2 library, if available. This library must be
  // manually installed by the administrator due to license incompatibility.
  if (!class_exists('ARC2')) {
    @include_once RDF_ARC2_PATH . '/ARC2.php';
  }
michael.k’s picture

Status: Active » Closed (fixed)

Thanks I've now got the module working.

glass.dimly’s picture

I could not get arc2 working at vendor/arc. Install arc to the libraries directory using the libraries module as per the dev readme and it works.