AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1245894
Accepted
Raul Delgado
Raul Delgado
Asked: 2020-06-02 12:18:53 +0800 CST2020-06-02 12:18:53 +0800 CST 2020-06-02 12:18:53 +0800 CST

如何在 Xubuntu 20.04 上编译 Compton

  • 772

有人可以帮我编译这个康普顿叉吗?

https://github.com/tryone144/compton/tree/improved_fbo

.我已按照此处的说明进行操作:github.com/tryone144/compton/blob/improved_fbo/README_orig.md

我安装了依赖项,我真的有点迷失在我必须做的一切。如果有人能花点时间,那将是一个很大的帮助

我仍然不明白如何从 git 克隆,所以我下载了 zip,单击代码,然后单击克隆或下载按钮,然后将其解压缩并按照 README_org.md 文件中的说明进行操作。我安装了依赖项,然后在提取的文件夹中打开了一个终端并运行:

文件或目录不存在 18 | #包括 | ^ ~~~~~~~ 编译终止。make: *** [Makefile: 141: c2.o] 错误 1 ​​rau@rau-B250M-DS3H:~/Desktop/compton-improved_fbo$

compiling compton 20.04
  • 2 2 个回答
  • 4401 Views

2 个回答

  • Voted
  1. Best Answer
    Raul Delgado
    2020-06-02T21:54:31+08:002020-06-02T21:54:31+08:00

    我决定听从 kanehekili 的建议,去寻找 picom。我已经解决了两个问题:在必须安装 git 之前,我学会了如何克隆 git

    $ sudo apt install git 克隆的地址来自克隆按钮或下载 Zip(我多傻)。所以:

    $ sudo git clone https://github.com/yshui/picom.git

    下载保存在个人文件夹中,名称为 picom

    然后我安装了 Ubuntu 的依赖项:

    $ sudo apt install libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0 -dev libxcb-present-dev libxcb-xinerama0-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl1-mesa-dev libpcre2-dev libevdev-dev utash-dev libev-dev libx11-xcb -开发

    我还必须安装 cmake 和 meson

    $ sudo apt install cmake 介子

    然后按照说明进行操作: $ git submodule update --init --recursive $ sudo meson --buildtype = release. 建造

    Meson 构建系统版本:0.53.2 源目录:/home/rau/picom 构建目录:/home/rau/picom/build 构建类型:native build 项目名称:picom 项目版本:8 C 宿主机编译器:cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") 宿主机的 C 链接器:cc ld.bfd 2.34 宿主机 cpu 系列:x86_64 宿主机 cpu:x86_64 找到的程序 git:YES (/ usr / bin / git) 具有标题“stdc-predef.h”:是 C 编译器支持参数 -Wall:是 meson.build:63:警告:考虑使用内置的warning_level 选项而不是使用“-Wall”。C 编译器支持参数 -Wcast-function-type: YES C 编译器支持参数 -Wignored-qualifiers: YES C 编译器支持参数 -Wmissing-parameter-type: YES C 编译器支持参数 -Wnonnull:

    | 执行子项目 test.h 方法 meson | | 项目名称:test.h | 项目版本:未定义 | 主机的 C 编译器:cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") | 主机的 C 链接器:cc ld.bfd 2.34 | 项目中的构建目标:0 | 子项目 test.h 完成。

    找到 pkg-config:/usr/bin/pkg-config (0.29.1) 找到 CMake:/usr/bin/cmake (3.16.3) 找到运行时依赖 libev: NO (试过 pkgconfig 和 cmake) 找到库 ev: YES Library m found: YES Run-time dependency x11 found: YES 1.6.9 Run-time dependency x11-xcb found: YES 1.6.9 Run-time dependency xcb-renderutil found: YES 0.3.9 Run-time dependency xcb-image找到:是 0.4.0 找到运行时依赖 xext:是 1.3.4 找到运行时依赖 pixman-1:是 0.38.4 找到运行时依赖 xcb-render:是 1.14 找到运行时依赖 xcb-damage:是 1.14 找到运行时依赖 xcb-randr:是 1.14 找到运行时依赖 xcb-sync:是 1.14 找到运行时依赖 xcb-composite:是 1.14 找到运行时依赖 xcb-shape:是 1.14 运行时依赖找到 xcb-xinerama:是 1.14 找到运行时依赖项 xcb-xfixes:是 1。14 找到运行时依赖 xcb-present:是 1.14 找到运行时依赖 xcb-glx:是 1.14 找到运行时依赖 xcb:是 1.14 有标头“uthash.h”:是 找到运行时依赖 libconfig:是 1.5找到运行时依赖 libpcre:否(已尝试 pkgconfig 和 cmake)

    src / meson.build: 47: 1: ERROR: Dependency "libpcre" not found, 试过 pkgconfig 和 cmake

    完整的日志可以在 /home/rau/picom/build/meson-logs/meson-log.txt 找到

    我没有在存储库中找到 libpcre 依赖项。我找到了 libpcre3 并安装了它,通过突触寻找它。

    $ sudo apt install libpcre3

    然后:

    $ sudo meson --buildtype = 发布。build Meson 构建系统版本:0.53.2 源目录:/home/rau/picom 构建目录:/home/rau/picom/build 构建类型:native build 项目名称:picom 项目版本:8 C 宿主机编译器: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") 主机的 C 链接器:cc ld.bfd 2.34 主机 cpu 系列:x86_64 主机 cpu:x86_64 找到的程序 git:YES ( /usr/bin/git) 有头文件 "stdc-predef.h": YES Compiler for C supports arguments -Wall: YES meson.build:63: WARNING: 考虑使用内置的warning_level选项而不是使用“-Wall” . C 编译器支持参数 -Wcast-function-type: YES C 编译器支持参数 -Wignored-qualifiers: YES C 编译器支持参数 -Wmissing-parameter-type:

    | 执行子项目 test.h 方法 meson | | 项目名称:test.h | 项目版本:未定义 | 主机的 C 编译器:cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0") | 主机的 C 链接器:cc ld.bfd 2.34 | 项目中的构建目标:0 | 子项目 test.h 完成。

    找到 pkg-config:/usr/bin/pkg-config (1.6.3) 找到 CMake:/usr/bin/cmake (3.16.3) 找到运行时依赖 libev: NO (试过 pkgconfig 和 cmake) 找到库 ev: YES Library m found: YES Run-time dependency x11 found: YES 1.6.9 Run-time dependency x11-xcb found: YES 1.6.9 Run-time dependency xcb-renderutil found: YES 0.3.9 Run-time dependency xcb-image找到:是 0.4.0 找到运行时依赖 xext:是 1.3.4 找到运行时依赖 pixman-1:是 0.38.4 找到运行时依赖 xcb-render:是 1.14 找到运行时依赖 xcb-damage:是 1.14 找到运行时依赖 xcb-randr:是 1.14 找到运行时依赖 xcb-sync:是 1.14 找到运行时依赖 xcb-composite:是 1.14 找到运行时依赖 xcb-shape:是 1.14 运行时依赖找到 xcb-xinerama:是 1.14 找到运行时依赖项 xcb-xfixes:是 1。14 找到运行时依赖 xcb-present:是 1.14 找到运行时依赖 xcb-glx:是 1.14 找到运行时依赖 xcb:是 1.14 有标头“uthash.h”:是找到运行时依赖 libconfig:是 1.5找到运行时依赖libpcre:YES 8.39 找到运行时依赖gl:YES 1.2 找到运行时依赖dbus-1:YES 1.12.16 找到程序介子/install.sh:YES (/bin/sh /home/rau/ picom/meson/install.sh) 项目中的构建目标:1YES (/bin/sh /home/rau/picom/meson/install.sh) 项目中的构建目标:1YES (/bin/sh /home/rau/picom/meson/install.sh) 项目中的构建目标:1

    皮康8

      子项目 test.h:是

    在 /usr/bin/ninja 找到 ninja-1.10.0

    我没有在存储库中找到依赖项 libev 或其他与 libpcre 类似的依赖项,但它似乎不是很重要,因为我再次运行了命令:$ sudo meson --buildtype = release. 建造

    并返回:

    目录已配置。

    只需运行您的构建命令(例如 ninja),Meson 将根据需要重新生成。如果 ninja 失败,请运行“ninja reconfigure”或“meson --reconfigure”来强制 Meson 重新生成。

    如果构建失败仍然存在,请运行“meson setup --wipe”以使用与配置构建时传递的相同选项从头开始重建。要更改选项值,请改为运行“介子配置”。

    然后我执行:

    $ sudo ninja -C 构建

    ninja:进入目录 `build' [1/28] 编译 C 对象 'src / 25a6634 @@ picom @ exe / picom.co'。../src/picom.c:在函数'main'中:../src/picom.c:2419:4:警告:忽略'write'的返回值,用属性warn_unused_result声明[-Wunused-result] 2419 | 写 (pfds [1], & tmp, sizeof tmp); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [6/28] 编译C对象'src/25a6634@@picom@exe/ utils.co'。../src/utils.c:在函数'report_allocation_failure'中:../src/utils.c:29:2:警告:忽略'writev'的返回值,用属性warn_unused_result [-Wunused-result]声明29 | writev (STDERR_FILENO, v, ARR_SIZE (v)); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [11/28] 编译C对象'src/25a6634@ @picom @exe / log.co'。../src/log.c:在函数“file_logger_writev”中:../src/log.c:258:2:警告:忽略'writev'的返回值,用属性warn_unused_result声明[-Wunused-result] 258 | writev (fileno (f-> f), vec, vcnt); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [28/28] 链接目标src / picom。

    然后:

    $ sudo ninja -C 构建安装

    ninja: 进入目录`build' [0/1] 安装文件。安装src/picom到/usr/local/bin 安装/home/rau/picom/bin/picom-trans到/usr/local/bin 安装/home/rau/picom/compton.desktop到/usr/local/share/ applications 安装 /home/rau/picom/picom.desktop 到 /usr/local/share/applications 安装 /home/rau/picom/media/icons/48x48/compton.png 到 /usr/local/share/icons/hicolor/ 48x48 / 应用程序将 /home/rau/picom/media/compton.svg 安装到 /usr/local/share/icons/hicolor/scalable/apps 运行自定义安装脚本'/bin/sh /home/rau/picom/meson/install .sh' 将 picom 链接到 /usr/local/bin/compton 将 picom-trans 链接到 /usr/local/bin/compton-trans

    准备好!!!达成!!!

    后来我把已有的 picom.sample.conf 文件复制到 picom 文件夹中,重命名为 picom.conf 并保存在 ~/.config 文件夹中。我仍然在搞乱设置。我必须说它比 Compton 感觉更流畅,我更喜欢示例配置文件中包含的描述。只需单击保存即可应用许多设置,而无需终止 picom 并再次运行它。很抱歉放了所有代码,但我认为它可能对像我这样的其他初学者有用,它可以帮助他们熟悉这个过程。

    非常感谢大家提供的帮助。我真的很喜欢它。

    我应该将开场问题的名称更改为 picom 吗?

    我还有其他问题,例如:我必须为编译安装的所有依赖项怎么样?我应该卸载它们吗?如果我必须在某个时候重新安装系统,我是否必须重新编译它,或者有没有办法将它保存在 deb 包中?也许我应该为这些问题开辟一个新话题,但我认为它们是相关的,并且可能对其他人表示怀疑。

    • 2
  2. kanehekili
    2020-06-02T13:07:44+08:002020-06-02T13:07:44+08:00

    康普顿死了。它不再维护。玉石接手并调整了很多。请参阅此处了解更多信息。您的链接也基于来自 chjj 的原始 compton repo 的一个分支。

    picom(这是 compton 的新名称)解释了您需要编译哪些库。我使用 picom 有一段时间了——它考虑到了较新的显卡。如果你有旧硬件,你可能会坚持原来的康普顿。

    这可能不会让您直接达到目标,但在花时间编译未维护的软件之前,最好先转到已维护的软件……它有一个活跃的“问题”部分,您可以在其中询问您是否被卡住了.

    祝你好运。如果您能在成功时分享您的经验,那就太好了。

    • 0

相关问题

  • 我可以在不重新编译源代码的情况下重建包吗?

  • 如何在没有 sudo 权限的情况下构建应用程序?

  • 为 i7 处理器编译内核的最佳方法是什么?

  • 如何将具有依赖项的包上传到我的 PPA?

  • 如何让 .so 文件显示在包中?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve