Wednesday, May 8, 2024
 Popular · Latest · Hot · Upcoming
2
rated 0 times [  2] [ 0]  / answers: 1 / hits: 5084  / 3 Years ago, mon, july 12, 2021, 10:00:57

could someone help me compile this Compton fork?


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


.I have followed the instructions here: github.com/tryone144/compton/blob/improved_fbo/README_orig.md


I installed the dependencies, I am really a bit lost in everything I have to do. It would be a great help if someone could take the time


I still don't understand how to clone from git, so I downloaded the zip, clicking on Code and then the clone or download button, then extracted it and followed the instructions in README_org.md file. I installed the dependencies, then opened a terminal in the extracted folder and ran:


rau @ rau-B250M-DS3H: ~ / Desktop / compton-improved_fbo $ sudo make
[sudo] password for rau:
make: pcre-config: The program was not found
fatal: not a git repository (nor any of the top directories): .git
fatal: not a git repository (nor any of the top directories): .git
make: pcre-config: The program was not found cc -std = c99
-DCONFIG_XINERAMA -DCONFIG_LIBCONFIG -DCONFIG_REGEX_PCRE -DCONFIG_REGEX_PCRE_JIT -DCONFIG_VSYNC_DRM -DCONFIG_VSYNC_OPENGL -DCONFIG_VSYNC_OPENGL_GLSL -DCONFIG_VSYNC_OPENGL_FBO -DCONFIG_VSYNC_OPENGL_VBO -DCONFIG_DBUS -DCONFIG_XSYNC -DCONFIG_C2 -DCOMPTON_VERSION = "" git - "" -Wall -I / usr / include / libdrm -I / usr / include / dbus-1.0 -I / usr / lib / x86_64-linux-gnu / dbus-1.0 / include -c src / c2.c In file included from src / c2.c: 11: src / c2.h: 18: 10:
fatal error: pcre.h: File or directory does not exist 18 |
#include | ^ ~~~~~~~ compilation terminated. make: ***
[Makefile: 141: c2.o] Error 1
rau@rau-B250M-DS3H:~/Desktop/compton-improved_fbo$

More From » compiling

 Answers
4

I decided to follow the advice of kanehekili and went in search of picom. I have solved two questions in one:
I learned how to clone git, before I had to install git



$ sudo apt install git
The address to clone comes from the clone button or download Zip (how silly I am). So:



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



The download is saved in the personal folder, with the name picom



Then I installed the dependencies for 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 uthash-dev libev-dev libx11-xcb -dev



I also had to install cmake and meson



$ sudo apt install cmake meson



Then following the instructions:
 
$ git submodule update --init --recursive
$ sudo meson --buildtype = release. build



The Meson build system
Version: 0.53.2
Source dir: / home / rau / picom
Build dir: / home / rau / picom / build
Build type: native build
Project name: picom
Project version: 8
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program git found: YES (/ usr / bin / git)
Has header "stdc-predef.h": YES
Compiler for C supports arguments -Wall: YES
meson.build:63: WARNING: Consider using the built-in warning_level option instead of using "-Wall".
Compiler for C supports arguments -Wcast-function-type: YES
Compiler for C supports arguments -Wignored-qualifiers: YES
Compiler for C supports arguments -Wmissing-parameter-type: YES
Compiler for C supports arguments -Wnonnull: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wno-type-limits -Wtype-limits: YES
Compiler for C supports arguments -Wold-style-declaration: YES
Compiler for C supports arguments -Woverride-init: YES
Compiler for C supports arguments -Wsign-compare: YES
Compiler for C supports arguments -Wtype-limits: YES
Compiler for C supports arguments -Wuninitialized: YES
Compiler for C supports arguments -Wshift-negative-value: YES
Compiler for C supports arguments -Wunused-but-set-parameter: YES
Compiler for C supports arguments -Wunused-parameter: YES
Compiler for C supports arguments -Wimplicit-fallthrough: YES
Compiler for C supports arguments -Wno-unknown-warning-option -Wunknown-warning-option: NO
Compiler for C supports arguments -Wno-missing-braces -Wmissing-braces: YES
Compiler for C supports arguments -Wconversion: YES
Compiler for C supports arguments -Wempty-body: YES



