由于项目需求,需要搭建一套代码索引环境,经过网上查找,了解可以使用LXR (the Linux Cross Referencer)来做,同时网上有很多搭建方法,我尝试学习,一步一步搭建环境,在这个过程中,遇到一些问题,记录下来,分享给大家,方便大家顺利完成LXR 搭建。
环境:Ubuntu 10.10,新安装的系统,具体搭建步骤如下(整个过程中基本都需要root权限):
1.安装apache2
sudo apt-get install apache2
2.安装Glimplse
. Glimplse
# wget http://webglimpse.net/trial/glimpse-latest.tar.gz
# tar xvzf glimpse-latest.tar.gz
# cd glimpse-4.18.6
# ./configure
# make
我在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
执行
# make
# sudo make install
3.安装lxr
sudo apt-get install lxr
4.
对文件做映射
在/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.
在/usr/share/lxr/http下创建文件 .htaccess, 并写入一下内容:
<Files ~ (search|source|ident|diff|find)$>
SetHandler cgi-script
</Files>
6.
启动apache2
sudo /etc/init.d/apache2 restart
7.
下载linux 源代码
linux内核源码下载地址
http://www.kernel.org/,我下载了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.
建立索引
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.
修改属性,使任何人都可以读取改文件
sudo chmod +r -R /usr/share/lxr/source/2.6.39.4/*
sudo chmod +r /usr/share/lxr/source/2.6.39.4/.glimpse*
(注意:这句命令必须执行,否则在 file search 的时候会出现警告:Warning: Could not open .glimpse_filenames)
11.
启动apache,查看源码
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查找某个文件
参考文件:
http://blog.sina.com.cn/s/blog_6c6d405f0100oq6l.html
http://www.linuxsir.org/bbs/showthread.php?t=246594
http://linux.chinaunix.net/techdoc/system/2006/12/21/946450.shtml
http://yp.oss.org.cn/software/show_resource.php?resource_id=1044
http://wenku.baidu.com/view/7d3c0471f242336c1eb95e13.html
收藏:
http://blog.csdn.net/fengyanhui/article/details/6320117
分享到:
相关推荐
LXR+mysql+glimpse+apache源码浏览平台搭建心得(二)lxr.conf
方法:我们研究了LXR激动剂(GW3965)或PPARγ(吡格列酮)和PPARδ(GW0742)激动剂在SLE动物模型,雌性MRL / MpJ-Fas / J小鼠和BALB / cAJcl小鼠经p烷治疗后的疗效。 使用单向方差分析和Tukey的真实显着差异检验...
kernel source code browser : lxr
Linux下的源代码阅读工具0.9.6版
项目源码察看工具lxr-0.3.tar.gz
lxr 是linux 浏览网上开源代码,如linux内核等等,的好工具
LXR+mysql+glimpse+apache源码浏览平台搭建心得(一)
牛LXRα基因mRNA重组慢病毒载体的构建及其对牛肌肉卫星细胞的干扰效果,刘永峰,赵璐,肝X受体α(LXRα)基因是核激素受体家族的成员,它可以调节参与胆固醇代谢基因的转录。近期研究发现LXRα被认为是一个调节巨噬...
计算机网络lxr4.pkt
通用源代码索引器和交叉引用器,可提供基于Web的源代码浏览以及指向任何标识符的定义和用法的链接。 支持多种语言。 http://lxr.sourceforge.net中的最新信息
尚未探索通过抑制脂类代谢来抑制动脉粥样硬化,而其他通过炎症... 体外研究表明,给予儿茶素会增加ABCA1的mRNA表达,而在所有三种剂量下,ABCG1和SRB1的mRNA表达均降低。 蛋白质填充的结果通过银染的SDS-PGE鉴定出分子
Sonic Potions LXR Drumsynth固件 LXR是基于32位Cortex-M4处理器和Atmega644 8位CPU的数字鼓合成器。 由朱利安·施密特(Julian Schmidt)开发。 The 'front' folder contains the AVR code The 'mainboard' folder...
LXRβ调节海马突触可塑性改善APP_PS1小鼠认知功能的研究.pdf
Android应用程序联系人CONTACT源码, 可供相关设计人员参考
针对离心式冷水机组制冷剂的特殊要求,遵循优势互补的原则,筛选出了两种新的氟利昂 12(R12)离心式冷水机组替代物 LXR1和 LXR2。对它们的基本物性参数和循环性能与 R12进行了对比;并研究了蒸发温度、冷凝温度、过热度...
Lxr82.github.io 测试
本研究发现,hsa-miR-206通过与LXRα 3′ UTR直接相互作用,以抑制细胞中LXRα的mRNA水平,下调LXRα的转录活性,并最终使LXRα配体GW3965对 LXR的目的基因SCD-1的诱导作用受到抑制.这些结果表明,hsa-miR-206能够...
Webglimpse requires Glimpse. Separate use of Glimpse requires a license. If you are installing Webglimpse via ssh, you will need to install Glimpse first. (The FTP and cPanel installers automatically ...
java版商城源码下载 SpringBoot-SecondKill 介绍 基于SpringBoot+Mybatis+Mysql+中间件构建的商城秒杀系统;其中,中间件主要包括:缓存中间件Redis、消息中间件RabbitMQ、统一...ZooKeeper_Windows的简化安装版(Zook
SPI protocol driver for Qualcomm Atheros QCA7000 serial-to-... This driver has been merged in the mainline kernel since Linux 3.18 ( http://lxr.free-electrons.com/source/drivers/net/ethernet/qualcomm ).