Code Monkey home page Code Monkey logo

fusecompress's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fusecompress's Issues

fusecompress does not compile with boost library v1.41

Code needs some minor fix, I get these errors:

In file included from Compress.cpp:39:
./boost/iostreams/device/nonclosable_file_descriptor.hpp: In constructor ‘boost::iostreams::nonclosable_file_descriptor::nonclosable_file_descriptor(const std::string&, std::_Ios_Openmode, std::_Ios_Openmode)’:
./boost/iostreams/device/nonclosable_file_descriptor.hpp:34: error: no matching function for call to ‘boost::iostreams::file_descriptor::file_descriptor(const std::basic_string<char, std::char_traits, std::allocator >&, std::_Ios_Openmode&, std::_Ios_Openmode&)’
/usr/include/boost/iostreams/device/file_descriptor.hpp:81: note: candidates are: boost::iostreams::file_descriptor::file_descriptor(const boost::iostreams::file_descriptor&)
/usr/include/boost/iostreams/device/file_descriptor.hpp:66: note: boost::iostreams::file_descriptor::file_descriptor(const char*, std::_Ios_Openmode)
/usr/include/boost/iostreams/device/file_descriptor.hpp:61: note: boost::iostreams::file_descriptor::file_descriptor(const std::string&, std::_Ios_Openmode)
/usr/include/boost/iostreams/device/file_descriptor.hpp:55: note: boost::iostreams::file_descriptor::file_descriptor(boost::iostreams::detail::file_handle, bool)
/usr/include/boost/iostreams/device/file_descriptor.hpp:52: note: boost::iostreams::file_descriptor::file_descriptor()

compression level not choosable?

fusecompress 0.9x had the "-l" switch to choose the compression level. Fusecompress 2.x doesn't have that option available any more.

Is there a rationale for dropping that feature? Was it maybe dropped because the feature was not considered top priority at the time of the rewrite and was just not added yet? It'd be interesting to re-add the feature to be able to have files compressed at maximum pressure.

Thanks,
*t

Configuration fails with boost-1.71.0

Hi,
after upgrading to boost 1.71.0 on my Gentoo system, configuration fails.
The error message is not really helpful
configure: error: Could not link against !

Has anybody a fix for the new boost version?

Many thanks,
Helmut

unable to make twice

running "sudo make install" twice results in...

make[3]: Entering directory `/home/rdp/dev/downloads/fusecompress/src'
cd /usr/local/bin && \
               ln -s fusecompress mount.fusecompress
ln: creating symbolic link `mount.fusecompress': File exists
make[3]: *** [install-exec-hook] Error 1
make[3]: Leaving directory `/home/rdp/dev/downloads/fusecompress/src'
make[2]: *** [install-exec-am] Error 2
make[2]: Leaving directory `/home/rdp/dev/downloads/fusecompress/src'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/rdp/dev/downloads/fusecompress/src'
make: *** [install-recursive] Error 1

I believe.
Thanks!
-r

can't compress when there's lots of files

running:

fusecompress_offline -o fc_c:lzma ./folder_with_many_files_in_it

the command eventually ends with:

Processing file (/home/rdp/installs/./mbari_gembox_187/lib/ruby/gems/1.8/cache/cruby-0.0.1.gem)
Temporary file (/home/rdp/installs/./mbari_gembox_187/lib/ruby/gems/1.8/cache/rZdTII)
Not compressed
File (/home/rdp/installs/./mbari_gembox_187/lib/ruby/gems/1.8/cache/rZdTII) cannot be opened! (Too many open files)

Thanks!

miio.net dead?

Various pieces of the documentation as well as the description here on github point to miio.net, however the later doesn't resolve anymore.

If you intend to let go of miio.net it'd be good to all drop the references to it from the docu and possibly move any content concerning fusecompress to a wiki at github?

Thanks,
*t

Failing to restore layermap

I get this problem after upgrading on debian unstable:

fusecompress_offline test_file
Processing file (test_file)
Temporary file (4Rw1jx)
int Compress::open(const char*, int): Failed to restore LayerMap of file 'test_file', exception: requested integer size exceeds type size: 2
File (test_file) cannot be opened! (Input/output error)

fuse2: 2.8.5
fusecompress 2.6.git913897f4-1
libboost1.46-dev 1.46.1-6
linux 2.6.39

segfault under heavy usage

Hello!
[575211.244134] fusecompress[17389]: segfault at 10 ip 00007f89f66ee00f sp 00007f89a17f9a80 error 4 in libpthread-2.18.so[7f89f66e2000+18000]
Anyone else catch that fun?
kernel 3.13.6, libc6 2.18-4, latest fusecompress.

fusecompress crash

Hi,
Built fusecompress on Linux Mint 19.
I do:
$ cd /backup;
$ mkdir fc fcu
$ fusecompress -o fc_d fc fcu

In another terminal, I do:
$ cp x.txt /backup/fcu
==> crash of fusecompress with the following stacktrace:

FuseCompress::mknod name: x.txt
FuseCompress::mknod inode: 41293005
new CFile(..., x.txt)
C (x.txt), raw/user 0x19/0x0 bytes
getattr name: x.txt, m_IsCompressed: 1, m_fh.size: 0x0
Memory::getattr(0x7fc0fc001350) m_FileSize: 0x0, m_FileSizeSet: 0
virtual Compress::~Compress(), x.txt
new CFile(..., x.txt)
C (x.txt), raw/user 0x19/0x0 bytes
FuseCompress::open 0x7fc104001230 name: x.txt
File::open file 'x.txt', inode 41293005, m_refs: 1
Compress::open m_refs: 1
getattr name: x.txt, m_IsCompressed: 1, m_fh.size: 0x0
*** stack smashing detected ***: terminated
Abandon (core dumped)

