Package Details: e4rat-lite-git 2.7.r89.896e93a-1

Git Clone URL: https://aur.archlinux.org/e4rat-lite-git.git (read-only, click to copy)
Package Base: e4rat-lite-git
Description: An improved version of e4rat, a toolset to accelerate the boot process and application startups.
Upstream URL: https://github.com/LendyZhang/e4rat-lite
Licenses: GPL3
Conflicts: e4rat-lite, e4rat-preload-lite, e4rat-preload-lite-git, ureadahead
Submitter: cubethethird
Maintainer: cubethethird
Last Packager: cubethethird
Votes: 5
Popularity: 0.000000
First Submitted: 2016-07-28 01:59
Last Updated: 2021-01-17 22:10

Dependencies (9)

Required by (0)

Sources (3)

Pinned Comments

cubethethird commented on 2016-09-13 01:51

This package provides some improvements over the original e4rat package, and circumvents some usability issues.
To use the tools included with the package, follow the instructions upstream:
https://github.com/ShyPixie/e4rat-lite#how-to-use

Note that in order to use the audit tools, a kernel build with auditing support enabled is required.

Latest Comments

1 2 Next › Last »

cubethethird commented on 2021-01-17 22:12

Discovered that there was a fork of the upstream with patches to fix the build issues. The package has been updated and should now work normally.

Ebyd commented on 2020-12-15 04:36

I had a kernel panic after a kernel update so I decided to remove it from the kernel parameter. I tried using the collect binary again but it also resulted in a kernel panic. So I tried rebuilding the package but there are some build error

In file included from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:24,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh: In member function ‘void AuditListener::undoOneventParsed(void (T::*)(boost::shared_ptr<AuditEvent>), T*)’:
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:45:17: error: ‘_1’ was not declared in this scope
   45 | #define BIND1ST _1
      |                 ^~
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:57:47: note: in definition of macro ‘VA_NUM_ARGS_IMPL’
   57 | #define VA_NUM_ARGS_IMPL(_1,_2,_3,_4,_5,N,...)N
      |                                               ^
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:56:43: note: in expansion of macro ‘BIND1ST’
   56 |                                           BIND1ST)
      |                                           ^~~~~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:77:55: note: in expansion of macro ‘VA_NUM_ARGS’
   77 |             signame.disconnect(boost::bind(func, obj, VA_NUM_ARGS(args)));  \
      |                                                       ^~~~~~~~~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:84:5: note: in expansion of macro ‘DECLARE_DISCONNECT_FUNCTION’
   84 |     DECLARE_DISCONNECT_FUNCTION(name,args)                                  \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:72:9: note: in expansion of macro ‘SIGNAL’
   72 |         SIGNAL(eventParsed, boost::shared_ptr<AuditEvent>);
      |         ^~~~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:45:17: note: suggested alternatives:
   45 | #define BIND1ST _1
      |                 ^~
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:57:47: note: in definition of macro ‘VA_NUM_ARGS_IMPL’
   57 | #define VA_NUM_ARGS_IMPL(_1,_2,_3,_4,_5,N,...)N
      |                                               ^
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:56:43: note: in expansion of macro ‘BIND1ST’
   56 |                                           BIND1ST)
      |                                           ^~~~~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:77:55: note: in expansion of macro ‘VA_NUM_ARGS’
   77 |             signame.disconnect(boost::bind(func, obj, VA_NUM_ARGS(args)));  \
      |                                                       ^~~~~~~~~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:84:5: note: in expansion of macro ‘DECLARE_DISCONNECT_FUNCTION’
   84 |     DECLARE_DISCONNECT_FUNCTION(name,args)                                  \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:72:9: note: in expansion of macro ‘SIGNAL’
   72 |         SIGNAL(eventParsed, boost::shared_ptr<AuditEvent>);
      |         ^~~~~~
In file included from /usr/include/boost/mpl/aux_/include_preprocessed.hpp:37,
                 from /usr/include/boost/mpl/placeholders.hpp:43,
                 from /usr/include/boost/iterator/iterator_categories.hpp:16,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:29,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/common.hh:26,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:23,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:29:16: note:   ‘mpl_::_1’
   29 | typedef arg<1> _1;
      |                ^~
