W3C home > Mailing lists > Public > www-annotation@w3.org > July to December 2002

Re: problems installing annotea

From: Eric Prud'hommeaux <eric@w3.org>
Date: Tue, 19 Nov 2002 17:37:48 -0500
To: Richard Kaye <R.W.Kaye@bham.ac.uk>
Cc: www-annotation@w3.org
Message-ID: <20021119173747.A11655@w3.org>

On Tue, Nov 19, 2002 at 11:20:11AM +0000, Richard Kaye wrote:
> 
> Hi 
> 
> I have just set up a new linux box (running SuSE 8.1).  Apache 
> (including cgi-bin) and mySQL seem fine.  (Of course they were 
> pre-installed using the SuSE RPM's.) I then tried to install annotea 
> from cvs using the instructions in 
> 
> http://www.w3.org/1999/02/26-modules/User/Annotations-HOWTO
> 
> I inserted the apache script into the working httpd.conf file.
> (I understood that access control and algae are not strictly
> necessary, so for testing purposes I omitted them -- I will return
> to these steps later.)
> 
> When I point a browser at
>   http://localhost/annotations?w3c_annotates=test
> I get the unhelpful single line
> 
> died with Undefined subroutine 
> &W3C::Util::W3CDebugCGI::LogEntry::__NR_gettimeofday called at 
> /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi/bits/syscall.ph line 
> 550.
> 
> in the browser window.

Looks like the syscall.ph does not have an interface for
gettimeofday. I have three syscall.ph files:
  na:/home/eric$ locate syscall.ph
  /usr/lib/perl/5.8.0/bits/syscall.ph
  /usr/lib/perl/5.8.0/sys/syscall.ph
  /usr/lib/perl/5.8.0/syscall.ph
Only the first has an interface definition for gettimeofday:
  grep __NR_gettimeofday /usr/lib/perl/5.8.0/bits/syscall.ph
      sub SYS_gettimeofday () {    &__NR_gettimeofday;}

You can test for gettimeofday easily from the perl debugger:
  na:/home/eric$ perl -de 0
    
  Loading DB routines from perl5db.pl version 1.19
  Editor support available.
  
  Enter h or `h h' for help, or `man perldebug' for more help.
  
  main::(-e:1):   0
    DB<1> use Time::HiRes qw/gettimeofday/;
  
    DB<2> p join (' | ', gettimeofday())
  1037743462 | 276463

or from a single command line:
  perl -e 'use Time::HiRes qw/gettimeofday/; print join (" | ", gettimeofday())."\n";'

I'm curious, what operating system are you using? I've never seen a
path like i586-linux-thread-multi on a redhat or debian linux box. I
expect the XS modules, /usr/lib/perl/5.8.0/auto/Time/HiRes/HiRes.so on
my machine, is referencing syscall.ph, though I don't actually know
how. This appears to be deep perl voodoo.

>                         There is no error log entry.

The above problem kept the W3CDebugCGI module from generating a
session-id and logging the session.

> The only thing I can deduce from this is that perl is trying to tell me
> something (an error message or debugging info) but because of 
> a missing subroutine or module or something, it can't.
> 
> Please could someone help?
> 
> Many thanks
> 
> Richard Kaye
> 
> 

-- 
-eric

office: +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
cell:   +1.857.222.5741

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Tuesday, 19 November 2002 17:37:50 GMT

This archive was generated by hypermail 2.2.0 + w3c-0.30 : Friday, 25 March 2005 11:19:18 GMT