| Executing subproject test.h method meson
|
| Project name: test.h
| Project version: undefined
| C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0")
| C linker for the host machine: cc ld.bfd 2.34
| Build targets in project: 0
| Subproject test.h finished.



Found pkg-config: / usr / bin / pkg-config (0.29.1)
Found CMake: / usr / bin / cmake (3.16.3)
Run-time dependency libev found: NO (tried pkgconfig and cmake)
Library ev found: 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 found: YES 0.4.0
Run-time dependency xext found: YES 1.3.4
Run-time dependency pixman-1 found: YES 0.38.4
Run-time dependency xcb-render found: YES 1.14
Run-time dependency xcb-damage found: YES 1.14
Run-time dependency xcb-randr found: YES 1.14
Run-time dependency xcb-sync found: YES 1.14
Run-time dependency xcb-composite found: YES 1.14
Run-time dependency xcb-shape found: YES 1.14
Run-time dependency xcb-xinerama found: YES 1.14
Run-time dependency xcb-xfixes found: YES 1.14
Run-time dependency xcb-present found: YES 1.14
Run-time dependency xcb-glx found: YES 1.14
Run-time dependency xcb found: YES 1.14
Has header "uthash.h": YES
Run-time dependency libconfig found: YES 1.5
Run-time dependency libpcre found: NO (tried pkgconfig and cmake)



src / meson.build: 47: 1: ERROR: Dependency "libpcre" not found, tried pkgconfig and cmake



A full log can be found at /home/rau/picom/build/meson-logs/meson-log.txt



I did not find the libpcre dependency in the repository. I found libpcre3 and Installed it, looked for it by synaptic.



$ sudo apt install libpcre3



Then:



$ sudo meson --buildtype = release. build
The Meson build system
Version: 0.53.2
Source dir: / home / rau / picom
Build dir: / home / rau / picom / build
Build type: native build
Project name: picom
Project version: 8
C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0")
C linker for the host machine: cc ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program git found: YES (/ usr / bin / git)
Has header "stdc-predef.h": YES
Compiler for C supports arguments -Wall: YES
meson.build:63: WARNING: Consider using the built-in warning_level option instead of using "-Wall".
Compiler for C supports arguments -Wcast-function-type: YES
Compiler for C supports arguments -Wignored-qualifiers: YES
Compiler for C supports arguments -Wmissing-parameter-type: YES
Compiler for C supports arguments -Wnonnull: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wno-type-limits -Wtype-limits: YES
Compiler for C supports arguments -Wold-style-declaration: YES
Compiler for C supports arguments -Woverride-init: YES
Compiler for C supports arguments -Wsign-compare: YES
Compiler for C supports arguments -Wtype-limits: YES
Compiler for C supports arguments -Wuninitialized: YES
Compiler for C supports arguments -Wshift-negative-value: YES
Compiler for C supports arguments -Wunused-but-set-parameter: YES
Compiler for C supports arguments -Wunused-parameter: YES
Compiler for C supports arguments -Wimplicit-fallthrough: YES
Compiler for C supports arguments -Wno-unknown-warning-option -Wunknown-warning-option: NO
Compiler for C supports arguments -Wno-missing-braces -Wmissing-braces: YES
Compiler for C supports arguments -Wconversion: YES
Compiler for C supports arguments -Wempty-body: YES



| Executing subproject test.h method meson
|
| Project name: test.h
| Project version: undefined
| C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-10ubuntu2) 9.3.0")
| C linker for the host machine: cc ld.bfd 2.34
| Build targets in project: 0
| Subproject test.h finished.



Found pkg-config: / usr / bin / pkg-config (1.6.3)
Found CMake: / usr / bin / cmake (3.16.3)
Run-time dependency libev found: NO (tried pkgconfig and cmake)
Library ev found: 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 found: YES 0.4.0
Run-time dependency xext found: YES 1.3.4
Run-time dependency pixman-1 found: YES 0.38.4
Run-time dependency xcb-render found: YES 1.14
Run-time dependency xcb-damage found: YES 1.14
Run-time dependency xcb-randr found: YES 1.14
Run-time dependency xcb-sync found: YES 1.14
Run-time dependency xcb-composite found: YES 1.14
Run-time dependency xcb-shape found: YES 1.14
Run-time dependency xcb-xinerama found: YES 1.14
Run-time dependency xcb-xfixes found: YES 1.14
Run-time dependency xcb-present found: YES 1.14
Run-time dependency xcb-glx found: YES 1.14
Run-time dependency xcb found: YES 1.14
Has header "uthash.h": YES
Run-time dependency libconfig found: YES 1.5
Run-time dependency libpcre found: YES 8.39
Run-time dependency gl found: YES 1.2
Run-time dependency dbus-1 found: YES 1.12.16
Program meson / install.sh found: YES (/ bin / sh /home/rau/picom/meson/install.sh)
Build targets in project: 1



