autotier icon indicating copy to clipboard operation
autotier copied to clipboard

[BUG] Missing header files

Open tomwimmenhove opened this issue 1 year ago • 2 comments

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

tomwimmenhove avatar Nov 09 '23 11:11 tomwimmenhove

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)

joshuaboud avatar Nov 09 '23 15:11 joshuaboud

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

tomwimmenhove avatar Nov 10 '23 13:11 tomwimmenhove