编译 gedit 3 以在 Gnome 2 上使用

jep*_*jep 5 gnome gedit compiling gnome2

我在 Gnome 2.32.1 (Ubuntu 11.04) 上,我想在我当前的桌面环境中使用 gedit 3。

为了实现这一点,我想我可以使用自定义前缀编译 gedit 3 及其依赖库,因此它不会干扰我当前的 Gnome 2 库,但我不确定。

非常感谢。

Rob*_*inJ 1

我是在写答案的时候这样做的,所以如果最后有点混乱,我很抱歉。我只是假设该程序对您来说是相同的。

-- 我会进一步陷入困境,所以这不是一个完整的解决方案。它可能会帮助您安装 intltool,但是这是 gedit 3 所需的依赖项。抱歉,祝您好运。

  1. 下载gedit 3软件包:http://ftp.acc.umu.se/pub/GNOME/sources/gedit/3.0/gedit-3.0.4.tar.bz2
  2. 解压它并在解压存档的文件夹中打开终端。
  3. 输入./configure。这应该是输出:

    剥离对 ranlib 的检查... ranlib 检查命令来解析 gcc 对象的 /usr/bin/nm -B 输出... 确定检查 sysroot... 不检查 mt... mt 检查 mt 是否是清单工具。 .. 不检查如何运行 C 预处理器... gcc -E 检查 ANSI C 头文件... 是检查 sys/types.h... 是检查 sys/stat.h... 是检查stdlib.h...是检查 string.h...是检查内存.h...是检查 strings.h...是检查 inttypes.h...是检查 stdint.h.. . 是检查 unistd.h... 是检查 dlfcn.h... 是检查 objdir... .libs 检查 gcc 是否支持 -fno-rtti -fno-exceptions... 不检查 gcc 选项来生成PIC... -fPIC -DPIC 检查 gcc PIC 标志 -fPIC -DPIC 是否有效...是检查 gcc 静态标志 -static 是否有效...是检查 gcc 是否支持 -c -o file.o...是检查如果 gcc 支持 -c -o file.o... (缓存) 是 检查 gcc 链接器 (/usr/bin/ld) 是否支持共享库... 是 检查 -lc 是否应显式链接... 否检查动态链接器特征... GNU/Linux ld.so 检查如何将库路径硬编码到程序中...立即检查是否可以剥离库...是检查 libtool 是否支持共享库...是检查是否构建共享库...是检查是否构建静态库...不检查 gtkdoc-check...不检查 gtkdoc-rebase...不检查 gtkdoc-mkpdf...不检查是否构建 gtk-doc 文档...不检查 sigaction...是检查 -lm 中的下限...是检查 Win32 平台...不检查本机 Win32...不检查 Mac OS X 平台...不检查本机Mac OS X...不检查是否请求 NLS...是检查 intltool >= 0.40.0..../configure: 第 13093 行:intltool-update: 找不到命令配置:错误:您的 intltool 太老的。您需要 intltool 0.40.0 或更高版本。否检查动态链接器特征... GNU/Linux ld.so 检查如何将库路径硬编码到程序中...立即检查是否可以剥离库...是检查 libtool 是否支持共享库...是检查是否构建共享库...是检查是否构建静态库...不检查gtkdoc-check...不检查gtkdoc-rebase...不检查gtkdoc-mkpdf...不检查是否构建gtk-doc文档...不检查 sigaction...是检查 -lm 中的下限...是检查 Win32 平台...不检查本机 Win32...不检查 Mac OS X 平台...不检查本机 Mac OS X...不检查是否请求 NLS...是检查 intltool >= 0.40.0..../configure:第 13093 行:intltool-update:找不到命令配置:错误:您的 intltool 是太老。您需要 intltool 0.40.0 或更高版本。否检查动态链接器特征... GNU/Linux ld.so 检查如何将库路径硬编码到程序中...立即检查是否可以剥离库...是检查 libtool 是否支持共享库...是检查是否构建共享库...是检查是否构建静态库...不检查gtkdoc-check...不检查gtkdoc-rebase...不检查gtkdoc-mkpdf...不检查是否构建gtk-doc文档...不检查 sigaction...是检查 -lm 中的下限...是检查 Win32 平台...不检查本机 Win32...不检查 Mac OS X 平台...不检查本机 Mac OS X...不检查是否请求 NLS...是检查 intltool >= 0.40.0..../configure:第 13093 行:intltool-update:找不到命令配置:错误:您的 intltool 是太老。您需要 intltool 0.40.0 或更高版本。

  4. 我们必须首先安装 intltool 0.40.0 或更高版本。下载链接:http://launchpad.net/intltool/trunk/0.41.1/+download/intltool-0.41.1.tar.gz

  5. 将其解压到某个位置并在文件夹内打开终端。
  6. 也在这里运行./configure 。输出:

    robin@Robin-Latitude-D620 ~/Bureaublad/intltool-0.41.1 $ ./configure 检查 BSD 兼容安装... /usr/bin/install -c 检查构建环境是否正常... 是检查线程安全 mkdir -p... /bin/mkdir -p 检查 gawk... gawk 检查 make 是否设置 $(MAKE)... 是 检查 perl... /usr/bin/perl 检查 perl >= 5.8.1... 5.10.1 检查 XML::Parser... 确定 配置:创建 ./config.status config.status:创建 Makefile config.status:创建 doc/Makefile config.status:创建 intltoolize 配置.status:创建测试/Makefile config.status:创建测试/案例/Makefile config.status:创建测试/结果/Makefile config.status:创建测试/selftest.pl

  7. 运行make命令。输出:

    robin@Robin-Latitude-D620 ~/Bureaublad/intltool-0.41.1 $ make 全部在测试中 make[1]: Map '/home/robin/Bureaublad/intltool-0.41.1/tests' wordt binnengegaan 全部在案例中make[2]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests/cases' wordt binnengegaan make[2]: Er hoeft niets gedaan te worden voor 'all'. make[2]: Map '/home/robin/Bureaublad/intltool-0.41.1/tests/cases' wordt verlaten 全部放入结果 make[2]: Map '/home/robin/Bureaublad/intltool-0.41.1/测试/结果' wordt binnengegaan make[2]:Er hoeft niets gedaan te worden voor 'all'。make[2]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests/results' wordt verlaten make[2]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests' wordt binnengegaan make[2]:Er hoeft niets gedaan te worden voor 'all-am'。make[2]: Map '/home/robin/Bureaublad/intltool-0.41.1/tests' wordt verlaten make[1]: Map '/home/robin/Bureaublad/intltool-0.41.1/tests' wordt verlaten 制作所有在 doc make[1] 中:映射 '/home/robin/Bureaublad/intltool-0.41.1/doc' wordt binnengegaan make[1]:Er hoeft niets gedaan te worden voor 'all'。make[1]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/doc' wordt verlaten make[1]: 映射 '/home/robin/Bureaublad/intltool-0.41.1' wordt binnengegaan sed -e ' s|[@]PACKAGE@|intltool|g' -e 's|[@]VERSION@|0.41.1|g' -e "s|[@]INTLTOOL_PERL@|/usr/bin/perl|g" - e "s|[@]INTLTOOL_LIBDIR@|/usr/local/lib|g" < intltool-extract.in > intltool-extract chmod +x intltool-extract sed -e 's|[@]PACKAGE@|intltool|g ' -e 's|[@]VERSION@|0.41.1|g' -e "s|[@]INTLTOOL_PERL@|/usr/bin/perl|g" -e "s|[@]INTLTOOL_LIBDIR@|/ usr/local/lib|g" < intltool-merge.in > intltool-merge chmod +x intltool-merge sed -e 's|[@]PACKAGE@|intltool|g' -e 's|[@]VERSION@ |0.41.1|g' -e "s|[@]INTLTOOL_PERL@|/usr/bin/perl|g" -e "s|[@]INTLTOOL_LIBDIR@|/usr/local/lib|g" < intltool- update.in > intltool-update chmod +x intltool-update sed -e 's|[@]PACKAGE@|intltool|g' -e 's|[@]VERSION@|0.41.1|g' -e "s |[@]INTLTOOL_PERL@|/usr/bin/perl|g" -e "s|[@]INTLTOOL_LIBDIR@|/usr/local/lib|g" < intltool-prepare.in > intltool-prepare chmod +x intltool -prepare make[1]: 映射 '/home/robin/Bureaublad/intltool-0.41.1' wordt verlaten

  8. 现在,为了让事情变得更简单,请安装checkinstall并运行sudo checkinstall。只需在它提出的每个问题上按 Enter 键,它就会成功安装 intltool。输出:

    robin@Robin-Latitude-D620 ~/Bureaublad/intltool-0.41.1 $ sudo checkinstall

    checkinstall 1.6.2,版权所有 2009 Felipe Eduardo Sanchez Diaz Duran 该软件根据 GNU GPL 发布。

    包文档目录 ./doc-pak 不存在。我应该创建一组默认的包文档吗?[y]:

    正在准备包文档...好的

    请写下包裹的描述。以空行或 EOF 结束描述。


    选择 Debian 软件包创建 *


    该包将根据以下值构建:

    0 - 维护者:[ root@Robin-Latitude-D620 ] 1 - 摘要:[ 使用 checkinstall 1.6.2 创建的软件包] 2 - 名称:[ intltool ] 3 - 版本:[ 0.41.1 ] 4 - 发布:[ 1 ] 5 - 许可证:[ GPL ] 6 - 组:[ checkinstall ] 7 - 体系结构:[ i386 ] 8 - 源位置:[ intltool-0.41.1 ] 9 - 备用源位置:[ ] 10 - 要求:[ ] 11 - 提供: [ intltool ] 12 - 冲突:[ ] 13 - 替换:[ ]

    输入一个数字以更改其中任何一个或按 ENTER 继续:

    使用 make install 进行安装...

    =========================安装结果======================= ==== 在测试中进行安装 make[1]: Map '/home/robin/Bureaublad/intltool-0.41.1/tests' wordt binnengegaan 在案例中进行安装 make[2]: Map '/home/robin/Bureaublad/ intltool-0.41.1/tests/cases' wordt binnengegaan make[3]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests/cases' wordt binnengegaan make[3]: Er hoeft niets gedaan te worden voor “安装-执行-am”。make[3]: Er hoeft niets gedaan te worden voor 'install-data-am'. make[3]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests/cases' wordt verlaten make[2]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests/cases' wordt verlaten 在结果中安装 make[2]: Map '/home/robin/Bureaublad/intltool-0.41.1/tests/results' wordt binnengegaan make[3]: Map '/home/robin/Bureaublad/intltool-0.41. 1/tests/results' wordt binnengegaan make[3]: Er hoeft niets gedaan te worden voor 'install-exec-am'。make[3]: Er hoeft niets gedaan te worden voor 'install-data-am'. make[3]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests/results' wordt verlaten make[2]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests/results' wordt verlaten make[2]:映射'/home/robin/Bureaublad/intltool-0.41.1/tests' wordt binnengegaan make[3]:映射'/home/robin/Bureaublad/intltool-0.41.1/tests' wordt binnengegaan make[3]: Er hoeft niets gedaan te worden voor 'install-exec-am'。make[3]: Er hoeft niets gedaan te worden voor 'install-data-am'. make[3]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests' wordt verlaten make[2]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests' wordt verlaten make[ 1]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/tests' wordt verlaten 在 doc make 中进行安装 make[1]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/doc' wordt binnengegaan make[2]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/doc' wordt binnengegaan make[2]: Er hoeft niets gedaan te worden voor 'install-exec-am'。测试-z“/usr/local/share/man/man8”|| /bin/mkdir -p "/usr/local/share/man/man8" /usr/bin/install -c -m 644 intltoolize.8 intltool-extract.8 intltool-merge.8 intltool-prepare.8 intltool-update .8 '/usr/local/share/man/man8' make[2]: 映射 '/home/robin/Bureaublad/intltool-0.41.1/doc' wordt verlaten make[1]: 映射 '/home/robin/ Bureaublad/intltool-0.41.1/doc' wordt verlaten make[1]: 映射 '/home/robin/Bureaublad/intltool-0.41.1' wordt binnengegaan make[2]: 映射 '/home/robin/Bureaublad/intltool- 0.41。1' wordt binnengegaan test -z "/usr/local/bin" || /bin/mkdir -p“/usr/local/bin”/usr/bin/install -c intltool-extract intltool-merge intltool-update intltoolize intltool-prepare '/usr/local/bin' test -z“/usr/本地/共享/aclocal" || /bin/mkdir -p "/usr/local/share/aclocal" /usr/bin/install -c -m 644 intltool.m4 '/usr/local/share/aclocal' test -z "/usr/local/share /intltool" || /bin/mkdir -p "/usr/local/share/intltool" /usr/bin/install -c -m 644 Makefile.in.in '/usr/local/share/intltool' make[2]: 映射 '/ home/robin/Bureaublad/intltool-0.41.1' wordt verlaten make[1]: Map '/home/robin/Bureaublad/intltool-0.41.1' wordt verlaten

    ========================安装成功======================== ==

    正在复制文档目录... ./ ./COPYING ./AUTHORS ./doc/ ./doc/Makefile.am ./doc/intltoolize.8 ./doc/Makefile.in ./doc/intltool-update.8 ./ doc/I18N-HOWTO ./doc/intltool-prepare.8 ./doc/intltool-merge.8 ./doc/intltool-extract.8 ./doc/Makefile ./README ./TODO

    正在将文件复制到临时目录...确定

    剥离 ELF 二进制文件和库...好的

    压缩手册页...好的

    构建文件列表...确定

    构建 Debian 软件包...好的

    正在安装 Debian 软件包...好的

    正在删除临时文件...确定

    正在删除临时目录...确定


    完毕。新软件包已安装并保存到

    /home/robin/Bureaublad/intltool-0.41.1/intltool_0.41.1-1_i386.deb

    您可以随时使用以下方法将其从系统中删除:

      dpkg -r intltool
    
    Run Code Online (Sandbox Code Playgroud)

9. 返回 gedit 终端窗口。再次运行./configure

我就停在这里,因为似乎我已经陷入了困境,我不想为了能够使用 gedit 3 而冒系统稳定性的风险。抱歉,我无法提供更多帮助。我将保留这篇文章,因为它至少可以帮助您解决 intltool depecy 问题。


bla*_*899 0

要编译 gedit,这就是我在 gnome 终端中成功复制/粘贴它的方法,
它将下载 gedit 的最新稳定版本并编译它

sudo apt-get build-dep gedit

cd /tmp
wget http://ftp.gnome.org/pub/GNOME/sources/gedit/3.2/gedit-3.2.6.tar.xz
tar Jxf gedit-3.2.6.tar.xz
cd gedit-3.2.6
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

来源