In file included from /usr/include/boost/system/detail/error_category.hpp:17,
                 from /usr/include/boost/system/detail/error_code.hpp:13,
                 from /usr/include/boost/system/error_code.hpp:13,
                 from /usr/include/boost/filesystem/path_traits.hpp:22,
                 from /usr/include/boost/filesystem/path.hpp:26,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/common.hh:26,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:23,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/c++/10.2.0/functional:221:34: note:   ‘std::placeholders::_1’
  221 |     extern const _Placeholder<1> _1;
      |                                  ^~
In file included from /usr/include/boost/mpl/aux_/include_preprocessed.hpp:37,
                 from /usr/include/boost/mpl/placeholders.hpp:43,
                 from /usr/include/boost/iterator/iterator_categories.hpp:16,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:29,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/common.hh:26,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:23,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:29:16: note:   ‘mpl_::_1’
   29 | typedef arg<1> _1;
      |                ^~
In file included from /usr/include/boost/bind/bind.hpp:2335,
                 from /usr/include/boost/signals2/slot.hpp:15,
                 from /usr/include/boost/signals2/connection.hpp:25,
                 from /usr/include/boost/signals2/signal.hpp:22,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:42,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:24,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/boost/bind/placeholders.hpp:58:38: note:   ‘boost::placeholders::_1’
   58 | BOOST_STATIC_CONSTEXPR boost::arg<1> _1;
      |                                      ^~
In file included from /usr/include/boost/mpl/aux_/include_preprocessed.hpp:37,
                 from /usr/include/boost/mpl/placeholders.hpp:43,
                 from /usr/include/boost/iterator/iterator_categories.hpp:16,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:29,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/common.hh:26,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:23,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:29:16: note:   ‘mpl_::_1’
   29 | typedef arg<1> _1;
      |                ^~
In file included from /tmp/e4rat-lite-git/src/e4rat-lite/src/eventcatcher.hh:25,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:26:
/tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc: In function ‘int main(int, char**)’:
/tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:444:92: error: ‘_1’ was not declared in this scope
  444 | tParsed, boost::bind(&EventCatcher::handleAuditEvent, &project, _1));
      |                                                                 ^~

/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:90:62: note: in definition of macro ‘CONNECT’
   90 | #define CONNECT(sender, signal, slot) (sender)->doOn##signal(slot)
      |                                                              ^~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:444:92: note: suggested alternatives:
  444 | tParsed, boost::bind(&EventCatcher::handleAuditEvent, &project, _1));
      |                                                                 ^~

/tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:90:62: note: in definition of macro ‘CONNECT’
   90 | #define CONNECT(sender, signal, slot) (sender)->doOn##signal(slot)
      |                                                              ^~~~
In file included from /usr/include/boost/mpl/aux_/include_preprocessed.hpp:37,
                 from /usr/include/boost/mpl/placeholders.hpp:43,
                 from /usr/include/boost/iterator/iterator_categories.hpp:16,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:29,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/common.hh:26,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:23,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:29:16: note:   ‘mpl_::_1’
   29 | typedef arg<1> _1;
      |                ^~
In file included from /usr/include/boost/system/detail/error_category.hpp:17,
                 from /usr/include/boost/system/detail/error_code.hpp:13,
                 from /usr/include/boost/system/error_code.hpp:13,
                 from /usr/include/boost/filesystem/path_traits.hpp:22,
                 from /usr/include/boost/filesystem/path.hpp:26,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/common.hh:26,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:23,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/c++/10.2.0/functional:221:34: note:   ‘std::placeholders::_1’
  221 |     extern const _Placeholder<1> _1;
      |                                  ^~
In file included from /usr/include/boost/mpl/aux_/include_preprocessed.hpp:37,
                 from /usr/include/boost/mpl/placeholders.hpp:43,
                 from /usr/include/boost/iterator/iterator_categories.hpp:16,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:29,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/common.hh:26,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:23,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:29:16: note:   ‘mpl_::_1’
   29 | typedef arg<1> _1;
      |                ^~
In file included from /usr/include/boost/bind/bind.hpp:2335,
                 from /usr/include/boost/signals2/slot.hpp:15,
                 from /usr/include/boost/signals2/connection.hpp:25,
                 from /usr/include/boost/signals2/signal.hpp:22,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/signals.hh:42,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:24,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/boost/bind/placeholders.hpp:58:38: note:   ‘boost::placeholders::_1’
   58 | BOOST_STATIC_CONSTEXPR boost::arg<1> _1;
      |                                      ^~
