Package Details: e4rat-lite-git 2.7.r90.ebf7d86-2

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: 6
Popularity: 0.81
First Submitted: 2016-07-28 01:59 (UTC)
Last Updated: 2022-03-30 00:32 (UTC)

Pinned Comments

cubethethird commented on 2016-09-13 01:51 (UTC)

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

13905069 commented on 2022-05-21 18:44 (UTC) (edited on 2022-06-12 03:56 (UTC) by 13905069)

Also,it doesn't write anything to startup.log.I add "audit=1" to my kernel parameters and enable auditd service.I see it executes systemd when booting,but it seems exit after that (no error).I can't see its process after I enter desktop. These are my kernel parameters:

GRUB_CMDLINE_LINUX_DEFAULT="audit=1 init=/usr/sbin/e4rat-lite-collect loglevel=6 resume=UUID=2d870469-0638-43c2-9e9e-165ffff73608"

churro commented on 2022-04-30 02:27 (UTC)

This isn't working for me, it compiles, installs, and runs... but it doesn't actually create the log after collecting data, nor does it append to it after I created the file myself. After closing the process using -k --verbose I could see the likely culprit - it's excluding every file it's detecting for some reason:

Generating exclude file list ... 1608 open files 0 parsed from /var/lib/e4rat-lite/startup.log Total number of excluded files: 1608

So I figure because it's excluding everything, it does nothing. Is this happening to anyone else?

cubethethird commented on 2022-03-07 18:28 (UTC)

I have applied the fix as a patch. I am however not currently able to test and verify that the package still functions correctly, only that it builds correctly.

jamestansx commented on 2022-03-07 03:57 (UTC)

I think the build error is caused by this function in listener.cc:

void addSyscall(struct audit_rule_data* rule, const char* sc, int machine)
{
    int syscall_nr;
    syscall_nr = audit_name_to_syscall(sc, machine);
    if(syscall_nr == -1)
        throw std::logic_error(_("Cannot convert syscall to number"));

    audit_rule_syscall_data(rule, syscall_nr);
}

It seems that audit_rule_syscall_data is not available but using audit_rule_syscallbyname_data (ref).

This seems to fix the problem:

void addSyscall(struct audit_rule_data* rule, const char* sc, int machine)
{
    audit_rule_syscallbyname_data(rule, sc);
}

cdison commented on 2022-02-20 16:04 (UTC)

I'm having the same problem building as simona.

/home/cdison/git/e4rat-lite-git/src/e4rat-lite/src/listener.cc: In function ‘void addSyscall(audit_rule_data*, const char*, int)’:
/home/cdison/git/e4rat-lite-git/src/e4rat-lite/src/listener.cc:161:5: error: ‘audit_rule_syscall_data’ was not declared in this scope; did you mean ‘audit_rule_syscallbyname_data’?
  161 |     audit_rule_syscall_data(rule, syscall_nr);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
      |     audit_rule_syscallbyname_data