So I unmounted fcu:
$ fusermount -u /backup/fcu
then restart fusecompress (as above)
then:
$ ls /backup/fcu

x.txt
$ ls /backup/fc
x.txt
$ more /backup/fcu/x.txt

Again, crash with the stack:

new CFile(..., x.txt)
C (x.txt), raw/user 0x19/0x0 bytes
getattr name: x.txt, m_IsCompressed: 1, m_fh.size: 0x0
Memory::getattr(0x7fc7c8001630) m_FileSize: 0x0, m_FileSizeSet: 0
virtual Compress::~Compress(), x.txt
new CFile(..., x.txt)
C (x.txt), raw/user 0x19/0x0 bytes
getattr name: x.txt, m_IsCompressed: 1, m_fh.size: 0x0
Memory::getattr(0x7fc7c0001500) m_FileSize: 0x0, m_FileSizeSet: 0
virtual Compress::~Compress(), x.txt
new CFile(..., x.txt)
C (x.txt), raw/user 0x19/0x0 bytes
getattr name: x.txt, m_IsCompressed: 1, m_fh.size: 0x0
Memory::getattr(0x7fc7c0001500) m_FileSize: 0x0, m_FileSizeSet: 0
virtual Compress::~Compress(), x.txt
new CFile(..., x.txt)
C (x.txt), raw/user 0x19/0x0 bytes
FuseCompress::open 0x7fc7c8001630 name: x.txt
File::open file 'x.txt', inode 41293005, m_refs: 1
Compress::open m_refs: 1
getattr name: x.txt, m_IsCompressed: 1, m_fh.size: 0x0
*** stack smashing detected ***: terminated
Abandon (core dumped)

configure error

Hi ;
I'm stuck on this error while trying the ./configure :

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking whether ln -s works... yes
checking for boostlib >= 1.33.1... yes
checking build system type... x86_64-unknown-linux-gnu
checking whether the Boost::System library is available... yes
configure: WARNING: BOOST_CPPFLAGS -I/usr/include
checking whether the Boost::Serialization library is available... yes
configure: error: Could not link against  !

my configuration : Ubuntu server 14.04 amd64
I've tried all things found on the internet, such as :

./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu
./configure --with-boost-libdir=/usr/lib/
./configure --with-boost-libdir=/usr/lib64/

but none worked.

could you provide an up-to-date tutorial for compiling please ?
there is no other documentation that this README, all other sites are down.
thanks.

assert.h conflicts with boost assert.h

Got this error message when trying to build with boost1.64 (linux,gcc7)

g++ -DHAVE_CONFIG_H -I. -I..  -D_GNU_SOURCE -D_REENTRANT -D_POSIX_C_SOURCE=200112L -D_POSIX_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=500 -Wno-long-long -Wall -fpermissive -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -DNDEBUG  -g -O2   -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cpp
In file included from /usr/include/boost/assert.hpp:58:0,
                 from /usr/include/boost/iostreams/detail/adapter/range_adapter.hpp:16,
                 from /usr/include/boost/iostreams/detail/push.hpp:19,
                 from /usr/include/boost/iostreams/filtering_stream.hpp:19,
                 from CompressionType.hpp:23,
                 from main.cpp:30:
/usr/include/boost/array.hpp: In member function ‘T& boost::array<T, N>::operator[](boost::array<T, N>::size_type)’
/usr/include/boost/array.hpp:118:20: error: expected primary-expression before ‘if’
             return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
                    ^
/usr/include/boost/array.hpp:118:20: error: expected ‘;’ before ‘if’

Looks like definition of assert() collide with boost assertion macros.
# define BOOST_ASSERT_MSG(expr, msg) assert((expr)&&(msg))
which in turns cause an error in operator[] in boost array.hpp

reference operator[](size_type i)
         {
             return BOOST_ASSERT_MSG( i < N, "out of range" ), elems[i];
         }

One solution would be to add #define BOOST_DISABLE_ASSERTS in main.cpp, Compress.cpp to disable boost assertion all together.

bzr causes ASSERT off_t Compress::cleverCopy(int, off_t, int, LayerMap&) (r == writeOffset)

Using fusecompress 2.6-2 from debian.
On a clean bzr branch / checkout, doing bzr status two times in a row causes:

virtual Compress::~Compress(), picard/.bzr/checkout/conflicts
FuseCompress::open 0x7fd6ac002540 name: picard/.bzr/checkout/dirstate
Compress::open m_refs: 2
FuseCompress::write 0x7fd6ac002540 name: picard/.bzr/checkout/dirstate, size: 0x1000, offset: 0x0
Memory::write(picard/.bzr/checkout/dirstate) | m_FileSize: 0x127b4, size: 0x1000, offset: 0x0
FuseCompress::write 0x7fd6ac002540 name: picard/.bzr/checkout/dirstate, size: 0x1000, offset: 0x1000
Memory::write(picard/.bzr/checkout/dirstate) | m_FileSize: 0x127b4, size: 0x1000, offset: 0x1000
[repeated in 0x1000 increments, until]
FuseCompress::write 0x7fd6ac002540 name: picard/.bzr/checkout/dirstate, size: 0x7b3, offset: 0x12000
Memory::write(picard/.bzr/checkout/dirstate) | m_FileSize: 0x127b4, size: 0x7b3, offset: 0x12000
FuseCompress::truncate file picard/.bzr/checkout/dirstate, to size: 127b3
truncate name: picard/.bzr/checkout/dirstate, m_IsCompressed: 1, size: 127b3
void Compress::DefragmentFast()
offset: 0x0, coffset: 0x19, size: 0x127b3
length: 0x5744
ASSERT off_t Compress::cleverCopy(int, off_t, int, LayerMap&) (r == writeOffset)
Aborted

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.