In file included from /usr/include/boost/mpl/aux_/include_preprocessed.hpp:37,
                 from /usr/include/boost/mpl/placeholders.hpp:43,
                 from /usr/include/boost/iterator/iterator_categories.hpp:16,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:29,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/common.hh:26,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/listener.hh:23,
                 from /tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:21:
/usr/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:29:16: note:   ‘mpl_::_1’
   29 | typedef arg<1> _1;
      |                ^~
/tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc: In function ‘int system_u(const char*, const char*)’:
/tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:135:23: warning: ignoring return value of ‘int setuid(__uid_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  135 |                 setuid(pw->pw_uid);
      |                 ~~~~~~^~~~~~~~~~~~
/tmp/e4rat-lite-git/src/e4rat-lite/src/e4rat-collect.cc:136:23: warning: ignoring return value of ‘int setgid(__gid_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  136 |                 setgid(pw->pw_gid);
      |                 ~~~~~~^~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/e4rat-lite-collect.dir/build.make:82: src/CMakeFiles/e4rat-lite-collect.dir/e4rat-collect.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:270: src/CMakeFiles/e4rat-lite-collect.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

heraldofsolace commented on 2020-08-19 15:15

@cubethethird, it turns out that I indeed have /bin in my $PATH. Thanks

cubethethird commented on 2020-08-19 13:33

@heraldofsolace, I am unable to reproduce this issue, as it appears to be the result of non-standard configurations on your end. Sources tell me this is a bug with cmake that only occurs if you explicitly add /bin to your PATH (which you shouldn't do).

heraldofsolace commented on 2020-08-19 05:24

Getting some error with boost.

-- The C compiler identification is GNU 10.1.0
-- The CXX compiler identification is GNU 10.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /lib64/cmake/Boost-1.72.0/BoostConfig.cmake (found suitable version "1.72.0", minimum required is "1.41") found components: system filesystem regex
-- Found ext2fs: /usr/lib/libext2fs.so
-- Found audit: /usr/lib/libaudit.so
-- Found auparse: /usr/lib/libauparse.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Gettext: /bin/msgmerge (found version "0.20.2")
-- Configuring done
CMake Error in src/CMakeLists.txt:
  Imported target "Boost::system" includes non-existent path

    "/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
   provide.



 CMake Error in src/CMakeLists.txt:
   Imported target "Boost::system" includes non-existent path

     "/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
   provide.



 CMake Error in src/CMakeLists.txt:
   Imported target "Boost::system" includes non-existent path

    "/include"

   in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

   * The path was deleted, renamed, or moved to another location.

   * An install or uninstall procedure did not complete successfully.

   * The installation package was faulty and references files it does not
   provide.



 CMake Error in src/CMakeLists.txt:
   Imported target "Boost::system" includes non-existent path

     "/include"

   in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

   * The path was deleted, renamed, or moved to another location.

   * An install or uninstall procedure did not complete successfully.

   * The installation package was faulty and references files it does not
   provide.



 -- Generating done
 CMake Generate step failed.  Build files cannot be regenerated correctly.

happycoder97 commented on 2020-02-11 15:14

Here's a working patch:

diff --git CMakeLists.txt CMakeLists.txt
index 10969c2..dd28028 100644
--- e4rat-lite/CMakeLists.txt
+++ e4rat-lite/CMakeLists.txt
@@ -20,7 +20,7 @@ IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
 ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)

 set(Boost_USE_STATIC_LIBS   OFF)
-set(Boost_USE_MULTITHREADED OFF)
+set(Boost_USE_MULTITHREADED ON)
 find_package(Boost 1.41 COMPONENTS system filesystem regex REQUIRED)
 set(${PROJECT_NAME}_LIBRARIES   ${${PROJECT_NAME}_LIBRARIES}
     ${Boost_LIBRARIES})

Add this at the end of prepare() function in PKGBUILD:

patch -p1 < ../cmake_boost.patch

happycoder97 commented on 2020-02-11 14:56

There seems to be some error with latest boost:

==> Starting build()...
-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /usr/lib64/cmake/Boost-1.72.0/BoostConfig.cmake:120 (find_package):
  Found package configuration file:

    /usr/lib64/cmake/boost_system-1.72.0/boost_system-config.cmake

  but it set boost_system_FOUND to FALSE so package "boost_system" is
  considered to be NOT FOUND.  Reason given by package:

  No suitable build variant has been found.

  The following variants have been tried and rejected:

  * libboost_system.so.1.72.0 (multithreaded, Boost_USE_MULTITHREADED=OFF)

  * libboost_system.a (static, Boost_USE_STATIC_LIBS=OFF)

Call Stack (most recent call first):
  /usr/lib64/cmake/Boost-1.72.0/BoostConfig.cmake:185 (boost_find_component)
  /usr/share/cmake-3.16/Modules/FindBoost.cmake:443 (find_package)
  CMakeLists.txt:24 (find_package)


CMake Warning (dev) in /usr/share/cmake-3.16/Modules/FindBoost.cmake:
  Policy CMP0011 is not set: Included scripts do automatic cmake_policy PUSH
  and POP.  Run "cmake --help-policy CMP0011" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  The included script

    /usr/share/cmake-3.16/Modules/FindBoost.cmake

  affects policy settings.  CMake is implying the NO_POLICY_SCOPE option for
  compatibility, so the effects are applied to the including context.
Call Stack (most recent call first):
  CMakeLists.txt:24 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring incomplete, errors occurred!
See also "/home/farzeen/.cache/yay/e4rat-lite-git/src/build/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
    Aborting...
Error making: e4rat-lite-git

cubethethird commented on 2019-08-05 03:03

@johnywhy, rebuilding audit is not required for this package. Also, now that auditing support is natively enabled on the base kernel, you don't need to build that either.

johnywhy commented on 2019-08-04 16:29

This article says "you must first rebuild audit", to use the original e4rat. https://wiki.archlinux.org/index.php/E4rat

Is the same true of e4rat-lite?

thx

happycoder97 commented on 2018-09-20 14:37

Here's a working patch:

diff -Naur -b '--to-file=e4rat-lite-patched/src/' -x '*.o' -x '*.tu' e4rat-lite/src/device.cc e4rat-lite-patched/src/device.cc
--- e4rat-lite/src/device.cc    2018-09-20 19:40:39.823493172 +0530
+++ e4rat-lite-patched/src/device.cc    2018-09-20 19:54:10.323375842 +0530
@@ -32,6 +32,8 @@

 #include <boost/lexical_cast.hpp>

+#include <sys/sysmacros.h>
+
 #define BLOCKS_PER_GROUP(fs)      (fs->super->s_blocks_per_group)
 #define BLOCKS_PER_FLEX(fs)       (BLOCKS_PER_GROUP(fs) << fs->super->s_log_groups_per_flex)
 #define FREE_BLOCKS_PER_GROUP(fs) ( BLOCKS_PER_GROUP(fs)        \

diff -Naur -b '--to-file=e4rat-lite-patched/src/' -x '*.o' -x '*.tu' e4rat-lite/src/e4rat-collect.cc e4rat-lite-patched/src/e4rat-collect.cc
--- e4rat-lite/src/e4rat-collect.cc 2018-09-20 19:40:39.823493172 +0530
+++ e4rat-lite-patched/src/e4rat-collect.cc 2018-09-20 19:59:25.503867639 +0530
@@ -48,6 +48,8 @@

 #include <boost/foreach.hpp>

+#include <sys/sysmacros.h>
+
 #define PID_FILE "/dev/.e4rat-lite-collect.pid"
 #define MATCH(s, n) strcmp(section, s) == 0 && strcmp(name, n) == 0

diff -Naur -b '--to-file=e4rat-lite-patched/src/' -x '*.o' -x '*.tu' e4rat-lite/src/listener.cc e4rat-lite-patched/src/listener.cc
--- e4rat-lite/src/listener.cc  2018-09-20 19:40:39.826826547 +0530
+++ e4rat-lite-patched/src/listener.cc  2018-09-20 20:04:09.833981860 +0530
@@ -43,6 +43,8 @@

 #include <fstream>

+#include <sys/sysmacros.h>
+
 std::string getProcessName(pid_t pid)
 {
     std::string comm;

Add this at the end of prepare() function in PKGBUILD:

    cd "$srcdir"/$_gitname
    patch -p1 < ../sysmacros_h.patch