Lxr是一個(gè)基于web的源代碼交叉索引工具,用來(lái)閱讀源代碼非常方便,現(xiàn)記錄一下配置過(guò)程,以pidgin-2.4.1為例。
1、安裝
gentoo下安裝lxr很簡(jiǎn)單,直接emerge即可,不過(guò)要注意的是lxr是采用perl語(yǔ)言寫(xiě)的,要求perl和libperl安裝的時(shí)候加上ithreads這個(gè)USE Flag,另外需要emerge apache mod_perl MySQL,索引工具采用glimpse則emerge glimpse,如果要采用swish-e就USE=freetext emerge lxr即可。
2、準(zhǔn)備源碼目錄
在我機(jī)器上,/data/codes/other是用來(lái)存放第三方我需要閱讀的項(xiàng)目,配置lxr先在/data/codes/other目錄下創(chuàng)建了pidgin并將pidgin解壓至pidgin目錄改名為2.4.1,在/data/codes/others/pidgin目錄下創(chuàng)建versions文件,寫(xiě)入2.4.1。
3、準(zhǔn)備數(shù)據(jù)庫(kù)
執(zhí)行mysql -u root < /usr/share/webapps/lxr/0.9.5/sqlscripts/mysql/0.9.5_create.sql創(chuàng)建一個(gè)lxr庫(kù),然后將/var/lib/mysql/lxr庫(kù)名改為pidgin。如果要添加別的項(xiàng)目再做類(lèi)似的工作即可。
4、配置lxr
首先配置你的apache,生成默認(rèn)的web目錄,emerge --config =www-servers/apache-x.x.x,然后修改/etc/conf.d/apache,給APACHE2_OPTS加上"-D PERL"選項(xiàng),重啟apache即可。然后執(zhí)行cp -PR /usr/share/webapps/lxr/0.9.5/htdocs /var/www/localhost/htdocs/pidgin,如果要添加另一個(gè)項(xiàng)目重復(fù)此cp操作,重要的就是配置lxr.conf,上傳了一個(gè)pidgin的lxr.conf可以參考。
5、生成索引
進(jìn)入/var/www/localhost/htdocs/pidgin,ln -snf /data/codes/other/pidgin/lxr.conf然后執(zhí)行./genxref --url=http://localhost/pidgin即可生成索引,(對(duì)了,到這兒你會(huì)發(fā)現(xiàn)操作mysql數(shù)據(jù)庫(kù)時(shí)會(huì)報(bào)錯(cuò),是因?yàn)閘xr建的lxr_releases表里的release字段與mysql的關(guān)鍵字沖突,需要修改一下/usr/lib/perl5/vendor_perl/5.8.8/LXR/Index/Mysql.pm文件,將其中的sql語(yǔ)句中的release字段都加上``變成`release`)現(xiàn)在基本上可以訪問(wèn)了。
新聞熱點(diǎn)
疑難解答
圖片精選