Thread: [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 |