- 论坛徽章:
- 0
|
想知道lxr是什么,访问一下lxr.linux.no.我们通常在Window用Source Insight来看源代码。但Linux 源代码支持硬件的种类繁多,用SI来搞会有些小问题:
1.一些头文件需要make后才确定
2.有些函数这对不同的arch会有许多不同的实现,我们选择起来比较困难
我安装lxr在FC6上,下面给出一些安装记忆
大部分内容参考
http://huqingyu.cnblogs.com/archive/2005/02/19/106006.html
下载一些包
File-Finder-0.53.tar.gz glimpse-latest.tar.gz lxr-0.9.5.tgz
File-MMagic-1.27.tar.gz
wget http://webglimpse.net/trial/glimpse-latest.tar.gz
wget http://www.cpan.org/authors/id/M/ME/MERLYN/File-Finder-0.53.tar.gz
wget http://www.cpan.org/authors/id/K/KN/KNOK/File-MMagic-1.27.tar.gz
File-xxx包是cpan上的perl包,我装FC6的时候,perl5没有所以手动安装了,后来发现FC6的DVD里有,找
以perl开头的rpm.
安装cpan的perl包,两部: perl Makefile.PL;make install
编译glimpose: 忘记了,大概也是./configure;;make install;之类的吧
1.把lxr安装到/usr/local/lxr下
tar xzvf lxr-0.9.5.tgz -C /usr/local
mv /usr/local/lxr-0.9.5 /usr/local/lxr
cd /usr/local/lxr
mkdir http
mv Local.pm diff ident find search source templates/* http
#ln http/Local.pm . -s
#ln http/lxr.conf . -s
mkdir src ;源代码部分的根
cd src
mkdir kernel ;内核代码目录
vi versions ;编辑/usr/local/lxr/src/versions文件,内容为kernel,表示让lxr索引kernel
cd kernel
#ln /usr/src/linux-2.6.20.6 linux-2.6.20.6 -s ;
cd /usr/local/lxr
mv lib /usr/lib/perl5/site_perl/LXR
2.修改lxr.conf,我的内容,没有修改的部分省略...
(
...
'glimpsebin' => '/usr/local/bin/glimpse',
'glimpseindex' => '/usr/local/bin/glimpseindex',
...
#'swishbin' => '/usr/local/bin/swish-e',
...
'baseurl' => 'http://172.16.9.200/lxr', # Put your URL here
...
'range' => [ readfile('/usr/local/lxr/src/versions') ],
...
'sourceroot' => '/usr/local/lxr/src',
...
'sourcerootname' => 'Linux',
...
'dbname' => 'dbi:Pg:dbname=lxr',
...
'dbuser' =>'lxr',
...
'glimpsedir' => '/usr/local/lxr/src/$v',
...
)
3.修改/etc/http/conf/http.conf
在尾部加上
ScriptAlias /lxr "/usr/local/lxr/http/"
AllowOverride None
Options FollowSymLinks
Options ExecCGI
SetHandler cgi-script
#PerlHandler Apache:Registry
重新启动httpd
/etc/rc.d/init.d/httpd restart
4.构建postgres数据库
如果你是root,那么
su - ding //ding是一个普通的用户
cd /home/ding or cd ~
mkdir data
initdb /home/ding/data/ //建立postgres数据库目录
postmaster -D /home/ding/data & //启动postgres数据库server
createuser lxr //为postgres创建lxr
createdb -U lxr lxr //创建lxr数据库以lxr用户
cd /usr/local/lxr
psql -U lxr lxr //以lxr用户登陆lxr数据库
\i initdb-postgres //执行lxr SQL脚本建立所需表
\q
5.构建数据
cd /usr/local/lxr/src/kernel/
find . -name "*.[chS]" -follow | glimpseindex -H . -o -F
cd /usr/lcoal/lxr/
./genxref --version=kernel --url=http://your ip address/lxr
修改权限
cd /usr/local/lxr/
chown apache.apache http -R
打开你的浏览器,usr是http://your ip address/lxr/source
看看行吗?
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31891/showart_275626.html |
|