|
|
| | -文章搜索 - 最新文章 - | |
今天装LXR无果(转) |
| 发布时间:2006年8月3日 点击次数:930 |
| 来源: 作者: |
下面转贴一下Lxr的安装过程(转自linuxforum),bless以后有机会能顺利装上 ************************************ 一、下载 (1)LXR 现在LXR已经成为sourceforge的一个project,所以可以到LXR.sourceforge.net上找到最新的LXR代码(当然也就是源代码了)。 (2)perl的DBI http://search.cpan.org/~timb/DBI/ (3)glimpse http://webglimpse.net/download.php http://webglimpse.net/trial/glimpse-4.17.2-linux-i386.tar.gz (4)Apache2.0.53 http://httpd.apache.org/download.cgi Apache的mod_perl插件,以支持perl脚本的cgi解释 http://perl.apache.org/download/index.html Apache的mod_auth_mysql插件: http://sourceforge.net/projects/modauthmysql/ http://voxel.dl.sourceforge.net/sourceforge/modauthmysql/mod_auth_mysql-2.8.1.tar.gz 注意:我们用的是Apache2,并且必须是2.0.47以上版本。mod_perl2.0对应Apache2,mod_perl1.0对应Apache1.3,不要下载错误的版本 (5)MySQL4.1.10 http://www.mysql.com http://dev.mysql.com/get/Downloads/MySQL-4.1/MySQL-server-4.1.10-0.i386.rpm/from/http://mirror.services.wisc.edu/mysql/ http://dev.mysql.com/get/Downloads/MySQL-4.1/MySQL-client-4.1.10-0.i386.rpm/from/http://mysql.ihostunit.com/ http://dev.mysql.com/get/Downloads/MySQL-4.1/MySQL-devel-4.1.10-0.i386.rpm/from/http://mysql.ihostunit.com/ http://dev.mysql.com/get/Downloads/MySQL-4.1/MySQL-Max-4.1.10-0.i386.rpm/from/http://mirror.services.wisc.edu/mysql/ http://dev.mysql.com/get/Downloads/MySQL-4.1/MySQL-bench-4.1.10-0.i386.rpm/from/http://mysql.ihostunit.com/ http://dev.mysql.com/get/Downloads/MySQL-4.1/MySQL-embedded-4.1.10-0.i386.rpm/from/http://mysql.ihostunit.com/ http://dev.mysql.com/get/Downloads/MySQL-4.1/MySQL-shared-4.1.10-0.i386.rpm/from/http://mysql.ihostunit.com/ 如果是从3.x升级还需要下载这个(上面的shared就不要了): http://dev.mysql.com/get/Downloads/MySQL-4.1/MySQL-shared-compat-4.1.10-0.i386.rpm/from/http://mysql.ihostunit.com/ (6)ctags包,一般都有。 二、安装前的准备 (1)DBI 解压后: perl Makefile.PL make make test make install (2)glimpse ./configuration make 将文件glimpse和glimpseindex拷贝到/bin或/usr/bin下 (3)Apache2.0.53: ./configuration make make install 这样Apache2就装至/usr/local/apache2下了。 这个版本新特点: 1.与旧版的Apache的Modules有些不兼容,所以像perl、php、auth_mysql要重新编译过,或都把相应的LoadModule注释掉。 2.整合了大部分Modules,所以以前在httpd.conf中要写的LoadModule都不用了。 (4)Apache的mod_perl插件: perl Makefile.PL make make test make install (5)mod_auth_mysql插件: /usr/local/apache2/bin/apxs -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c /usr/local/apache2/bin/apxs -i mod_auth_mysql.la 一般来说,这样就可以了。更详细的安装请参考解压后的BUILD (5)MySql的安装: 由于是RPM,所以安装还是方便的: rpm -Uvh *.rpm 参考文章:http://www.cnblogs.com/huqingyu/archive/2004/12/08/74331.html 这里还有数据库的备份等,虽然是windows下的,但命令差不多,有参考价值。 三、安装 (1)本例中使用的是/usr/local/LXR目录作为LXR的根目录。 #tar zxvf LXR-0.9.3.tar.gz -C /usr/local ;将LXR解压到/usr/local/LXR下 #cd /usr/local/LXR #mv Local.pm diff fixhashbang ident find search source templates ;将web相关部分移到templates下 #mv templates http ;http目录,用于存放WEB部分 #ln http/Local.pm /usr/lib/perl5/site_perl -s #ln http/LXR.conf . -s ;为web部分和工具部分都需要用的文件建符号连接 #mv lib/LXR /usr/lib/perl5/site_perl/LXR ;将自定义的perl库文件拷贝到perl/mod_perl使用的缺省库文件目录中 #mkdir src ;源代码部分的根 #cd src #mkdir kernel ;内核代码目录 #vi versions ;编辑/usr/local/LXR/src/versions文件,内容为kernel,表示让LXR索引kernel #cd kernel #ln ../../../../src/linux-2.4.18 2.4.18 -s ;2.4.18才是真正的kernel源码根,之所以这么安排,主要是为了避免glimpse建索引时弄脏了/usr/src/linux-2.4.18/ #cd ../../ ;回到/usr/local/LXR 2)修改LXR.conf 缺省的LXR.conf已经在/usr/local/LXR/http/下了,并在/usr/local/LXR/下有个连接。 ''glimpsebin''变量,改为glimpse命令的位置,用which glimpse可以找到(如果装了的话),我这里为/usr/bin/glimpse; 注释掉所有与swish-e相关的变量定义 ''genericonf''设为''/usr/lib/perl5/site_perl/LXR/Lang/generic.conf'' ''ectagsconf''设为''/usr/lib/perl5/site_perl/LXR/Lang/ectags.conf'' (这行INSTALL中少了LXR) ''baseurl''设为''http://10.129.6.244/LXR'',这个IP当然不是通用的(举个例子而已,实际装时根据本机情况适当修改) ''range''改为[ readfile(''/usr/local/LXR/src/versions'') ],用绝对路径,主要是为了方便; ''default''改为''kernel'',我自己定义的缺省的代码树名; ''sourceroot''设为''/usr/local/LXR/src'',也用绝对路径; ''sourcerootname''设为''Linux'',自定义的,它将显示在缺省的最高级源码目录上; ''glimpsedir'' => ''/usr/local/LXR/src/$v/'',$v表示使用version变量的值,也就要求把glimpse的索引结果文件保存在/usr/local/LXR/src/kernel上,与2.4.18并列; 其余都不用改。 3)apache的httpd.conf 保证装了mod_perl的时候,在httpd.conf中添加以下几行: Alias /LXR/ /usr/local/LXR/http/ <Directory /LXR/> (这行上一版本0.9.1写错了) AllowOverride None Options FollowSymLinks <Files ~ (search source ident diff find)$> SetHandler perl-script PerlHandler ModPerl::Registry Options +ExecCGI </Files> </Directory> 表示访问/LXR就相当于访问/usr/local/LXR/http,且用perl解释search、source、ident、diff和find几个脚本,而其他的仍然当成html来使用。 如果没有mod_perl,可以用SetHandler cgi-script代替perl-script,一样可以用,PerlHandler就不用了。 (没试过) (3).初始化 1)初始化MySQL数据库 运行mysql,在提示符下运行"\. initdb-mysql"。这样就建好了LXR用户,建好了LXR数据库可其中一系列表格,并让LXR能全权访问LXR数据库,但没有访问其他库的权限,而且,也不用密码。 2)建glimpse索引 在/usr/local/LXR/src/kernel/下运行''find . -name "*.[chS]" -follow glimpseindex -H . -o -F'',索引所有.c、.h、.S(汇编)文件。这个过程比较耗时,但比起下一个过程来,就小巫见大巫了。 3)建identity索引 这是LXR精髓所在,在/usr/local/LXR/下运行''./genxref --version=kernel --url=http://10.129.6.244/LXR'',这个过程在我的机器上用了5个小时,其结果就是在MySQL中添东西。如果已经做过索引了,它就只关心那些修改过的或新的文件,速度就快多了。这个过程如果中断了,最好清空数据库重新来过,否则可能会有错误。 4)修改权限 最简单的办法就是把/usr/local/LXR/http下所有的文件都改成apache的属主。在/usr/local/LXR/下运行''chown apache.apache http -R''。 chmod命令使用可以参考:http://www.cnblogs.com/huqingyu/archive/2005/02/20/106392.html 4.startup 重启mysql和httpd,然后访问http://10.129.6.244/LXR/source/就可以了。比较奇怪的是,因为这个cgi允许用类似目录一样的形式(source/)来访问,所以,如果服务器端有更新,浏览器端仍会使用老的页面,refresh也没用。这时只有清空本地cache了。 5.update 我还没有遇到更新的情况,但估计2.4.18升级到2.4.19时比较麻烦,因为目录名变了,而数据库里存的仍然是老名字,glimpse也用的老名字,所以更新可能需要重建一次数据索引,就是重新来一次3.initialize。 但如果仅仅是添加新的源代码树,则只需要修改src/versions文件,按照kernel/2.4.18的模子再在src下建一个目录树,并一样执行一次3.2、3.3、3.4就可以了。为了方便,我把3.x做成了两个脚本。 6.bugs 应该在源代码树的组织上。如果同时要索引kernel-2.4.18和kernel-2.2.19,逻辑上好像应该在kernel下建另一个连接指向2.2.19的代码,但实际上应该建一个kernel2与kernel并列在src目录下。 更新时看样子也会有问题,因为数据库里记录了2.4.18的目录信息,glimpse里也记录了2.4.18。重建实在耗时。 不知谁有更好的配置方案,尽管这做不了博士课题。 不知道有没有遗漏的地方。还多亏参考了别人已有的配置,尽管版本不同。 由于安装时失败过N次,这篇文章也改了N次,可能哪一步还不对,请再参考别的文章。 今天终于装好了,欣赏一下,呵呵。虽然没有www.oldlinux.org做出来的那种效果,但看看还是可以了的,什么时候再改改Perl脚本,让它看起来像oldlinux那样。 |
|
|
|
|
[另类其他] 相关文章: A51 4.2.2 CODE,DATA,IDATA,XDATA简介:
BIT , CODE , DATA , IDATA 和 XDATA 伪指令把一个地址值分配给指令的符号。由 BIT 、 CODE 。 DATA 、 IDATA 和 XDATA 伪指令定义的符号不可更改或重复定义。这些伪指令的使用格式如下: symbol BIT bit_address ; 定义一个 BIT 符号 symbol CODE code_address ; 定义一个 CODE 符号 symbol DATA data_address ; 定义一个 DATA 符号 s...... A51 4.2.3 esfr,sfr,sfr16,sbit
分层驱动程序与整体式驱动程序之比较
UCGUI几个基本消息总结
PID调整的意义和原则
MSP430寄存器中文注释---A/D采样寄存器定义
(转)无题
中科院院士钟南山:中国高收入者老得快
百度深陷“裁员门”,离职员工博客成新闻源
俺的VxWorks For S3C44B0X终于跑起来了!(转) |
|
|
|