make[2]: *** [src/CMakeFiles/e4rat-lite-collect.dir/build.make:104: src/CMakeFiles/e4rat-lite-collect.dir/listener.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:167: src/CMakeFiles/e4rat-lite-collect.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

simona commented on 2022-02-18 10:01 (UTC)

/home/simona/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/listener.cc: In function ‘void addSyscall(audit_rule_data, constchar, int)’:
/home/simona/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/listener.cc:161:5: error: ‘audit_rule_syscall_data’ was not declared in this scope; did you mean ‘audit_rule_syscallbyname_data’?
161 | audit_rule_syscall_data(rule, syscall_nr);
| ^~~~~~~~~~~~~~~~~~~~~~~
| audit_rule_syscallbyname_data
make[2]: *** [src/CMakeFiles/e4rat-lite-collect.dir/build.make:104: src/CMakeFiles/e4rat-lite-collect.dir/listener.cc.o] Errore 1

cubethethird commented on 2021-08-17 03:39 (UTC)

It would appear the upstream source has been updated, and from my testing has corrected the build errors. If any new issues crop up, feel free to comment here, however it would be wise to also notify on upstream github.

HotDogEnemy commented on 2021-06-22 12:38 (UTC)

Tried installing the package both manually and by using yay, it gives me a build() error:

-- Found Gettext: /usr/bin/msgmerge (found version "0.21") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/shivodit/e4rat-lite-git/src/build
[  5%] Building C object src/CMakeFiles/e4rat-lite-core.dir/config.c.o
[ 11%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/logging.cc.o
[ 16%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/common.cc.o
[ 22%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/fiemap.cc.o
[ 27%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/device.cc.o
In file included from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:20:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.hh:74:30: error: invalid use of incomplete type ‘class boost::shared_ptr<DevicePrivate>’
   74 | class Device: private boost::shared_ptr<DevicePrivate>
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/throw_exception.hpp:23,
                 from /usr/include/boost/regex/v5/regex_workaround.hpp:29,
                 from /usr/include/boost/regex/v5/regex.hpp:29,
                 from /usr/include/boost/regex.hpp:34,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/common.hh:27,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.hh:23,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:20:
/usr/include/boost/exception/exception.hpp:15:44: note: declaration of ‘class boost::shared_ptr<DevicePrivate>’
   15 | namespace boost { template <class T> class shared_ptr; }
      |                                            ^~~~~~~~~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In constructor ‘Device::Device(boost::filesystem::path)’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:97:14: error: type ‘boost::shared_ptr<DevicePrivate>’ is not a direct base of ‘Device’
   97 |     : boost::shared_ptr<DevicePrivate>(new DevicePrivate)
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:107:9: error: ‘get’ was not declared in this scope
  107 |         get()->devno = st.st_rdev;
      |         ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:107:9: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:109:9: error: ‘get’ was not declared in this scope
  109 |         get()->devno = st.st_dev;
      |         ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:109:9: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In constructor ‘Device::Device(dev_t)’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:113:14: error: type ‘boost::shared_ptr<DevicePrivate>’ is not a direct base of ‘Device’
  113 |     : boost::shared_ptr<DevicePrivate>(new DevicePrivate)
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:115:5: error: ‘get’ was not declared in this scope
  115 |     get()->devno = dev;
      |     ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:115:5: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘void Device::parseMtabFile(const char*)’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:134:25: error: ‘get’ was not declared in this scope
  134 |         if(st.st_dev == get()->devno)
      |                         ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:134:25: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘void Device::parseMtab()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:150:13: error: ‘get’ was not declared in this scope
  150 |         if( get()->fs_name == "ext2")
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:150:13: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘boost::filesystem::path Device::getMountPoint()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:162:8: error: ‘get’ was not declared in this scope
  162 |     if(get()->mount_point.empty())
      |        ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:162:8: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:165:12: error: ‘get’ was not declared in this scope
  165 |     return get()->mount_point;
      |            ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:165:12: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘bool Device::open()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:176:45: error: ‘get’ was not declared in this scope
  176 |                     0, 0, unix_io_manager, &get()->fs))
      |                                             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:176:45: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘std::string Device::getFileSystem()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:183:8: error: ‘get’ was not declared in this scope
  183 |     if(get()->fs_name.empty())
      |        ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:183:8: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:185:12: error: ‘get’ was not declared in this scope
  185 |     return get()->fs_name;
      |            ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:185:12: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘int Device::getDevNameFromDevfs()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:205:26: error: ‘get’ was not declared in this scope
  205 |         if(st.st_rdev == get()->devno && S_ISBLK(st.st_mode))
      |                          ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:205:26: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
In file included from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:35:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘int Device::getDevNameFromMajorMinor()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:221:23: error: ‘get’ was not declared in this scope
  221 |     int major = major(get()->devno);
      |                       ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:221:23: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘std::string Device::getDeviceName()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:284:12: error: ‘get’ was not declared in this scope
  284 |     return get()->deviceName;
      |            ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:284:12: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘std::string Device::getDevicePath()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:293:8: error: ‘get’ was not declared in this scope
  293 |     if(get()->devicePath.empty())
      |        ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:293:8: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:295:12: error: ‘get’ was not declared in this scope
  295 |     return get()->devicePath;
      |            ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:295:12: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
In file included from /usr/include/ext2fs/ext2fs.h:72,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.hh:26,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:20:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘bool Device::hasExtentFeature()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:339:38: error: ‘get’ was not declared in this scope
  339 |     return EXT2_HAS_INCOMPAT_FEATURE(get()->fs->super, EXT3_FEATURE_INCOMPAT_EXTENTS);
      |                                      ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:339:38: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘__u32 Device::getBlockSize()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:434:12: error: ‘get’ was not declared in this scope
  434 |     return get()->fs->blocksize;
      |            ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:434:12: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘__u32 Device::getGroupCount()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:439:12: error: ‘get’ was not declared in this scope
  439 |     return get()->fs->group_desc_count;
      |            ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:439:12: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘__u64 Device::freeBlocksPerFlex()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:444:33: error: ‘get’ was not declared in this scope
  444 |     return FREE_BLOCKS_PER_FLEX(get()->fs);
      |                                 ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:37:36: note: in definition of macro ‘BLOCKS_PER_GROUP’
   37 | #define BLOCKS_PER_GROUP(fs)      (fs->super->s_blocks_per_group)
      |                                    ^~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:44:36: note: in expansion of macro ‘FREE_BLOCKS_PER_GROUP’
   44 | #define FREE_BLOCKS_PER_FLEX(fs)  (FREE_BLOCKS_PER_GROUP(fs) << fs->super->s_log_groups_per_flex)
      |                                    ^~~~~~~~~~~~~~~~~~~~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:444:12: note: in expansion of macro ‘FREE_BLOCKS_PER_FLEX’
  444 |     return FREE_BLOCKS_PER_FLEX(get()->fs);
      |            ^~~~~~~~~~~~~~~~~~~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:444:33: note: suggested alternatives:
  444 |     return FREE_BLOCKS_PER_FLEX(get()->fs);
      |                                 ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:37:36: note: in definition of macro ‘BLOCKS_PER_GROUP’
   37 | #define BLOCKS_PER_GROUP(fs)      (fs->super->s_blocks_per_group)
      |                                    ^~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:44:36: note: in expansion of macro ‘FREE_BLOCKS_PER_GROUP’
   44 | #define FREE_BLOCKS_PER_FLEX(fs)  (FREE_BLOCKS_PER_GROUP(fs) << fs->super->s_log_groups_per_flex)
      |                                    ^~~~~~~~~~~~~~~~~~~~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:444:12: note: in expansion of macro ‘FREE_BLOCKS_PER_FLEX’
  444 |     return FREE_BLOCKS_PER_FLEX(get()->fs);
      |            ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘__u64 Device::freeBlocksPerGroup()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:449:34: error: ‘get’ was not declared in this scope
  449 |     return FREE_BLOCKS_PER_GROUP(get()->fs);
      |                                  ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:37:36: note: in definition of macro ‘BLOCKS_PER_GROUP’
   37 | #define BLOCKS_PER_GROUP(fs)      (fs->super->s_blocks_per_group)
      |                                    ^~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:449:12: note: in expansion of macro ‘FREE_BLOCKS_PER_GROUP’
  449 |     return FREE_BLOCKS_PER_GROUP(get()->fs);
      |            ^~~~~~~~~~~~~~~~~~~~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:449:34: note: suggested alternatives:
  449 |     return FREE_BLOCKS_PER_GROUP(get()->fs);
      |                                  ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:37:36: note: in definition of macro ‘BLOCKS_PER_GROUP’
   37 | #define BLOCKS_PER_GROUP(fs)      (fs->super->s_blocks_per_group)
      |                                    ^~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:449:12: note: in expansion of macro ‘FREE_BLOCKS_PER_GROUP’
  449 |     return FREE_BLOCKS_PER_GROUP(get()->fs);
      |            ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘__u32 Device::getBlocksPerGroup()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:454:29: error: ‘get’ was not declared in this scope
  454 |     return BLOCKS_PER_GROUP(get()->fs);
      |                             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:37:36: note: in definition of macro ‘BLOCKS_PER_GROUP’
   37 | #define BLOCKS_PER_GROUP(fs)      (fs->super->s_blocks_per_group)
      |                                    ^~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:454:29: note: suggested alternatives:
  454 |     return BLOCKS_PER_GROUP(get()->fs);
      |                             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:37:36: note: in definition of macro ‘BLOCKS_PER_GROUP’
   37 | #define BLOCKS_PER_GROUP(fs)      (fs->super->s_blocks_per_group)
      |                                    ^~
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘__u32 Device::getLogGroupsPerFlex()’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:459:12: error: ‘get’ was not declared in this scope
  459 |     return get()->fs->super->s_log_groups_per_flex;
      |            ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:459:12: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘bool Device::operator<(const Device&) const’:
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:464:12: error: ‘get’ was not declared in this scope
  464 |     return get()->devno < other.get()->devno;
      |            ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:464:12: note: suggested alternatives:
In file included from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:50,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:44,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:33:
/usr/include/boost/array.hpp:445:13: note:   ‘std::get’
  445 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/usr/include/boost/array.hpp:428:13: note:   ‘boost::get’
  428 |    const T &get(const boost::array<T,N> &arr) BOOST_NOEXCEPT {
      |             ^~~
/home/shivodit/e4rat-lite-git/src/e4rat-lite/src/device.cc:464:33: error: ‘const class Device’ has no member named ‘get’
  464 |     return get()->devno < other.get()->devno;
      |                                 ^~~
make[2]: *** [src/CMakeFiles/e4rat-lite-core.dir/build.make:132: src/CMakeFiles/e4rat-lite-core.dir/device.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:167: src/CMakeFiles/e4rat-lite-core.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

normalname012 commented on 2021-06-14 13:51 (UTC) (edited on 2021-06-14 13:53 (UTC) by normalname012)

[ 16%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/common.cc.o
[ 22%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/fiemap.cc.o
[ 27%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/device.cc.o
In file included from /home/sathya/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/device.cc:20:
/home/sathya/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/device.hh:74:30: error: invalid use of incomplete type ‘class boost::shared_ptr<DevicePrivate>’
   74 | class Device: private boost::shared_ptr<DevicePrivate>
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/throw_exception.hpp:23,
                 from /usr/include/boost/regex/v5/regex_workaround.hpp:29,
                 from /usr/include/boost/regex/v5/regex.hpp:29,
                 from /usr/include/boost/regex.hpp:34,
                 from /home/sathya/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/common.hh:27,
                 from /home/sathya/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/device.hh:23,
                 from /home/sathya/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/device.cc:20:
/usr/include/boost/exception/exception.hpp:15:44: note: declaration of ‘class boost::shared_ptr<DevicePrivate>’
   15 | namespace boost { template <class T> class shared_ptr; }
      |                                            ^~~~~~~~~~
/home/sathya/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/device.cc: In constructor ‘Device::Device(boost::filesystem::path)’:
/home/sathya/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/device.cc:97:14: error: type ‘boost::shared_ptr<DevicePrivate>’ is not a direct base of ‘Device’
   97 |     : boost::shared_ptr<DevicePrivate>(new DevicePrivate)
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/sathya/.cache/yay/e4rat-lite-git/src/e4rat-lite/src/device.cc:107:9: error: ‘get’ was not declared in this scope
  107 |         get()->devno = st.st_rdev;
      |         ^~~

I keep getting this error while building, not sure what to do

cubethethird commented on 2021-03-29 15:03 (UTC)

Your log shows /bin/sh: line 1: pod2man: command not found

Either your environment variables are messed up, or you don't have perl installed correctly (which provides that command).

Gotit commented on 2021-03-28 19:50 (UTC)

Gave it a shot, not much difference (I think)

$makepkg -s
==> Making package: e4rat-lite-git 2.7.r89.896e93a-1 (Sun 28 Mar 2021 03:44:51 PM EDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning e4rat-lite git repo...
Cloning into bare repository '/home/gotit/Downloads/e4rat/e4rat-lite-git/e4rat-lite'...
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 520 (delta 0), reused 1 (delta 0), pack-reused 515
Receiving objects: 100% (520/520), 201.02 KiB | 1.90 MiB/s, done.
Resolving deltas: 100% (286/286), done.
  -> Found e4rat-lite-git.install
  -> Found e4rat-lite-git-update.hook
==> Validating source files with md5sums...
    e4rat-lite ... Skipped
    e4rat-lite-git.install ... Passed
    e4rat-lite-git-update.hook ... Passed
==> Extracting sources...
  -> Creating working copy of e4rat-lite git repo...
Cloning into 'e4rat-lite'...
done.
==> Starting prepare()...
==> Starting pkgver()...
==> Starting build()...
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 10.2.0 -- The CXX compiler identification is GNU 10.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/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: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Boost: /usr/lib64/cmake/Boost-1.75.0/BoostConfig.cmake (found suitable version "1.75.0", minimum required is "1.41") found components: system filesystem regex CMake Deprecation Warning at src/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions.

-- 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
CMake Deprecation Warning at doc/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at po/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions.

-- Found Gettext: /usr/bin/msgmerge (found version "0.21") -- Configuring done -- Generating done -- Build files have been written to: /home/gotit/Downloads/e4rat/e4rat-lite-git/src/build /bin/sh: line 1: pod2man: command not found make[2]: [doc/CMakeFiles/ManPages.dir/build.make:70: ManPages] Error 127 make[1]: [CMakeFiles/Makefile2:271: doc/CMakeFiles/ManPages.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 5%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/logging.cc.o [ 11%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/common.cc.o [ 16%] Generating pt_BR.gmo [ 22%] Building C object src/CMakeFiles/e4rat-lite-core.dir/config.c.o [ 27%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/fiemap.cc.o [ 33%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/device.cc.o [ 33%] Built target pofiles [ 38%] Linking CXX shared library /home/gotit/Downloads/e4rat/e4rat-lite-git/src/e4rat-lite/libe4rat-lite-core.so [ 38%] Built target e4rat-lite-core make: [Makefile:136: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

cubethethird commented on 2021-03-28 02:57 (UTC)

@Gotit, please try to build the package manually using makepkg

Gotit commented on 2021-02-21 15:05 (UTC)

@cubethethird I'm building via Pamac 10.0.4-1. Not sure how to check if I have a clean environment. However, all other packages install and build OK.

cubethethird commented on 2021-02-05 03:31 (UTC)

@Gotit, how are you building the package? I've just tested and do not have issue. Can you ensure you are using a clean environment?

Gotit commented on 2021-02-03 17:49 (UTC) (edited on 2021-02-03 17:51 (UTC) by Gotit)

Getting a Make error:

[ 38%] Built target e4rat-lite-core

make: *** [Makefile:149: all] Error 2

==> ERROR: A failure occurred in build(). Aborting...

cubethethird commented on 2021-01-17 22:12 (UTC)

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 (UTC) (edited on 2020-12-15 04:54 (UTC) by Ebyd)

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 (UTC)

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

cubethethird commented on 2020-08-19 13:33 (UTC)

@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 (UTC) (edited on 2020-08-19 05:31 (UTC) by heraldofsolace)

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 (UTC) (edited on 2020-02-11 15:15 (UTC) by happycoder97)

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 (UTC)

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 (UTC)

@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 (UTC)

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 (UTC) (edited on 2018-09-20 14:38 (UTC) by happycoder97)

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

happycoder97 commented on 2018-09-20 14:18 (UTC) (edited on 2018-09-20 14:22 (UTC) by happycoder97)

Build fails with the following error:

Scanning dependencies of target e4rat-lite-core  
[  5%] Building C object src/CMakeFiles/e4rat-lite-core.dir/config.c.o  
[ 11%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir  /logging.cc.o  
[ 16%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/common.cc.o  
[ 22%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/fiemap.cc.o  
[ 27%] Building CXX object src/CMakeFiles/e4rat-lite-core.dir/device.cc.o  
/tmp/yaourt-tmp-farzeen/aur-e4rat-lite-git/src/e4rat-lite/src/device.cc: In member function ‘int Device::getDevNameFromMajorMinor()’:    
/tmp/yaourt-tmp-farzeen/aur-e4rat-lite-git/src/e4rat-lite/src/device.cc:219:35: error: ‘major’ cannot be used as a function  
     int major = major(get()->devno);  
                                   ^  
/tmp/yaourt-tmp-farzeen/aur-e4rat-lite-git/src/e4rat-lite/src/device.cc:220:35: error: ‘minor’ cannot be used as a function  
     int minor = minor(get()->devno);  
                                   ^  
make[2]: *** [src/CMakeFiles/e4rat-lite-core.dir/build.make:115: src/CMakeFiles/e4rat-lite-core.dir/device.cc.o] Error 1  
make[1]: *** [CMakeFiles/Makefile2:166: src/CMakeFiles/e4rat-lite-core.dir/all] Error 2  
make: *** [Makefile:130: all] Error 2  

An older build log found by googling gave warnings about the definition of major and minor being moved into <sys/sysmacros.h> in future versions of GNU C library. http://people.slitaz.org/~az_ua/m/log-next/e4rat.log

cubethethird commented on 2017-02-12 19:45 (UTC)

Unfortunately I can't add linux-zen as a dependency, as that would require all users to install it. Instead, I removed the existing linux dependency. I'm surprised the linux-zen package does not provide linux, as many of the other kernel packages do. Considering the required linux kernel version is fairly old at this point, I don't expect it will cause any issues to remove this requirement. I don't know if linux-zen is built with auditing support, but if not, you will need to use (or build) a kernel with it enabled to use the e4rat-lite-collect procedure with success. Once that is done the auditing is not required.

ltorvalds024 commented on 2017-02-12 09:39 (UTC)

Please include `linux-zen` as dependency. I don't use `linux`, I use `linux-zen`

cubethethird commented on 2016-09-13 01:51 (UTC)

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.

cubethethird commented on 2016-09-13 01:47 (UTC)

A recent update (most likely to boost) may lead to kernel panics when booting, if e4rat-lite was built before the update. Re-building the package corrects the issue.