zoukankan      html  css  js  c++  java
  • 在Ubuntu-20.04上安装Emacs-27.1

    在电脑上装了一个Ubuntu-20.04。上面几乎啥软件也没有,所以装Emacs的时候有很多依赖的软件需要装,有点麻烦。下面是中途开始记录的日志。

    emacs-> X -> gtk+-3.24.23

    No package 'glib-2.0' found
    No package 'atk' found
    No package 'pango' found
    No package 'fribidi' found
    No package 'cairo' found
    No package 'cairo-gobject' found
    No package 'gdk-pixbuf-2.0' found

    安装好ninja了
    python3 -m pip --version看到安装好pip 20.0.2了

    sudo gedit ~/.bashrc
    进入文件,改里面的PATH环境变量
    当前:export PATH="$PATH:/usr/local/sbin:usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/narh/bin:/bin:/usr/bin:/home/narh/.local/bin"
    加入一条:echo 'export PATH=/home/narh/.local/bin:$PATH' >>~/.bashrc
    然后就安装好meson了!
    接下来安装atk去!

    先要安装glib
    sudo apt-get install cmake安装了cmake
    然后再安装libffi-3.4.2
    还缺少xgettext,于是安装gettext-0.21
    然后再在glib目录里meson _build,它说configured,直接用ninja就行了!
    于是ninja -C _build,结果在gio/test/test.gresource和gio/tests/plugin-resources.c上失败了
    重新解压一遍,再次meson _build,还是有好多NO
    sudo apt-get install libdbus-1-dev
    再ninja -C _build,又推进了一些,直到第384个子命令才报错。看来尽量把meson _build时报的错都解决掉才能通过这个ninja
    从网上找了mach_time.h、crt_externs.h放进/usr/include
    sudo apt-get install libevent-dev
    没有xlocale,听说把xlocale链接到locale就行了
    sudo ln -s /usr/include/locale.h /usr/include/xlocale.h
    sys/mkdev.h、sys/mntctl.h和sys/mnttab.h好像是solaris里面的头文件,所以自己的ubuntu没有。那就不管了
    还没有fdwalk和getfsstat,也没有kevent和kqueue等许多东西。
    kqueue应该在sys/event.h库里面。难道刚才安装了libevent-dev还不行吗……
    看了一下,自己没有/usr/include/sys这个目录。难道要创建链接,把sys/...链接到...吗?
    没有winsock2.h,但是自己又不在windows系统下安装,应该没问题
    要安装libpcre、mount、libselinux和libelf
    安装了pcre-8.45。发现已经有mount命令了。
    apt-cache search libselinux(这个命令真方便!)
    sudo apt-get install libselinux1
    apt-cache search libelf
    sudo apt-get install libelf1
    sudo apt autoremove卸载了libfprint-2-tod1和libllvm10
    找不到xmllint,但是apt-get了一下,好像已经有了
    再meson _build一番,发现有了libpcre,但还是没有libselinux和libelf。不管了
    ninja -C _build在第682个子命令报错
    sudo apt-get install libselinux-dev
    sudo apt-get install libelf-dev
    这回有libselinux和libelf了。但是还是报错了

    发现原来自己在/usr/include里找不到sys目录,是要在x86_64-linux-gnu目录下找!https://www.cnblogs.com/johnnyzen/p/8016796.html
    发现安装完libevent-dev的event.h里面几乎啥也没有,也没kqueue之类,于是网上找了一个好像有kqueue的event.h放进sys目录里
    再meson _build,有了sys/event,但还是没有kqueue。发现自己粘的好像是macOS适用的。于是把这个和之前的mach_time.h、crt_externs.h都删了……
    仔细看了看,总感觉自己的event.h是个假的。里面还引用windows.h、winsock2.h,也没有kqueue
    于是把event.h挪走了,再apt-get libevent-dev,还是没装上新的。到底咋回事……
    从libevent.org上下载安装了libevent-2.1.12-stable,但还是没用
    再去查了一下glib,现在有glib-2.66.7了,而且页面里还写着各种依赖包!速去安装一波
    sudo apt-get install libxml2
    sudo apt-get install libxml2-dev
    sudo apt-get install libxslt1-dev
    sudo apt-get install bindfs
    安装了gdb-10.2
    sudo apt-get install itstool
    已经有了docbook-xml,又sudo apt-get install docbook-xsl
    为了安装gtk-doc-1.33.2
    sudo apt-get install python3-pygments
    sudo apt-get install xsltproc
    sudo apt-get install libglib2.0-dev
    然后用meson和ninja命令安装好了gtk-doc-1.33.2
    glib-networking也已经有了
    为了安装gobject-introspection-1.66.1
    sudo apt-get install flex
    sudo apt-get install bison
    还要安装cairo...
    仔细一看,glib的INSTALL.in里也写了依赖包
    sudo apt-get install pkg-config-x86-64-linux-gnu
    我好像已经有glib-2.64.6了!安装gtk+所缺少的glib-2.0是刚才装的libglib2.0-dev!

    下面开始安装pango
    安装了fribidi
    sudo apt-get install libharfbuzz-dev
    sudo apt-get install libfreetype-dev
    准备安装fontconfig,下载了它的安装包,但是make发现好像缺少什么;但是用apt-get好像能直接安装
    于是受到启发
    sudo apt-get install emacs-gtk
    安装好辣!

    发现放着一些文件夹:
    file-5.39 gmp-6.2.0 libgcrypt-1.9.0 libgpg-error-1.41 mpc-1.2.0 mpfr-4.1.0 openssl-3.0.0-alpha10 rpm-4.16.1.2 zlib-1.2.11
    还有一些准备安装的压缩包:
    atk-2.36.0.tar.xz cairo-1.17.4.tar.xz emacs-27.1.tar.gz fontconfig-2.13.1.tar.bz2 gdk-pixbuf-2.40.0.tar.xz glib-2.68.3.tar.xz gobject-introspection-1.66.1.tar.xz gtk+-3.24.23.tar.xz libepoxy-1.5.4.tar.xz libffi-3.4.2.tar.gz pango-1.47.0.tar.xz sysprof-3.40.1.tar.xz
    这些东西以后再安装吧。嘻嘻

    apt-get真是太方便了!记得配合apt-cache search *** 使用~

  • 相关阅读:
    NET 获取实例所表示的日期是星期几
    NET npoi 保存文件
    快速排序
    JAVA poi 合并单元格
    JAVA poi 帮助类
    JAVA 字符串编码转换
    NET npoi 合并单元值处理
    NET npoi帮助类
    Task的暂停,继续,取消
    .net ref与out之间区别
  • 原文地址:https://www.cnblogs.com/Narh/p/15036432.html
Copyright © 2011-2022 走看看