You are not logged in.

#1 2022-07-24 13:21:54

13905069
Member
From: China
Registered: 2022-04-21
Posts: 17

[SOLVED]Cannot compile audit(from ABS)

I want to install e4rat because my system boot slowly.Wiki says I need to rebuild audit from the ABS with staticlibs option explicitly enabled,so I run asp export audit,then change options=(debug emptydirs) to options=(debug emptydirs staticlibs).After that,I run makepkg.However,I can't compile.Here is output:

...
Making all in python
make[4]: Entering directory '/build/audit/src/audit-3.0.8/bindings/swig/python'
swig -o audit_wrap.c -python -I. -I../../.. -I../../../lib -I/usr/include/python3.10 ./../src/auditswig.i 
/bin/sh ../../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../..  -I. -I../../.. -I../../../lib -I/usr/include/python3.10  -shared -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/audit/src=/usr/src/debug -flto=auto -MT _audit_la-audit_wrap.lo -MD -MP -MF .deps/_audit_la-audit_wrap.Tpo -c -o _audit_la-audit_wrap.lo `test -f 'audit_wrap.c' || echo './'`audit_wrap.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../.. -I. -I../../.. -I../../../lib -I/usr/include/python3.10 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/audit/src=/usr/src/debug -flto=auto -MT _audit_la-audit_wrap.lo -MD -MP -MF .deps/_audit_la-audit_wrap.Tpo -c audit_wrap.c  -fPIC -DPIC -o .libs/_audit_la-audit_wrap.o
audit_wrap.c: In function ‘_wrap_audit_rule_data_buf_set’:
audit_wrap.c:4701:17: error: cast specifies array type
 4701 |     arg1->buf = (char [])(char *)memcpy(malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
      |                 ^
audit_wrap.c:4701:15: error: invalid use of flexible array member
 4701 |     arg1->buf = (char [])(char *)memcpy(malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
      |               ^
audit_wrap.c:4703:15: error: invalid use of flexible array member
 4703 |     arg1->buf = 0;
      |               ^
make[4]: *** [Makefile:513: _audit_la-audit_wrap.lo] Error 1
make[4]: Leaving directory '/build/audit/src/audit-3.0.8/bindings/swig/python'
make[3]: *** [Makefile:416: all-recursive] Error 1
make[3]: Leaving directory '/build/audit/src/audit-3.0.8/bindings/swig'
make[2]: *** [Makefile:413: all-recursive] Error 1
make[2]: Leaving directory '/build/audit/src/audit-3.0.8/bindings'
make[1]: *** [Makefile:468: all-recursive] Error 1
make[1]: Leaving directory '/build/audit/src/audit-3.0.8'
make: *** [Makefile:400: all] Error 2

Please point out which step I did wrong.Thanks so much.

Last edited by 13905069 (2022-07-25 12:01:26)

Offline

#2 2022-07-24 17:49:08

loqs
Member
Registered: 2014-03-06
Posts: 18,789

Re: [SOLVED]Cannot compile audit(from ABS)

Offline

#3 2022-07-25 05:23:10

13905069
Member
From: China
Registered: 2022-04-21
Posts: 17

Re: [SOLVED]Cannot compile audit(from ABS)

Thanks!But although I have patched PKGBUILD and installed the patched audit, I still can't compile e4rat successfully.The following is the output:

[mycomputer@13905069 trunk]$ yay -S e4rat
:: Checking for conflicts...
:: Checking for inner conflicts...
[Aur:1]  e4rat-0.2.3-4

  1 e4rat                            (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
:: PKGBUILD up to date, Skipping (1/0): e4rat
  1 e4rat                            (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
:: (1/1) Parsing SRCINFO: e4rat
==> Making package: e4rat 0.2.3-4 (Mon 25 Jul 2022 01:12:47 PM CST)
==> Retrieving sources...
  -> Found e4rat_0.2.3_src.tar.gz
  -> Found logging.patch
  -> Found sysmacros_h.patch
  -> Found boost-fs3-v2.patch
  -> Found cmake_boost.patch
  -> Found cmake.patch
==> Validating source files with sha256sums...
    e4rat_0.2.3_src.tar.gz ... Passed
    logging.patch ... Passed
    sysmacros_h.patch ... Passed
    boost-fs3-v2.patch ... Passed
    cmake_boost.patch ... Passed
    cmake.patch ... Passed
==> Making package: e4rat 0.2.3-4 (Mon 25 Jul 2022 01:12:49 PM CST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found e4rat_0.2.3_src.tar.gz
  -> Found logging.patch
  -> Found sysmacros_h.patch
  -> Found boost-fs3-v2.patch
  -> Found cmake_boost.patch
  -> Found cmake.patch
==> Validating source files with sha256sums...
    e4rat_0.2.3_src.tar.gz ... Passed
    logging.patch ... Passed
    sysmacros_h.patch ... Passed
    boost-fs3-v2.patch ... Passed
    cmake_boost.patch ... Passed
    cmake.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting e4rat_0.2.3_src.tar.gz with bsdtar
==> Starting prepare()...
patching file CMakeLists.txt
patching file src/CMakeLists.txt
patching file src/common.cc
patching file src/config.cc
patching file src/device.cc
patching file src/e4rat-collect.cc
patching file src/logging.hh
patching file src/device.cc
patching file src/e4rat-collect.cc
patching file src/listener.cc
patching file src/cmake/Findaudit.cmake
patching file src/cmake/Findauparse.cmake
patching file CMakeLists.txt
Hunk #1 succeeded at 15 (offset -5 lines).
patching file CMakeLists.txt
patching file src/CMakeLists.txt
Hunk #1 succeeded at 1 with fuzz 2.
patching file doc/CMakeLists.txt
Hunk #1 succeeded at 1 with fuzz 2.
patching file src/config.cc
patching file src/defrag.cc
Hunk #1 succeeded at 56 with fuzz 2.
==> Sources are ready.
==> Making package: e4rat 0.2.3-4 (Mon 25 Jul 2022 01:12:53 PM CST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.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.79.0/BoostConfig.cmake (found suitable version "1.79.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 - Success
-- Found Threads: TRUE  
CMake Warning (dev) at doc/CMakeLists.txt:11 (ADD_CUSTOM_COMMAND):
  Policy CMP0050 is not set: Disallow add_custom_command SOURCE signatures.
  Run "cmake --help-policy CMP0050" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The SOURCE signatures of add_custom_command are no longer supported.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at doc/CMakeLists.txt:11 (ADD_CUSTOM_COMMAND):
  Policy CMP0050 is not set: Disallow add_custom_command SOURCE signatures.
  Run "cmake --help-policy CMP0050" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The SOURCE signatures of add_custom_command are no longer supported.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at doc/CMakeLists.txt:11 (ADD_CUSTOM_COMMAND):
  Policy CMP0050 is not set: Disallow add_custom_command SOURCE signatures.
  Run "cmake --help-policy CMP0050" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The SOURCE signatures of add_custom_command are no longer supported.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at doc/CMakeLists.txt:23 (ADD_CUSTOM_COMMAND):
  Policy CMP0050 is not set: Disallow add_custom_command SOURCE signatures.
  Run "cmake --help-policy CMP0050" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The SOURCE signatures of add_custom_command are no longer supported.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at doc/CMakeLists.txt:34 (ADD_CUSTOM_COMMAND):
  Policy CMP0050 is not set: Disallow add_custom_command SOURCE signatures.
  Run "cmake --help-policy CMP0050" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The SOURCE signatures of add_custom_command are no longer supported.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3
[  4%] Generating e4rat-collect.8
[  9%] Building CXX object src/CMakeFiles/e4rat-core.dir/config.cc.o
[ 19%] Generating e4rat.conf.5
[ 19%] Generating e4rat-preload.8
[ 23%] Generating e4rat-realloc.8
[ 28%] Building CXX object src/CMakeFiles/e4rat-core.dir/logging.cc.o
[ 38%] Building CXX object src/CMakeFiles/e4rat-core.dir/device.cc.o
[ 38%] Building CXX object src/CMakeFiles/e4rat-core.dir/fiemap.cc.o
[ 42%] Building CXX object src/CMakeFiles/e4rat-core.dir/common.cc.o
[ 42%] Built target ManPages
In file included from /home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:20:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.hh:73:30: error: invalid use of incomplete type ‘class boost::shared_ptr<DevicePrivate>’
   73 | class Device: private boost::shared_ptr<DevicePrivate>
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/throw_exception.hpp:21,
                 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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/common.hh:25,
                 from /home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.hh:23:
/usr/include/boost/exception/exception.hpp:17:44: note: declaration of ‘class boost::shared_ptr<DevicePrivate>’
   17 | namespace boost { template <class T> class shared_ptr; }
      |                                            ^~~~~~~~~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In constructor ‘Device::Device(boost::filesystem::path)’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:107:9: error: ‘get’ was not declared in this scope
  107 |         get()->devno = st.st_rdev;
      |         ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:109:9: error: ‘get’ was not declared in this scope
  109 |         get()->devno = st.st_dev;
      |         ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:109:9: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In constructor ‘Device::Device(dev_t)’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:115:5: error: ‘get’ was not declared in this scope
  115 |     get()->devno = dev;
      |     ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:115:5: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘void Device::parseMtabFile(const char*)’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:134:25: error: ‘get’ was not declared in this scope
  134 |         if(st.st_dev == get()->devno)
      |                         ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:134:25: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘void Device::parseMtab()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:150:13: error: ‘get’ was not declared in this scope
  150 |         if( get()->fs_name == "ext2")
      |             ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:150:13: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘boost::filesystem::path Device::getMountPoint()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:162:8: error: ‘get’ was not declared in this scope
  162 |     if(get()->mount_point.empty())
      |        ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:162:8: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:165:12: error: ‘get’ was not declared in this scope
  165 |     return get()->mount_point;
      |            ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:165:12: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘bool Device::open()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:176:45: error: ‘get’ was not declared in this scope
  176 |                     0, 0, unix_io_manager, &get()->fs))
      |                                             ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:176:45: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘std::string Device::getFileSystem()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:183:8: error: ‘get’ was not declared in this scope
  183 |     if(get()->fs_name.empty())
      |        ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:183:8: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:185:12: error: ‘get’ was not declared in this scope
  185 |     return get()->fs_name;
      |            ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:185:12: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘int Device::getDevNameFromDevfs()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:205:26: error: ‘get’ was not declared in this scope
  205 |         if(st.st_rdev == get()->devno)
      |                          ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:205:26: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:35:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘int Device::getDevNameFromMajorMinor()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:221:23: error: ‘get’ was not declared in this scope
  221 |     int major = major(get()->devno);
      |                       ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:221:23: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘std::string Device::getDeviceName()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:284:12: error: ‘get’ was not declared in this scope
  284 |     return get()->deviceName;
      |            ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:284:12: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘std::string Device::getDevicePath()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:293:8: error: ‘get’ was not declared in this scope
  293 |     if(get()->devicePath.empty())
      |        ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:293:8: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:295:12: error: ‘get’ was not declared in this scope
  295 |     return get()->devicePath;
      |            ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:295:12: note: suggested alternatives:
/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:84,
                 from /home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.hh:25:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘bool Device::hasExtentFeature()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:339:38: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘__u32 Device::getBlockSize()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:434:12: error: ‘get’ was not declared in this scope
  434 |     return get()->fs->blocksize;
      |            ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:434:12: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘__u32 Device::getGroupCount()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:439:12: error: ‘get’ was not declared in this scope
  439 |     return get()->fs->group_desc_count;
      |            ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:439:12: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘__u64 Device::freeBlocksPerFlex()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:444:33: error: ‘get’ was not declared in this scope
  444 |     return FREE_BLOCKS_PER_FLEX(get()->fs);
      |                                 ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:444:12: note: in expansion of macro ‘FREE_BLOCKS_PER_FLEX’
  444 |     return FREE_BLOCKS_PER_FLEX(get()->fs);
      |            ^~~~~~~~~~~~~~~~~~~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:444:33: note: suggested alternatives:
  444 |     return FREE_BLOCKS_PER_FLEX(get()->fs);
      |                                 ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:444:12: note: in expansion of macro ‘FREE_BLOCKS_PER_FLEX’
  444 |     return FREE_BLOCKS_PER_FLEX(get()->fs);
      |            ^~~~~~~~~~~~~~~~~~~~
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘__u64 Device::freeBlocksPerGroup()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:449:34: error: ‘get’ was not declared in this scope
  449 |     return FREE_BLOCKS_PER_GROUP(get()->fs);
      |                                  ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:449:12: note: in expansion of macro ‘FREE_BLOCKS_PER_GROUP’
  449 |     return FREE_BLOCKS_PER_GROUP(get()->fs);
      |            ^~~~~~~~~~~~~~~~~~~~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:449:34: note: suggested alternatives:
  449 |     return FREE_BLOCKS_PER_GROUP(get()->fs);
      |                                  ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:449:12: note: in expansion of macro ‘FREE_BLOCKS_PER_GROUP’
  449 |     return FREE_BLOCKS_PER_GROUP(get()->fs);
      |            ^~~~~~~~~~~~~~~~~~~~~
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘__u32 Device::getBlocksPerGroup()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:454:29: error: ‘get’ was not declared in this scope
  454 |     return BLOCKS_PER_GROUP(get()->fs);
      |                             ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:454:29: note: suggested alternatives:
  454 |     return BLOCKS_PER_GROUP(get()->fs);
      |                             ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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)
      |                                    ^~
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘__u32 Device::getLogGroupsPerFlex()’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:459:12: error: ‘get’ was not declared in this scope
  459 |     return get()->fs->super->s_log_groups_per_flex;
      |            ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:459:12: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc: In member function ‘bool Device::operator<(const Device&) const’:
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:464:12: error: ‘get’ was not declared in this scope
  464 |     return get()->devno < other.get()->devno;
      |            ^~~
/home/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/src/device.cc:464:12: note: suggested alternatives:
/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/mycomputer/.cache/yay/e4rat/src/e4rat-0.2.3/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-core.dir/build.make:132: src/CMakeFiles/e4rat-core.dir/device.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:227: src/CMakeFiles/e4rat-core.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: e4rat

Almost all errors point to "get".I don't know what's wrong(I am c++ noob).

Offline

#4 2022-07-25 11:20:55

loqs
Member
Registered: 2014-03-06
Posts: 18,789

Re: [SOLVED]Cannot compile audit(from ABS)

I would start a new issue for e4rat's build failure.  I would also flag the e4rat package in AUR as out of date.

Offline

#5 2022-07-25 12:01:06

13905069
Member
From: China
Registered: 2022-04-21
Posts: 17

Re: [SOLVED]Cannot compile audit(from ABS)

loqs wrote:

I would start a new issue for e4rat's build failure.  I would also flag the e4rat package in AUR as out of date.

Thank you for your work!

Offline

Board footer

Powered by FluxBB