Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EncFS 1.8.1/master #98

Open
BlueMax opened this issue Sep 5, 2015 · 7 comments
Open

EncFS 1.8.1/master #98

BlueMax opened this issue Sep 5, 2015 · 7 comments

Comments

@BlueMax
Copy link

BlueMax commented Sep 5, 2015

Hi,
can we give it a new try? I know encfs 1.7.5 was problematic but many things have changed (Android 5.1.1, updated bionic/libc, encfs 1.8.1/master,..). I think encfs master branch (20.Aug+) would be best. Regarding to Github readme the master branch is not the dev branch and should be stable. I can test the binaries on Android 5.1.1/CM12.1.

What do you think?

@viche12345
Copy link

Hi,
I know it's been a while, but did you have any luck testing this new binary? I'm also on Android 5.1/CM 12.1 and somehow am having a very similar issue as yours way before, #85, where encfs suddenly stops after some file operations, requiring a remount.

Is 1.8.1 any better?

@BlueMax
Copy link
Author

BlueMax commented Dec 24, 2015

I cannot compile it. Neurodroid needs to publish a new build first.

@neurodroid
Copy link
Owner

I've patched encfs 1.8.1 and updated FUSE.
Unfortunately I don't have the resources to build and publish binaries for development versions any longer. You'll have to build them yourself. Updated build instructions are here:
https://github.com/neurodroid/cryptonite/wiki/Build-Instructions
Let me know how it goes.

@viche12345
Copy link

Unfortunately, I didn't get very far. I've set up the NDK and toolchain, but I'm stuck at the Boost instructions.
$ ./build.sh
‘../user-config.jam’ -> ‘./tools/build/v2/user-config.jam’
./build.sh: line 5: bjam: command not found

@BlueMax
Copy link
Author

BlueMax commented Jan 2, 2016

I've compiled boost 1.6.0 with clang38 successfully. I don't say its working, just that it compiles without errors so far. :)

  1. Use boost 1.6.0 official source
  2. ./bootstrap.sh
  3. Replace project-config.jam with file below. Change settings accordingly.
  4. Start compiling with: b2 link=static runtime-link=static toolset=clang | tee log.txt
    I'm not sure if this all make sense or is correct. This is still WIP.

clang must be in path. I have defined this:

export NDK=/home/user/Android/android-ndk-20160101
export PATH=~/Android/android-ndk-20160101/toolchains/llvm/bin:$PATH
export CROSS_COMPILE=llvm-
export SYSROOT=$NDK/platforms/android-21/arch-arm
export CC="clang --sysroot=$SYSROOT"
export CFLAGS="-O3 -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=softfp"
export CXXFLAGS="${CFLAGS}"
export CXX="clang++ --sysroot=$SYSROOT"

project-config.jam:

# Boost.Build Configuration
# Automatically generated by bootstrap.sh

import option ;
import feature ;

# Compiler configuration. This definition will be used unless
# you already have defined some toolsets in your user-config.jam
# file.

using clang : arm : clang++ :
<compileflags>--target=thumbv7-none-linux-androideabi
<compileflags>--sysroot=/home/user/Android/android-ndk-20160101/platforms/android-21/arch-arm
<compileflags>-O3
<compileflags>-march=armv7-a
<compileflags>-mthumb
<compileflags>-mcpu=cortex-a15
<compileflags>-mfpu=neon-vfpv4
<compileflags>-mfloat-abi=softfp
<compileflags>-ffast-math
<compileflags>-fno-strict-aliasing
<compileflags>-std=c++11
<compileflags>-DNDEBUG
<compileflags>-I/home/user/Android/android-ndk-20160101/platforms/android-21/arch-arm/usr/include
<compileflags>-I/home/user/Android/android-ndk-20160101/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include
<compileflags>-I/home/user/Android/android-ndk-20160101/sources/cxx-stl/gnu-libstdc++/include
;

project : default-build <toolset>gcc ;

# List of --with-<library> and --without-<library>
# options. If left empty, all libraries will be built.
# Options specified on the command line completely
# override this variable.
libraries =  --with-serialization ;

# These settings are equivivalent to corresponding command-line
# options.
option.set prefix : /home/user/encfs/boost ;
option.set exec-prefix : /home/user/encfs/boost ;
option.set libdir : /home/user/encfs/boost/lib ;
option.set includedir : /home/user/encfs/boost/include ;

# Stop on first error
option.set keep-going : false ;

@neurodroid
Not sure if that reflects your actual build environment but your gcc wrapper scripts show armv5 and at least Boost armv7. Mixing up (linking) different ABIs should better be avoided. Could lead to funny things.

@neurodroid
Copy link
Owner

@BlueMax Thanks for looking into this. Will test 1.60.0 soon. There are two wrapper scripts, agcc and agcc-vfp. I've abandoned agcc with the latest commits. agcc-vfp builds for arm-v7a but doesn't use all optimisations under the sun - Tegra 2 for example doesn't support the full neon instruction set.

@neurodroid
Copy link
Owner

@viche12345 I've updated boost to 1.60.0 and fixed the build toolchain (2c7c36b). Please test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants