Ubuntu环境下安装LXR

由于项目需求,需要搭建一套代码索引环境,经过网上查找,了解可以使用LXR (the Linux Cross Referencer)来做,同时网上有很多搭建方法,我尝试学习,一步一步搭建环境,在这个过程中,遇到一些问题,记录下来,分享给大家,方便大家顺利完成LXR 搭建。

环境:Ubuntu 10.10,新安装的系统,具体搭建步骤如下(整个过程中基本都需要root权限):

[b]1.安装apache2[/b]
sudo apt-get install apache2

[b]2.安装Glimplse[/b]
. Glimplse
# wget http://webglimpse.net/trial/glimpse-latest.tar.gz
# tar xvzf glimpse-latest.tar.gz
# cd glimpse-4.18.6
# ./configure
# make

[color=red]我在make 的时候报下面的错

make[1]: flex: Command not found

make[1]: *** [lex.yy.c] Error 127

make[1]: Leaving directory `/usr/local/src/glimpse-4.18.6/dynfilters’

make: *** [build-sub] Error 2

在编译之前,首先看看你的机器上是否已经安装了flex,因为编译glimpse的时候需要这个软件。如果没有的话,那么进行安装:
sudo apt-get install flex[/color]

执行

# make
# sudo make install

[b]3.安装lxr[/b]
sudo apt-get install lxr

4. [b]对文件做映射[/b]
在/etc/apache2/httpd.conf 在里面添加以下内容:
Alias /lxr /usr/share/lxr
<Directory /usr/share/lxr>
Options All
AllowOverride All
</Directory>
这样可以达到http://localhost/lxr/ =>/usr/share/lxr

5. [b]在/usr/share/lxr/http下创建文件 .htaccess, 并写入一下内容[/b]:
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
</Files>

6.[b]启动apache2[/b]
sudo /etc/init.d/apache2 restart

7. [b]下载linux 源代码[/b]
linux内核源码下载地址[url]http://www.kernel.org/[/url],我下载了2.6.39.4版本的linux 源码,默认下载到/home/beaver(beaver是我的用户名,根据大家的机器而定)/Downloads,解压后为linux-2.6.39.4

创建/usr/share/lxr/source/XX 目录 (XX为版本号)
mkdir /usr/share/lxr/source/2.6.39.4
然后在/usr/share/lxr/source/2.6.39.4下创建linux符号连接
ln -s /home/beaver/Downloads/linux-2.6.39.4 /usr/share/lxr/source/2.6.39.4/linux
(源码地址)

8. 创建/usr/share/lxr/source/versions 文件,这里记录所有要看的版本,内容是
2.6.39.4
2.6.22(可有可无)
要保证2.6.39.4 =>/usr/share/lxr/source/2.6.39.4
创建/usr/share/lxr/source/defversion 文件,这里记录缺省要看的版本,内容是
2.6.39.4
之所以是这两个文件,见/usr/share/lxr/http/lxr.conf里的相关设置

9. [b]建立索引[/b]
cd /usr/share/lxr/source/2.6.39.4/
生成关键字交叉索引数据库
sudo genxref linux
接下来要等待一段比较长的时间,因为它要扫描文件。这样会在当前目录生成fileidx和xref
接下来,生成freetext交叉索引数据库:
sudo glimpseindex -H /usr/share/lxr/source/2.6.39.4/ /usr/share/lxr/source/2.6.39.4/linux
(需要等待一段时间)
之所以是这个目录(/usr/share/lxr/source/2.6.39.4/),见/usr/share/lxr/http/lxr.conf里的相关设置(database项)

10.[b]修改属性,使任何人都可以读取改文件[/b]
sudo chmod +r -R /usr/share/lxr/source/2.6.39.4/*
sudo chmod +r /usr/share/lxr/source/2.6.39.4/.glimpse* [color=red](注意:这句命令必须执行,否则在 file search 的时候会出现警告:Warning: Could not open .glimpse_filenames)[/color]

11.[b]启动apache,查看源码[/b]
sudo /etc/init.d/apache2 restart
http://localhost/lxr/http/blurb.html //成功查看源码
阅读的时候可以看到页面顶部有
~ [ source navigation ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~
source navigation是用户查看页面的界面
identifier search是查找某个变量名、结构名、函数名的界面
freetext search是查找任何字符串的界面
file search查找某个文件


参考文件:
[url]http://blog.sina.com.cn/s/blog_6c6d405f0100oq6l.html[/url]
[url]http://www.linuxsir.org/bbs/showthread.php?t=246594[/url]
[url]http://linux.chinaunix.net/techdoc/system/2006/12/21/946450.shtml[/url]
[url]http://yp.oss.org.cn/software/show_resource.php?resource_id=1044[/url]
[url]http://wenku.baidu.com/view/7d3c0471f242336c1eb95e13.html[/url]
收藏:
[url]http://blog.csdn.net/fengyanhui/article/details/6320117[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值