Rebuilt audit with 'staticlibs' added in the 'options' array of the PKGBUILD, but e4rat still won't build. (context: I'd like to use it to further get close to a chromebook abilities out of my six year old netbook with good ol' spinning hdd :-} )
---
[ 28%] Built target e4rat-core
Scanning dependencies of target e4rat-collect
[ 33%] Building CXX object src/CMakeFiles/e4rat-collect.dir/e4rat-collect.cc.o
In file included from /data/system/build/x86/e4rat/src/e4rat-0.2.3/src/e4rat-collect.cc:24:0:
/data/system/build/x86/e4rat/src/e4rat-0.2.3/src/e4rat-collect.cc: In function ‘void scanOpenFiles(std::vector<FilePtr>&)’:
/data/system/build/x86/e4rat/src/e4rat-0.2.3/src/logging.hh:96:51: error: unable to find string literal operator ‘operator""format’ with ‘const char [16]’, ‘unsigned int’ arguments
#define debug(format,args...) dump_log(Debug, "%s:%d in %s(): "format, __FILE__, __LINE__, __FUNCTION__, ## args)
^
/data/system/build/x86/e4rat/src/e4rat-0.2.3/src/logging.hh:93:36: note: in definition of macro ‘dump_log’
#define dump_log(...) logger.write(__VA_ARGS__)
^~~~~~~~~~~
/data/system/build/x86/e4rat/src/e4rat-0.2.3/src/e4rat-collect.cc:107:5: note: in expansion of macro ‘debug’
debug("Scan open files by calling lsof");
^
src/CMakeFiles/e4rat-collect.dir/build.make:62: recipe for target 'src/CMakeFiles/e4rat-collect.dir/e4rat-collect.cc.o' failed
make[2]: *** [src/CMakeFiles/e4rat-collect.dir/e4rat-collect.cc.o] Error 1
CMakeFiles/Makefile2:123: recipe for target 'src/CMakeFiles/e4rat-collect.dir/all' failed
make[1]: *** [src/CMakeFiles/e4rat-collect.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build e4rat.
==> Restart building e4rat ? [y/N]
==> ------------------------------
Search Criteria
Package Details: e4rat 0.2.3-2
Git Clone URL: | https://aur.archlinux.org/e4rat.git (read-only) |
---|---|
Package Base: | e4rat |
Description: | Toolset to accelerate the boot process and application startups for systems with ext4 root partitions. |
Upstream URL: | http://e4rat.sourceforge.net/ |
Licenses: | |
Submitter: | swiftgeek |
Maintainer: | swiftgeek |
Last Packager: | swiftgeek |
Votes: | 38 |
Popularity: | 0.000002 |
First Submitted: | 2013-05-13 18:00 |
Last Updated: | 2015-06-09 23:43 |
Dependencies (5)
- boost-libs
- e2fsprogs (e2fsprogs-git)
- audit (make)
- boost (make)
- cmake (cmake-git) (make)
Required by (0)
Sources (2)
Latest Comments
takeshibaconsuzu commented on 2016-07-01 09:21
kozaki commented on 2016-06-12 17:24
beardedlinuxgeek commented on 2016-03-30 18:14
Look at this comment: https://bbs.archlinux.org/viewtopic.php?pid=1603933#p1603933
They say you should not edit /etc/makepkg.conf like dokie80 said. Instead just edit the PKGBUILD for audit.
Anonymous comment on 2015-11-29 04:32
sorry nvm.. this post is very helpfull : https://bbs.archlinux.org/viewtopic.php?pid=1358066
- change "!staticlibs" to "staticlibs" in /etc/makepkg.conf
- install abs = sudo pacman -S abs
- run abs to generate file tree
- navigate to /var/abs/community/audit, copy the folder "audit" to other place ie. home folder
- navigate to ~/audit
- run "makepkg", will generate a file with .tar.xz extension.
- run "sudo pacman -U ~/audit/audit-2.4.4-1-i686.pkg.tar.xz" (file name maybe different if there's update)
- try install e4rat again
hope this help other noob like me.
Anonymous comment on 2015-11-29 03:41
can you please describe how to rebuild audit (read it from wiki) for e4rat to work?
swiftgeek commented on 2014-09-08 09:10
Read ArchWiki about abs and PKGBUILDs -.-
avkonarev commented on 2014-09-08 07:37
ref http://www.opendevs.org/kmvkk/staticlibs-in-pkgbuild.html is broken..
please, how recompile audit package with staticlibs option
parchd commented on 2014-02-21 14:08
Sorry, forget it. No idea what happened but I reinstalled the deps and tried again, now everything worked fine. Third times a charm ;)
parchd commented on 2014-02-21 14:00
My build fails, can anyone help me figure out why?
Scanning dependencies of target ManPages
[ 82%] Generating e4rat-collect.8
doc/CMakeFiles/ManPages.dir/build.make:52: recipe for target 'doc/e4rat-collect.8' failed
CMakeFiles/Makefile2:270: recipe for target 'doc/CMakeFiles/ManPages.dir/all' failed
Makefile:116: recipe for target 'all' failed
swiftgeek commented on 2013-11-30 12:29
http://www.opendevs.org/kmvkk/staticlibs-in-pkgbuild.html
You need to recompile audit package with staticlibs option, thanks to new policies :<
At least It's only needed once since e4rat isn't developed anymore and it's static ;)
(This package has far to low amount of votes to go back into community or extra)
Nordlicht commented on 2013-11-30 11:50
Does not compile:
"CMake Error at src/cmake/Findaudit.cmake:17 (MESSAGE):
Could not find audit
Call Stack (most recent call first):
src/CMakeLists.txt:83 (find_package)
-- Configuring incomplete, errors occurred!
"
swiftgeek commented on 2013-11-06 20:46
I don't get it at all… why just not give people the choice -.-
markoer commented on 2013-11-06 19:23
it's not possible to compile it anymore, needs option staticlibs which are generaly removed from almost all packages according to mailing list. So patch would be required
vicp74 commented on 2013-07-17 00:27
After upgrading boost-libs (1.53.0.2 -> 1.54.0-2), e4rat stop working. I recieve a kernel panic when booting because e4rat looks for /usr/lib/libboost_system.so.1.53.0 but
there's no such file. e4rat should try /usr/lib/libboost_system.so.1.54.0 or /usr/lib/libboost_system.so. The same happens with the other libboost_* like libboost_filesystem.so.1.54.0.
Is there a way to solve this problem in the PKGBUILD or using a patch? Or what should I do?
solstice commented on 2013-06-03 14:35
mkdir -p $pkgdir/usr/bin
mv $pkgdir/sbin/* $pkgdir/usr/bin
rmdir $pkgdir/sbin
cippaciong commented on 2013-06-03 14:15
binary files need to be moved to /usr/bin according to arch latest changes.
See: https://www.archlinux.org/news/binaries-move-to-usrbin-requiring-update-intervention/
swiftgeek commented on 2013-06-03 14:11
TODO: /sbin → /usr/bin fix
swiftgeek commented on 2013-05-25 16:25
K. compiled&&packaged without errors - not tested (looking for volunteer with some knowledge of ext4 fs)
swiftgeek commented on 2013-05-25 15:54
K. compiled without errors - not tested (looking for volunteer with some knowledge of ext4 fs)
Now i will proceed to create patches from:
config.cc commmon.cc device.cc e4rat-collect.cc
swiftgeek commented on 2013-05-25 15:35
It comes directly from your inability to read comments && output.
[Please delete your comments and this message will be also deleted. Then just wait till package is fully patched]
Distag commented on 2013-05-24 12:47
Compilation errors:
"
In file included from /usr/include/boost/filesystem.hpp:15:0,
from /tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/common.hh:24,
from /tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc:22:
/usr/include/boost/filesystem/config.hpp:16:5: erreur: #error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3
# error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3
^
/tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc: In constructor ‘Config::Config()’:
/tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc:74:15: erreur: no match for ‘operator=’ (operand types are ‘std::string {aka std::basic_string<char>}’ and ‘boost::filesystem::path’)
tool_name = fs::path(argv[0]).filename();
^
/tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc:74:15: note: candidates are:
In file included from /usr/include/c++/4.8.0/string:52:0,
from /usr/include/boost/property_tree/ptree_fwd.hpp:19,
from /usr/include/boost/property_tree/ptree.hpp:15,
from /tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.hh:24,
from /tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc:20:
/usr/include/c++/4.8.0/bits/basic_string.h:546:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(const basic_string& __str)
^
/usr/include/c++/4.8.0/bits/basic_string.h:546:7: note: no known conversion for argument 1 from ‘boost::filesystem::path’ to ‘const std::basic_string<char>&’
/usr/include/c++/4.8.0/bits/basic_string.h:554:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(const _CharT* __s)
^
/usr/include/c++/4.8.0/bits/basic_string.h:554:7: note: no known conversion for argument 1 from ‘boost::filesystem::path’ to ‘const char*’
/usr/include/c++/4.8.0/bits/basic_string.h:565:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(_CharT __c)
^
/usr/include/c++/4.8.0/bits/basic_string.h:565:7: note: no known conversion for argument 1 from ‘boost::filesystem::path’ to ‘char’
make[2]: *** [src/CMakeFiles/e4rat-core.dir/config.cc.o] Erreur 1
make[1]: *** [src/CMakeFiles/e4rat-core.dir/all] Erreur 2
make: *** [all] Erreur 2
"
Where does the problem come from?
Distag commented on 2013-05-24 12:45
Compilation errors:
"
In file included from /usr/include/boost/filesystem.hpp:15:0,
from /tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/common.hh:24,
from /tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc:22:
/usr/include/boost/filesystem/config.hpp:16:5: erreur: #error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3
# error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3
^
/tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc: In constructor ‘Config::Config()’:
/tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc:74:15: erreur: no match for ‘operator=’ (operand types are ‘std::string {aka std::basic_string<char>}’ and ‘boost::filesystem::path’)
tool_name = fs::path(argv[0]).filename();
^
/tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc:74:15: note: candidates are:
In file included from /usr/include/c++/4.8.0/string:52:0,
from /usr/include/boost/property_tree/ptree_fwd.hpp:19,
from /usr/include/boost/property_tree/ptree.hpp:15,
from /tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.hh:24,
from /tmp/yaourt-tmp-distag/aur-e4rat/src/e4rat-0.2.3/src/config.cc:20:
/usr/include/c++/4.8.0/bits/basic_string.h:546:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(const basic_string& __str)
^
/usr/include/c++/4.8.0/bits/basic_string.h:546:7: note: no known conversion for argument 1 from ‘boost::filesystem::path’ to ‘const std::basic_string<char>&’
/usr/include/c++/4.8.0/bits/basic_string.h:554:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(const _CharT* __s)
^
/usr/include/c++/4.8.0/bits/basic_string.h:554:7: note: no known conversion for argument 1 from ‘boost::filesystem::path’ to ‘const char*’
/usr/include/c++/4.8.0/bits/basic_string.h:565:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
operator=(_CharT __c)
^
/usr/include/c++/4.8.0/bits/basic_string.h:565:7: note: no known conversion for argument 1 from ‘boost::filesystem::path’ to ‘char’
make[2]: *** [src/CMakeFiles/e4rat-core.dir/config.cc.o] Erreur 1
make[1]: *** [src/CMakeFiles/e4rat-core.dir/all] Erreur 2
make: *** [all] Erreur 2
"
Where does the problem come from?
swiftgeek commented on 2013-05-24 10:50
Oh so this that project that i have forgot about xD (this will be deleted too)
swiftgeek commented on 2013-05-14 17:46
I don't have any time till monday
(This comment will be deleted on monday ;) )
Sunday commented on 2013-05-14 17:43
Yes please put this patch into the PGKBUILD. An additional change is still necessary to make it build:
src/config.cc line 74:
tool_name = fs::path(argv[0].filename().string();
(again the .string() part added)
swiftgeek commented on 2013-05-13 18:38
TODO: create patch from this: https://github.com/LaraCraft304/e4rat-lite/commit/30780517a0edad3e22d51134f020d5feab12567f
swiftgeek commented on 2013-05-13 18:01
Doesn't compile yet
I had to modify the source. What I did was replace that problem line in logger.hh:
#define debug(format,args...) dump_log(Debug, "%s:%d in %s(): "format, __FILE__, __LINE__, __FUNCTION__, ## args)
with:
#define debug(format, ...) logger.write(Debug, "%s:%d in %s(): " format, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__)
and then did a makepkg -esri.
On a side note, when I first ran this, the startup.log file was blank. The easy solution was to follow cubethethird's advice and replace every occurence of:
Config::get<std::string>(“startup_log_file”).c_str()
with:
"/var/lib/e4rat/startup.log"
More information at https://cubethethird.wordpress.com/2016/04/02/reducing-boot-time/.