Ubuntu 8.10 下安装 lxr 与 glimpse

Ubuntu 22.04环境下安装lxr源码阅读器详细过程 lxr(the Linux Cross Referencer)最初的目的是linux内核源码阅读。lxr是使用Perl编写的源码阅读软件, 支持C, C++, Java, Python, Ruby, Perl, COBOL等多种语言。 阅读详情

前言

Lxr 对指定的源代码文件建立索引数据库,利用 perl 脚本 CGI 动态生成包含源码的 web 页面,可以用任一浏览器查阅。在此 web 页中,所有的变量、常量、函数都以超连接的形式给出,十分方便查阅。

步骤 1 :安装软件

1)   安装 apache2: sudo apt-get install apache2

2)   安装 lxr, sudo apt-get install lxr

3)   安装 glimpse, 下载最新版本:

tar -xvzf glimpse-latest.tar.gz

cd glimpse- 4.18.5

./configure

make

sudo make install

步骤 2 :设置 lxr

4)   编辑: /usr/share/lxr/http/lxr.conf

baseurl: http://localhost/lxr/http/

    其中 localhost 改为您的电脑的 IP 地址。

    /lxr/http/ 对应后面在 apache 配置文件中的设置路径。

修改 glimpse 路径:

glimpsebin: /usr/local/bin/glimpse

5)   /usr/share/lxr/http/ 下添加文件 .htaccess, 内容为:

<Files ~ (search|source|ident|diff|find)$>

SetHandler cgi-script

</Files>

步骤 3 :建立源码仓库

6)   /usr/share/lxr/source 下建立两个文件:

/usr/share/lxr/source/versions,
/usr/share/lxr/source/defversion

很明显, versions 表示所有内核版本的集合, 而 defversion 表示缺省使用的版本。 我们目前使用 2.6.21 , 所以这两个文件里都写上 2.6.21

7)   将内核源代码拷贝到 /usr/share/lxr/source/2.6.21/linux 下。

8)   /usr/share/lxr/source/2.6.21 下运行: ( 生成 freetext 交叉索引数据库 )

glimpseindex -H . ./linux

9)   /usr/share/lxr/source/2.6.21 下运行:(生成关键字交叉索引数据库)

genxref ./linux

10)            /usr/share/lxr/source/2.6.21 下运行:

chmod a+x *

chmod a+x .*

 

步骤 4 :设置浏览器

11)            编辑, /etc/apache2/sites-available/default , 添加:

    Alias /lxr /usr/share/lxr

    <Directory /usr/share/lxr>

    Options All

    AllowOverride All

    </Directory>

12)            重启 apache2:

service apache2 restart

13)            现在可以浏览代码了:

http://192.168.0.137/lxr/http/blurb.html

 

更进一步:

Lxr 支持多个内核版本, 您只需要在 /usr/share/source 下添加相应的目录, 并将该版本添加到 /usr/share/lxr/source/versions, 然后按照以上目录生成数据库文件即可。

 

另外, http://lxr.linux.no/linux+v2.6.27/ 有现成做好的交叉索引。


====

http://blog.youkuaiyun.com/zjujoe/article/details/4199025


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

LXR安装详解-ubuntu环境下测试


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/cd ctags-5.8
# ./configure
# make
# 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.
sudo /etc/init.d/apache2 restart


7. 
linux内核源码下载地址http://www.kernel.org/ 默认下载到/home/louis/下载解压后为linux-2.6.37.2
创建 /usr/share/lxr/source/XX 目录   (XX为版本号)
mkdir /usr/share/lxr/source/2.6.37.2
然后在
/usr/share/lxr/source/2.6.37.2下创建linux符号连接
ln -s /home/louis/下载/linux-2.6.37.2/usr/share/lxr/source/2.6.22/linux
               (源码地址)
8. 创建
/usr/share/lxr/source/versions,这里记录所有要看的版本,内容是
2.6.37.2
2.6.22(可有可无)
要保证2.6.37.2 => /usr/share/lxr/source/2.6.37.2
创建 /usr/share/lxr/source/defversion,这里记录缺省要看的版本,内容是
2.6.37.2
之所以是这两个文件,见 /usr/share/lxr/http/lxr.conf里的相关设置

