[Lxr-general] lxr-0.9.2:failed to resolve handler `Apache::Registry'
Brought to you by:
ajlittoz
|
From: Peng Z. <pen...@gm...> - 2005-12-07 06:11:31
|
hi all,
I follow the installation instructions but fail to enable lxr
successfully.
system: debian sarge, apach2, swish-e, lxr-cvs(0.9.2), perl-5.8.7,
mod-perl/2.0.1
if i access my host via http://218.194.50.253/lxr , i will see the index
of /lxr. then i click file link source, an "Internal Server Error"
ocurred, the error info:
"
The server encountered an internal error or misconfiguration and was unable
to complete your request.
Please contact the server administrator, webmaster@localhost and inform the=
m
of the time the error occurred, and anything you might have done that may
have caused the error.
More information about this error may be available in the server error log.
------------------------------
Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 mod_perl/2.0.1 Perl/v5.8.7
Server at 127.0.0.1 Port 80 "
I check the /var/log/apache2/error.log, i found :
[Wed Dec 07 14:06:02 2005] [error] [client 127.0.0.1] failed to resolve
handler `Apache::Registry': Can't locate loadable object for module
Apache::Constants in @INC (@INC contains: /etc/perl
/usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5
/usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8
/usr/local/lib/site_perl . /etc/apache2) at /usr/lib/perl5/mod_perl.pm line
14\nCompilation failed in require at /usr/lib/perl5/Apache.pm line 6.\nBEGI=
N
failed--compilation aborted at /usr/lib/perl5/Apache.pm line 6.\nCompilatio=
n
failed in require at /usr/lib/perl5/Apache/Registry.pm line 2.\nBEGIN
failed--compilation aborted at /usr/lib/perl5/Apache/Registry.pm line
2.\nCompilation failed in require at (eval 2) line 3.\n
so i thought this error is may be resluted from lack of some perl packge?
but i am not sure which one is needed.
I hope you could help me. Thanks in advanced.
following is my lxr.conf:
# -*- mode: perl -*-
# Configuration file
#
(
{
# Global configuration
# Path to glimpse executable.
# Define this OR the swish-e variables depending which search engine you
want to use.
##'glimpsebin' =3D> '/info/lxr/bin/glimpse',
# Where to store the glimpse index files
##'glimpsedir' =3D> 'somewhere',
# Location of SWISH-E indexer binary
'swishindex' =3D> '/usr/bin/swish-e',
# Location of SWISH-E search binary
'swishsearch' =3D> '/usr/bin/swish-search',
# Where to store the swish index files
'swishdir' =3D> '/var/lib/lxr-cvs/index',
# Path to Exuberant Ctags executable
'ectagsbin' =3D> '/usr/bin/ctags-exuberant',
# Place where lxr can write temporary files
'tmpdir' =3D> '/tmp',
# Location of the Generic.pm <http://generic.pm/> config file
'genericconf' =3D> '/var/lib/lxr-cvs/lib/LXR/Lang/generic.conf'
},
{
# Configuration for http://hostname.dom/lxr.
# !!!! Change the 'baseur' according to your domanin name or IP addres=
s
# baseurl is used to select configuration block.
# 'baseurl' =3D> 'http://localhost/lxr', # Put your URL here
'baseurl' =3D> 'http://218.194.50.253/lxr', # Put your URL
here
'virtroot' =3D> '/lxr', # The bit after the=
/
above
'variables' =3D> {
# Define typed variable "v". This
is the list of versions to index.
'v' =3D> {'name' =3D> 'Version'=
,
# This can come
from a file, a function or be explicitly
# ennumerated.
# From a file:
'range' =3D> [
readfile('/usr/src/versions') ],
# Explicitly:
# 'range' =3D> [qw=
(v1
v2 v3.1 v4 experimental)],
# If files within =
a
tree can have different versions,
# e.g in a CVS
tree, 'range' can be specified as a
# function to call
for each file:
#'range' =3D> su=
b {
return
#
($files->allreleases($LXR::Common::pathname),
# $files->allrevisions($LXR::Common::pathname))
# }, # deferred function call.
# The default
version to display
'default' =3D> '2.=
5.6
'},
# Define typed variable "a". Firs=
t
value is default.
'a' =3D> {'name' =3D>
'Architecture',
'range' =3D>
[qw(i386 alpha arm m68k mips ppc sparc sparc64)]},
},
# These do funky things to paths in the system - you probably don't need
them.
'maps' =3D> {
'/include/asm[^\/]*/' =3D> '/include/asm-$a/',
'/arch/[^\/]+/' =3D> '/arch/$a/',
},
# Templates used for headers and footers
'htmlhead' =3D> 'html-head.html',
'htmltail' =3D> 'html-tail.html',
'htmldir' =3D> 'html-dir.html',
'htmlident' =3D> 'html-ident.html',
'htmlident_refs' =3D> 'html-ident-refs.html',
'sourcehead' =3D> 'html-head.html',
'sourcedirhead' =3D> 'html-head.html',
'stylesheet' =3D> 'lxr.css',
# sourceroot - where to get the source files from
# For ordinary directories, this specifies a directory which has each
version as a
# subdirectory e.g.
# indexed-src/version1/...
# indexed-src/version2/...
# The names of the version directories must match the values for the
Version
# variable above.
'sourceroot' =3D> '/usr/src/',
# Alternatively, this can specify a CVS repository by setting the value t=
o
"cvs:"
# followed by the path to the repository. Note this must be file
accessible - remote
# server access does NOT work.
# 'sourceroot' =3D> 'cvs:/hom/karsk/a/CVSROOT/linux',
# The name to display for this source tree
'sourcerootname' =3D> 'Example',
# The DBI identifier for the database to use
# For mysql, the format is dbi:mysql:dbname=3D<name>
# for Postgres, it is dbi:Pg:dbname=3D<name>
# for Oracle, it is dbi:Oracle:host=3Dlocalhost;sid=3DDEVMMS;port=3D1521
'dbname' =3D> 'dbi:mysql:dbname=3Dlxr',
# If you need to specify the username or password for the database
connection,
# uncomment the following two lines
'dbpass' =3D> 'kernel',
'dbuser' =3D> 'root',
# For using glimpse, the directory to store the .glimpse files in is
required
#'glimpsedir' =3D> '/path/to/glimpse/databases',
# Location of swish-e index database files if using swish-e
#'swishdir' =3D> '/a/directory/here/',
# where to look for include files inside the sourcetree. This is used to
hyperlink
# to included files.
'incprefix' =3D> ['/include', '/include/linux'],
# Which extensions to treat as images when browsing. If a file is an
image,
# it is displayed.
'graphicfile' =3D> '(?i)\.(gif|jpg|jpeg|pjpg|pjpeg|xbm|png)$', #'
# How to map files to languages
# Note that the string for the key and the first entry in the
# array MUST match
'filetype' =3D> {
# Format is
# Language name, filepatten regexp, module
to invoke,
# (optional )tabwidth
# Note that to have another language
supported by Generic.pm <http://generic.pm/>,
# you must ensure that:
# a) exuberant ctags supports it
# b) generic.conf is updated to specify
information about the language
# c) the name of the language given here
matches the entry in generic.conf
'C' =3D> ['C', '\.c$' #'
, 'LXR::Lang::Generic', '8'],
'C++' =3D> ['C++',
'\.C$|((?i)\.c\+\+$|\.cc$|\.cpp$|\.cxx$|\.h$|\.hh$|\.hpp$|\.hxx$|\.h\+\+$)'
#'
, 'LXR::Lang::Generic', '8'],
# Some languages are commented out until the relevant entries in
generic.conf are made
# The list here is the set supported by ctags 5.0.1
# ['Beta', '(?i)\.bet$' #'
# , 'LXR::Lang::Generic'],
# ['Cobol', '(?i)\.cob$' #'
# , 'LXR::Lang::Generic'],
# ['Eiffel', '(?i)\.e$' #'
# , 'LXR::Lang::Generic'],
# ['Fortran',
'(?i)\.f$|\.for$|\.ftn$|\.f77$|\.f90$|\.f95$' #'
# , 'LXR::Lang::Generic'],
'Java' =3D> ['Java', '(?i)\.java$' #'
, 'LXR::Lang::Java', '4'],
# ['Lisp',
'(?i)\.cl$|\.clisp$|\.el$|\.l$|\.lisp$|\.lsp$|\.ml$' #'
# , 'LXR::Lang::Generic'],
# No tabwidth specified here as an example
'Make' =3D> ['Make', '(?i)\.mak$|makefile*=
'
#'
,
'LXR::Lang::Generic'],
# ['Pascal', '(?i)\.p$|\.pas$' #'
# , 'LXR::Lang::Generic'],
'Perl' =3D> ['Perl',
'(?i)\.pl$|\.pm$|\.perl$' #'
, 'LXR::Lang::Generic', '4'],
'php' =3D> ['php',
'(?i)\.php$|\.php3$|\.phtml$' #'
, 'LXR::Lang::Generic', '2'],
'Python' =3D> ['Python',
'(?i)\.py$|\.python$' #'
, 'LXR::Lang::Generic', '4'],
# ['rexx', '(?i)\.cmd$|\.rexx$|\.rx$' #'
# , 'LXR::Lang::Generic'],
# ['ruby', '(?i)\.rb$' #'
# , 'LXR::Lang::Generic'],
# ['scheme',
'(?i)\.sch$|\.scheme$|\.scm$|\.sm$' #'
# , 'LXR::Lang::Generic'],
# ['shell',
'(?i)\.sh$|\.bsh$|\.bash$|\.ksh$|\.zsh$' #'
# , 'LXR::Lang::Generic'],
# ['s-Lang', '(?i)\.sl$' #'
# , 'LXR::Lang::Generic'],
# ['tcl', '(?i)\.tcl$|\.wish$' #'
# , 'LXR::Lang::Generic'],
},
# Maps interpreter names to languages. The format is:
# regexp =3D> langname
# regexp is matched against the part after #! on the first line of a
file
# langname must match one of the keys in filetype above.
#
# This mapping is only used if the filename doesn't match a pattern above=
,
so
# a shell script called shell.c will be recognised as a C file, not a
shell file.
'interpreters' =3D> {
'perl' =3D> 'Perl',
# 'bash' =3D> 'shell',
# 'csh' =3D> 'shell',
'python' =3D> 'Python',
},
})
--
Zhou Peng
|