picom 8



  Subprojects
    test.h: YES



Found ninja-1.10.0 at / usr / bin / ninja



I did not find the dependency libev in the repository or another similar one as in the case of libpcre but it seems that it was not very important because I ran the command again:
$ sudo meson --buildtype = release. build



And returned:



Directory already configured.



Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson --reconfigure"
to force Meson to regenerate.



If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.



Then I executed:



$ sudo ninja -C build



ninja: Entering directory `build '
[1/28] Compiling C object 'src / 25a6634 @@ picom @ exe / picom.c.o'.
../src/picom.c: In function ‘main’:
../src/picom.c:2419:4: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
 2419 | write (pfds [1], & tmp, sizeof tmp);
      | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[6/28] Compiling C object 'src / 25a6634 @@ picom @ exe / utils.c.o'.
../src/utils.c: In function ‘report_allocation_failure’:
../src/utils.c:29:2: warning: ignoring return value of ‘writev’, declared with attribute warn_unused_result [-Wunused-result]
   29 | writev (STDERR_FILENO, v, ARR_SIZE (v));
      | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[11/28] Compiling C object 'src / 25a6634 @@ picom @ exe / log.c.o'.
../src/log.c: In function ‘file_logger_writev’:
../src/log.c:258:2: warning: ignoring return value of 'writev', declared with attribute warn_unused_result [-Wunused-result]
  258 | writev (fileno (f-> f), vec, vcnt);
      | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[28/28] Linking target src / picom.



And later:



$ sudo ninja -C build install



ninja: Entering directory `build '
[0/1] Installing files.
Installing src / picom to / usr / local / bin
Installing / home / rau / picom / bin / picom-trans to / usr / local / bin
Installing /home/rau/picom/compton.desktop to / usr / local / share / applications
Installing /home/rau/picom/picom.desktop to / usr / local / share / applications
Installing /home/rau/picom/media/icons/48x48/compton.png to / usr / local / share / icons / hicolor / 48x48 / apps
Installing /home/rau/picom/media/compton.svg to / usr / local / share / icons / hicolor / scalable / apps
Running custom install script '/ bin / sh /home/rau/picom/meson/install.sh'
Linking picom to / usr / local / bin / compton
Linking picom-trans to / usr / local / bin / compton-trans



Ready!!! accomplished!!!



Later I copied the existing picom.sample.conf file into the picom folder, renamed it to picom.conf and saved it in the ~ / .config folder.
I'm still messing around with the settings. I must say that it feels more fluid than Compton and I liked the description included in the sample configuration file better. Many of the settings are applied just by clicking save, without having to kill picom and run it again. Sorry to put all the code, but I think it may be useful for other beginners like me, it could help them get familiar with the process.



Thank you all very much for the help provided. I really really enjoyed it.



Should I change the name of the opening question to picom?



I have other questions like: What about all the dependencies I had to install for compilation? Should I uninstall them?
If I had to reinstall the system at some point would I have to recompile it or is there a way to save it maybe in deb packages?
Maybe I should open a new topic for these questions but I think they are related and may be doubts about it for others.


[#3307] Tuesday, July 13, 2021, 3 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ormlai

Total Points: 292
Total Questions: 106
Total Answers: 115

Location: Cape Verde
Member since Fri, Sep 16, 2022
2 Years ago
ormlai questions
Wed, Sep 28, 22, 00:17, 2 Years ago
Sun, Aug 7, 22, 22:05, 2 Years ago
Wed, Jun 16, 21, 03:50, 3 Years ago
Sun, Feb 6, 22, 09:11, 2 Years ago
Sat, Jun 25, 22, 07:55, 2 Years ago
;