9. 建立索引
cd 
/usr/share/lxr/source/2.6.37.2 /
sudogenxref 2.6.37.2 //这样会在当前目录生成fileidx和xref
sudo glimpseindex-H  /usr/share/lxr/source/2.6.37.2 / /usr/share/lxr/source/2.6.37.2/linux
(需要等待一段时间)
之所以是这个目录(
/usr/share/lxr/source/2.6.37.2 / ), 见 /usr/share/lxr/http/lxr.conf里的相关设置(database项)

10.修改属性
sudo chmod +r -R /usr/share/lxr/source/2.6.37.2/*

11.
sudo /etc/init.d/apache2 restart
http://localhost/lxr/http/blurb.html //成功查看源码

====

http://blog.sina.com.cn/s/blog_6c6d405f0100oq6l.html


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

关于LXR和glimpse配置实现方便阅读Linux源代码的过程
注:本文主要参考下面的资料                            时间:2010-1-15
参考资料1:
http://hi.baidu.com/fanzier/blog/item/3ad7d7546f58a55dd009066b.html
    资料2:
http://blog.youkuaiyun.com/zjujoe/archive/2009/05/18/4199025.aspx
其中的相同部分没有做修改,在此声明,有“注意:”的地方是结合自己的情况进行的修改。
(本人机器的OS---Ubuntu 9.10)
1.安装apache2
$sudo apt-get install apache2
2.安装lxr
$sudo apt-get install lxr
编辑修改lxr.conf文件
$sudo vi /usr/share/lxr/http/lxr.conf
修改glimpse的路径
找到 glimpsebin这一行,修改成你机器上glimpse的位置(自己查看使用$whereis glimpse)
glimpsebin: /usr/local/bin/glimpse  
注:红色部分是我机器上的glimpse的位置
3. 在/etc/apache2/httpd.conf 末尾加上以下内容:
Alias /lxr /usr/share/lxr
Options All
AllowOverride All
这样可以达到http://localhost/lxr/ =>/usr/share/lxr
4. 在/usr/share/lxr/http下创建文件 .htaccess,
$sudo vi /usr/share/lxr/http/.htaccess
并添加下面的内容:
SetHandler cgi-script
5.
$sudo /etc/init.d/apache2 restart
6. 创建/usr/share/lxr/source/XX目录 (XX为版本号)
$mkdir /usr/share/lxr/source/2.6.30.10
然后在/usr/share/lxr/source/2.6.30.10 下创建linux符号连接
$ln -s   /home/my/linux-2.6.30.10  /usr/share/lxr/source/2.6.30.10/linux
注:这里的黄色部分改成你目前的源代码的所在目录,比如 /home/you/linux-2.6.30.10
7. 创建/usr/share/lxr/source/versions,这里记录所有要看的版本
sudo vi /usr/share/lxr/source/versions
将下面的版本号(自己的源代码版本号)添加到versions中
2.6.30.10
2.6.32.3
创建/usr/share/lxr/source/defversion,这里记录缺省要看的版本,
$sudo vi /usr/share/lxr/source/defversion
添加缺省查看的版本号:
2.6.30.10
这里为什么是这两个文件,见/usr/share/lxr/http/lxr.conf里的相关设置
8. 建立索引
$cd /usr/share/lxr/source/2.6.30.10/

$sudo glimpseindex -H  ../  ./linux

(Should be $sudo glimpseindex -H  .  ./linux )

$sudo genxref  ./linux  

    上面的两个命令运行时间稍微长一些,主要是生成freetext交叉索引数据库(glimpseindex)和关键字交叉索引数据库(genxref),上面两个命令不可颠倒顺序,见下面的注
注:
1. 资料1原文中的顺序是:
$sudo glimpseindex -H /usr/share/lxr/source/2.6.22/ /usr/share/lxr/source/2.6.22/linux  
$sudo genxref 2.6.22
自己按照上面实验顺序后,发现最后的源码不能很好的链接上,不可以实现符号跳转,仅仅是显示代码

2. 这里如果没有安装glimpse,运行sudo glimpseindex -H  ../  ./linux ,会提示没有相关的命令glimpseindex
于是安装glimpse,需要到http://webglimpse.net/download.php下载
glimpse-latest.tar.gz
然后在下载文件所在的目录执行
$
tar
-zxvf  
glimpse-latest.tar.gz
$
./configure
$
make        //注意这里会提示没有flex命令,需要安装flex ,直接sudo apt-get install
flex
$
sudo
make
install
8.修改属性
$sudo chmod +r -R /usr/share/lxr/source/2.6.30.10/*
9.
$sudo /etc/init.d/apache restart
启动浏览器输入下面的URL即可查看,很方便呀!!
http://localhost/lxr/http/blurb.html
10.  如果还要添加其他的版本源代码,只需要按照顺序从第6步执行一直到第9步,这样就可以查看多个版本的源代码了,比较方便。
11. 附加心得:
最初在网上的找linux下的源代码查看工具,介绍的好几种,最初实验的kscope,有个问题就是他需要依赖下面的软件:
Qt4 version 4.4.0 and above
QScintilla2 (
http://www.riverbankcomputing.co.uk/software/qscintilla/download
)
Standard build tools
安装上面的软件之后,make还是出错,发现提示一些cpp文件中未定义的符号,这个要一个个修改比较麻烦了。
    所以后来又试了一下 deb包,安装提示需要libqscintilla2-3,好下载先安装这个libqscintilla2-3,然后安装kscope 的deb包,成功了!!后来发现根本启动不了,提示segmentation fault,这个郁闷坏了,网上有的说的是个bug,然后试着安装低版本的kscope—1.6.2,还是出现同样的segmentation fault,唉,暂时想不出解决反感,只好放弃kscope了。
    接着实验global,发现好像是命令行的东西,要是命令行熟悉的话,就用vim+ctags了,只是想找稍微简单一点,我只是想浏览源代码,不想提前记好多命令,呵呵,有点懒啦,只好作罢
     最后选择据说比较难安装的LXR,网上这方面的资料很多,一步一步接着做,然后修改了其中的一些叙说不完善的地方,发现竟然成功了,很好,原来这个复杂的东西不是这么夸张,比前面的要好点,还是幸亏这么完备的网上共享的资料呀,感谢那么多对这些资料做出过补充完善的作者!!
    最后的一点缺憾是不能像LXR主站上的服务器上的源代码的那种链接跳转,可能是哪里没有配置正确,不过还是迈出了一大步,下面在继续研究吧!!!----已经解决,就是前面的glimpseindex和genxref运行顺序问题,
12.将来问题
    目前发现查看源代码跳转有时还是比较慢,我感觉是数据库查找效率问题,这是算法的问题吧,应该不牵涉浏览器的问题吧??

    欢迎大家提出自己的看法。

====

http://bbs.chinaunix.net/thread-1940161-1-1.html



史上最详细的LXR安装介绍 史上最详细的LXR安装介绍(Ubuntu14.04+Apache2.4.7)简介:LXR (Linux Cross Reference)是一个通过交叉索引方便用户查看项目源代码的工具。项目地址:http://sourceforge.net/projects/lxr/依赖工具:LXR依赖的工具包括: Apache和Apache modules:mod_version(Ubuntu 默认安装安装) mo 阅读详情

相关推荐

使用LXR搭建Linux Kernel源码索引服务器

使用LXR搭建Linux Kernel源码索引服务器

阿xin*的嵌入式AI 1253

Ubuntu 22.04.1 配置 LXR 阅读Linux kernel源码

使用Ubuntu 22.04.1 配置 lxr

LaderBen的博客 1026

搭建本机使用的LXR来阅读Linux Kernel

笔者一直是使用Source Insight来阅读内核代码,无奈只有windows版,而且SI存在很多解析不清楚的问题,越来越难用。 LXR http://lxr.linux.no/  这里可以在线浏览源码,而且解析代码的效果很好,就是需要联网才能用,本文讨论把LXR做成本地的一个应用,这样在没联网的情况下也可以使用。 (一)系统环境ubuntu,需要的软件apache lxr

一些笔记杂谈 5508

小白也能看懂的踩坑日记--ubuntu(rk3588)安装LXR(阅读源码工具)服务器

使用ubuntu20(运行在rk3588上)搭建lxr服务器阅读Linux源码

zichuanning520的博客 1787

手把手教你用CsvView分析大疆无人机飞行日志(附实战CTF题解)

本文详细介绍了如何使用CsvView工具分析大疆无人机飞行日志,包括环境搭建、日志提取、核心功能解析及CTF实战技巧。通过实战案例,帮助读者掌握无人机取证的关键技术,提升日志分析能力,特别适合网络安全竞赛和实际取证场景。

weixin_42652674的博客 455

在Jetson orin板卡上部署ocr模型遇到错误

摘要:安装ONNX Runtime GPU版本时遇到问题,直接pip install onnxruntime-gpu会报错。解决方案是从test.pypi.org下载对应的.whl文件(如ort_nightly-1.14.0...aarch64.whl),本地安装后还需降级NumPy版本(如pip install numpy==1.26),以解决NumPy版本兼容性问题。整个过程涉及三个关键步骤:下载正确架构的wheel文件、本地安装、调整NumPy版本。

xdxd3c的博客 1525

配置lxr

1.安装apache2sudo apt-get install apache22.安装lxrsudo apt-get install lxr3. 在/etc/apache2/sites-enabled/000-default中加入Alias /lxr /usr/share/lxrOptions AllAllowOverride All4. 在/usr/share/lxr/http下创建文件 .htaccess, 并写入一下内容:SetHandler cgi-script6. 创建/usr/share/lxr

/0 732

运动目标成像必学:5分钟搞懂keystone变换原理与避坑指南

本文深入浅出地解析了雷达信号处理中的Keystone变换原理,它是解决运动目标距离徙动问题的关键技术。文章通过直观比喻和简化公式,阐述了该变换如何通过变量代换实现距离与慢时间的解耦合,将倾斜轨迹“掰直”,从而提升成像与检测性能。同时,文中重点指出了实际应用中关于大速度场景、插值误差、多目标处理及高阶运动补偿等关键避坑点,为工程实践提供了宝贵指南。

ios99的博客 403

linux内核代码查看软件,linux下搭建查看内核源代码工具lxr

linux下搭建查看内核源代码工具lxrlinux下阅读内核源代码,通常都使用vim + ctags 或者lxr进行,我个人比较倾向于lxr,因为lxr提供了良好的界面,函数和定义都使用超链接标记出来,可以很方便的跟踪到函数内部去查看详细或者查看数据结构的定义等。网上有现成的网站提供了这样的服务,如果你只是偶尔看看内核源代码的话,其实直接登录某些提供这样服务的网站就差不多了,比如LXR,这个网站提...

weixin_34777998的博客 703

损失函数大汇总(五十三)(Boundary Loss附公式推导与代码)

摘要 Boundary Loss是一种针对图像分割任务的新型损失函数,特别适用于高度类别不平衡的细粒度分割场景。与传统的区域型损失(如Dice、交叉熵)不同,它通过计算预测边界与真实边界之间的距离来优化模型,更关注边界精度而非区域重叠。核心思想是利用距离图(distance map)将边界约束转化为区域积分形式,实现端到端训练。具体实现中,损失函数为预测概率与距离图的点积,梯度仅取决于距离图,具有明确的空间引导性。相比区域型损失,Boundary Loss能更好处理小目标、细长结构等边界敏感任务,可与Dic

悦学共鸣,温柔以待,汇聚光芒,共同成长 237

Yolov8-pose关键点检测:训练实战篇 | 手部关键点检测

yolo8-pose实战检测手部关键点并优化。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3395

linux 下使用 LXR 看代码

  这是以前做过的配置,有些淡忘了,不过为了下次不再忘记,记录下来以备下次再浪费时间到网络上搜索。  LXR 官方解释:LXR (formerly "the Linux Cross Referencer") is a software toolset for indexing and presenting source code repositories. LXR was initially

征途的专栏 2763

美军利用MANET技术实现无人作战单元协同作战

本文首先介绍了移动自组织网络 (MANET)以及Wave Relay®波形中继技术,并探讨了波形中继MANET平台在美空军ABMS项目等军事方面的运用情况。

guanyifu9的博客 850

构建基于LXR的源代码浏览平台

如果你浏览过FreeBSD/Linux Kernel Cross Reference那么对LXR应该不会很陌生了。LXR,即“the Linux Cross Reference”的缩写,是为了更好的索引及呈现代码库而开发的工具集。LXR最初是为Linux开发的,不过目前已在很多软件项目中得到广泛的应用。

GreenCode 2981

智能制造——解读AI+工业设备预测性维护解决方案【附全文阅读】

摘要:本方案面向设备密集型制造企业,提供基于AI的预测性维护解决方案。通过工业物联网、大数据和AI算法,整合传感器数据与专家知识库,构建异常检测、故障诊断等模型,实现设备台账管理、智能点检等核心功能。方案配套软硬件工具矩阵,已在锂电子等行业落地应用,可降低维护成本30%以上,减少非计划停机50%,助力企业智能化转型。

cdfunlove的博客 138

PCL 将对象模板与点云对齐【2025最新版】

PCL模版匹配算法的使用案例,博客长期更新,本文最近更新时间为:2025年1月18日。

点云侠的博客 5378

Ubuntu环境下安装LXR

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  # ./con

daemon_zhdwei的专栏 1779

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

关于LXR和glimpse配置实现方便阅读Linux源代码的过程

关于LXR和glimpse配置实现方便阅读Linux源代码的过程 注:本文主要参考下面的资料                            时间:2010-1-15 参考资料1: http://hi.baidu.com/fanzier/blog/item/3ad7d7546f58a55dd009066b.html     资料2:http://blog.csd

echo_eric的专栏 1708

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

如何搭建lxr查看linux内核源代码?

<br />linxu下阅读内核源代码,通常都使用vim + ctags 或者 lxr进行,我个人比较倾向于lxr,因为lxr提供了良好的界面,函数和定义都使用超链接标记出来,可以很方便的跟踪到函数内部去查看详细或者查看数据结构的定义等。网上有现成的网站提供了这样的服务,如果你只是偶尔看看内核源代码的话,其实直接登录某些提供这样服务的网站就差不多了,比如LXR,这个网站提供的体验相当不错,我以前就是经常在这个网站上查看源代码的,毕竟搭建这个环境的过程中,要建立文件检索的过程还是比较漫长的。<br /><br

zhangnn5的专栏 1781

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

搭建lxr搭建自己的代码检索网站

linxu下阅读内核源代码,通常都使用vim + ctags 或者 lxr进行,我个人比较倾向于lxr,因为lxr提供了良好的界面,函数和定义都使用超链接标记出来,可以很方便的跟踪到函数内部去查看详细或者查看数据结构的定义等。网上有现成的网站提供了这样的服务,如果你只是偶尔看看内核源代码的话,其实直接登录某些提供这样服务的网站就差不多了,比如LXR,这个网站提供的体验相当不错,我以前就是经常在这个...

轻飘飞扬 1262

Linux源码阅读工具lxr和glimpse的安装与配置

Lxr(linuxcrossreference)是一款Linux下的源代码阅读工具:它通过对指定的源代码目录建立索引数据库,利用perl脚本动态生成包含源代码的web页面,使用户可以在任何一种浏览器中查阅。在此web页中,所有变量、常量、函数都以超连接的形式给出,查阅十分方便。Glimpse是一款索引与查找工具,它也是先对目标目录进行索引生成索引文件,然后就可以快速的查找到结果;Lxr与其一起使用

1112

lxr安装__ubuntu下安装lxr-0.10.2(gunavy2009)

学linux驱动,看源码感觉http://lxr.oss.org.cn挺不错,很清晰方便   转载的文章http://blog.chinaunix.net/uid-26820608-id-3166734.html里面有ubuntu下安装的详细过程,如果感觉链接里面的简单就用里面的方法装,apt-get安装版本默认0.3   在Ubuntu下搭建LXR环境步骤:   1.安装 apach

随便写写 1168

ubuntu 阅读内核源代码 lxr

linux下阅读内核源代码,通常都使用vim + ctags 或者 lxr进行,我个人比较倾向于lxr,因为lxr提供了良好的界面,函数和定义都使用超链接标记出来,可以很方便的跟踪到函数内部去查看详细或者查看数据 结构的定义等。网上有现成的网站提供了这样的服务,如果你只是偶尔看看内核源代码的话,其实直接登录某些提供这样服务的网站就差不多了,比如LXR ,这个网站提供的体验相当不错,我以前就是经常在这个网站上查看源代码的,毕竟搭建这个环境的过程中,要建立文件检索的过程还是比较漫长的。   利用lxr查

su_linux的专栏 2593

Ubuntu下利用LXR进行源码阅读

环境:Ubuntu 10.10 Server   一、安装 1.安装apache2 sudo apt-get install apache2   2、安装glimpse 首先访问站点: http://glimpse.cs.arizona.edu/ 得到glimpse 的源码,比如我得到的是glimpse-latest.tar.gz. a、解压

好行者 902
上一篇: platform驱动之probe函数
下一篇: 让 Source Insight 显示全路径
Alan0521
博客等级 码龄19年 77粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值