autotier
autotier copied to clipboard
[BUG] Missing header files
Describe the bug Unable to compile the project due to missing header files. Googling these header files turns up with zero results, as if they never existed.
To Reproduce Try to compile v1.2.0
Expected behavior The project to compile
Error Output
In file included from src/impl/autotierfs/autotierfs.cpp:21:
src/incl/config.hpp:24:10: fatal error: 45d/config/ConfigParser.hpp: No such file or directory
24 | #include <45d/config/ConfigParser.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile:51: build/autotierfs/autotierfs.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from src/impl/autotierfs/fuseOps/statfs.cpp:25:
src/incl/tier.hpp:22:10: fatal error: 45d/Quota.hpp: No such file or directory
22 | #include <45d/Quota.hpp>
| ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile:51: build/autotierfs/fuseOps/statfs.o] Error 1
In file included from src/impl/autotierfs/fuseOps/open.cpp:27:
src/incl/tier.hpp:22:10: fatal error: 45d/Quota.hpp: No such file or directory
22 | #include <45d/Quota.hpp>
| ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile:51: build/autotierfs/fuseOps/open.o] Error 1
In file included from src/impl/autotierfs/fuseOps/chmod.cpp:26:
src/incl/tier.hpp:22:10: fatal error: 45d/Quota.hpp: No such file or directory
22 | #include <45d/Quota.hpp>
| ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile:51: build/autotierfs/fuseOps/chmod.o] Error 1
In file included from src/impl/autotierfs/fuseOps/create.cpp:27:
src/incl/tier.hpp:22:10: fatal error: 45d/Quota.hpp: No such file or directory
22 | #include <45d/Quota.hpp>
| ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [makefile:51: build/autotierfs/fuseOps/create.o] Error 1
System (please complete the following information):
- OS: Ubuntu 22.04.3 LTS
- Fuse library versions: fuse3/jammy,now 3.10.5-1build1 amd64 [installed,automatic] gvfs-fuse/jammy-updates,now 1.48.2-0ubuntu1 amd64 [installed,automatic] libfuse2/jammy,now 2.9.9-5ubuntu3 amd64 [installed] libfuse3-3/jammy,now 3.10.5-1build1 amd64 [installed,automatic] libfuse3-dev/jammy,now 3.10.5-1build1 amd64 [installed]
- Version v1.2.0
You will need lib45d
: https://github.com/45Drives/lib45d
It can be installed by cloning the repo and running sudo make install
, or you can go to the releases page and install the lib45d-dev package built for Ubuntu Focal (there are no dependencies that would cause conflicts, so it should work in Jammy)
Thanks for pointing that out! That makefile doesn't install the headers, but it compiles with a simple symlink to the 45d
include dir and some fixes to the linker parameters in the makefile to make it look for the 45d library in the right place (it looks for an a-aout file while the 45d library is, obviously, an .so file).
However, it crashes:
(gdb) where
#0 std::_Destroy_aux<false>::__destroy<rocksdb::DbPath*> (__last=<optimised out>, __first=0x100000000) at /usr/include/c++/11/bits/stl_construct.h:163
#1 std::_Destroy<rocksdb::DbPath*> (__last=<optimised out>, __first=<optimised out>) at /usr/include/c++/11/bits/stl_construct.h:196
#2 std::_Destroy<rocksdb::DbPath*, rocksdb::DbPath> (__last=0x0, __first=<optimised out>) at /usr/include/c++/11/bits/alloc_traits.h:848
#3 std::vector<rocksdb::DbPath, std::allocator<rocksdb::DbPath> >::~vector (this=0x7fffffffa640, __in_chrg=<optimised out>) at /usr/include/c++/11/bits/stl_vector.h:680
#4 rocksdb::ColumnFamilyOptions::~ColumnFamilyOptions (this=0x7fffffffa410, __in_chrg=<optimised out>) at /usr/include/rocksdb/options.h:91
#5 0x0000555555748828 in rocksdb::Options::~Options (this=0x7fffffffa170, __in_chrg=<optimised out>) at ./include/rocksdb/options.h:1354
#6 rocksdb::ImmutableCFOptions::ImmutableCFOptions (this=0x555555ad0f60 <rocksdb::dummy_cf_options>) at options/cf_options.cc:825
#7 0x00005555555da3fa in __static_initialization_and_destruction_0 (__priority=65535, __initialize_p=1) at options/cf_options.cc:43
#8 0x00007ffff7629ebb in call_init (env=<optimised out>, argv=0x7fffffffe598, argc=4) at ../csu/libc-start.c:145
#9 __libc_start_main_impl (main=0x5555555d5a90 <main(int, char**)>, argc=4, argv=0x7fffffffe598, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>,
stack_end=0x7fffffffe588) at ../csu/libc-start.c:379
#10 0x00005555555f97e5 in _start ()