neurodroid / cryptonite

EncFS and TrueCrypt on Android
GNU General Public License v2.0
203 stars 49 forks source link

Build.sh in EncFs Fails #24

Closed neurodroid closed 10 years ago

neurodroid commented 10 years ago

From shaun.b...@gmail.com on May 16, 2012 20:52:27

What steps will reproduce the problem? 1. run ./build.sh in encfs for cryptonite 2. 3. What is the expected output? What do you see instead? This is my output: checking For supported FUSE API version... configure: error: in /home/shaun/cryptonite/encfs/encfs-1.7.4': configure: error: cannot run test program while cross compiling Seeconfig.log' for more details make: * No rule to make target `clean'. Stop. make: ** No targets specified and no makefile found. Stop. make: No rule to make target`install'. Stop. /home/shaun/android-toolchain/bin/arm-linux-androideabi-strip: 'armeabi-v7a/bin/encfs': No such file Traceback (most recent call last): File "./cplibs-static.py", line 27, in shell=True) File "/usr/lib/python2.6/subprocess.py", line 633, in init errread, errwrite) File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory: './encfs-1.7.4/armeabi/bin' What version of the product are you using? On what operating system? Using Cryptonite, Android 4.0, on Ubuntu 10.04 Please provide any additional information below. I am trying to use the build instruction but the build.sh script fails for encfs in cryptonite. I believe it is because the configure in encfs-1.7.4 fails which means the make fails since a makefile was not generated. The reason for configure to fail is: error: cannot run test program while cross compiling

Any help would be much appreciated. Thanks.

-Shaun B.

Original issue: http://code.google.com/p/cryptonite/issues/detail?id=24

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 16, 2012 13:00:33

Did you follow the BuildInstructions from the Wiki? If so, were you able to build everything up to that point?

neurodroid commented 10 years ago

From shaun.b...@gmail.com on May 18, 2012 08:44:38

Yes, I followed those BuildInstructions , and everything did build correctly up to that point, I just double checked. The configure file in encfs-1.7.4 has this code:

check for a supported FUSE_MAJOR_VERSION.

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking For supported FUSE API version" >&5 $as_echo_n "checking For supported FUSE API version... " >&6; } if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in $ac_pwd':" >&5 $as_echo "$as_me: error: in$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See `config.log' for more details" "$LINENO" 5; } else ...

which is where I get the configure error. It can't run its test program, which is in the else statement. I am not sure if this is what is causing build.sh to fail however.

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 18, 2012 08:58:26

Probably either patching or autoreconf failed. Do you have autoreconf? Try for instance

$ which autoreconf

If that's missing, I believe it's part of the autoconf package:

$ sudo apt-get install autoconf

Once you have autoreconf, can you try to run download.sh line-by-line? First, remove the encfs source directory:

$ cd ${CRYPTONITE}/encfs $ rm -rf encfs-1.7.4

Then, do:

$ tar -xzf encfs-1.7.4.tgz $ cd encfs-1.7.4 $ patch -p1 < ../encfs-android.patch $ autoreconf --force $ cd ..

autoreconf will give you a number of warnings - ignore these. If build.sh still fails, send me your config.log per mail.

neurodroid commented 10 years ago

From shaun.b...@gmail.com on May 18, 2012 09:42:33

I think that worked but now I have a new error:

checking for openssl/ssl.h... yes checking for SSL_new in -lssl... no configure: error: Encfs requires OpenSSL make: * No rule to make target `clean'. Stop. make: ** No targets specified and no makefile found. Stop. make: No rule to make target`install'. Stop. /home/shaun/android-toolchain/bin/arm-linux-androideabi-strip: 'armeabi-v7a/bin/encfs': No such file Traceback (most recent call last): File "./cplibs-static.py", line 27, in shell=True) File "/usr/lib/python2.6/subprocess.py", line 633, in init errread, errwrite) File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory: './encfs-1.7.4/armeabi/bin'

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 18, 2012 09:51:06

Did openssl build without errors? If so, what's the output of

$ cd ${CRYPTONITE}/openssl $ ls -la openssl-1.0.0j/armeabi/

neurodroid commented 10 years ago

From shaun.b...@gmail.com on May 18, 2012 10:14:11

total 4688 drwxr-xr-x 2 shaun shaun 4096 2012-05-18 12:31 . drwxr-xr-x 24 shaun shaun 4096 2012-05-18 12:37 .. -rw-r--r-- 1 shaun shaun 4201990 2012-05-18 12:30 libcrypto.a -rw-r--r-- 1 shaun shaun 588790 2012-05-18 12:30 libssl.a

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 18, 2012 10:20:13

That's great and I'm puzzled. Can you send me your config.log? christsc_at_gmx_dot_de

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 18, 2012 10:20:51

It's in ${CRYPTONITE}/encfs/encfs-1.7.4/config.log

neurodroid commented 10 years ago

From shaun.b...@gmail.com on May 18, 2012 10:24:59

Ok, I have sent the log file.

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 18, 2012 10:51:07

According to your config.log, OPENSSL_LIBS is somehow not acknowledged as an environment variable by the configure script. Will try to reproduce on a 10.04 system.

Status: Accepted
Owner: christoph.schmidthieber@gmail.com

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 18, 2012 23:47:16

This issue was closed by revision 4fe05ce99d91 .

Status: Fixed

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 18, 2012 23:47:46

This issue was closed by revision b7dbd167097c .

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 18, 2012 23:50:28

Please test (git pull) and let me know if it works. Note that if you want to build the full app, you'll have to use the 0.6 branch (git checkout 0.6). Thanks for reporting this bug.

neurodroid commented 10 years ago

From shaun.b...@gmail.com on May 22, 2012 09:01:33

It worked! Thank you very much for your time and help.

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on May 22, 2012 09:05:27

Status: FixVerified

neurodroid commented 10 years ago

From luisflo...@gmail.com on July 06, 2013 15:21:40

I still have exactly the same problem in Fedora, with the last sources (Saturday 06/07/2013, 19:18:54 BRT). I tried the above /encfs/config-arm-encfs.sh without luck. config.log attached.

Attachment: config.log

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on July 07, 2013 01:25:21

Did you follow the BuildInstructions ? Did your OpenSSL build complete without problems?

neurodroid commented 10 years ago

From luisflo...@gmail.com on July 07, 2013 06:07:56

Yes and yes. OpenSSL is even running nicely on my phone now.

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on July 08, 2013 01:23:47

According to your config.log, OpenSSL wasn't built correctly. What's the output of ls -la /home/gato/cryptonite/encfs-1.7.4/encfs-1.7.4/../../openssl/openssl-1.0.0j/armeabi-v7a/

neurodroid commented 10 years ago

From luisflo...@gmail.com on July 08, 2013 18:31:57

Rebuild again, same problem.

There's no openssl-1.0.0j, but openssl-1.0.0k. There I found:

$ ls -la /home/gato/cryptonite/encfs-1.7.4/encfs-1.7.4/../../openssl/openssl-1.0.0k/armeabi-v7a/ total 5140 drwxrwx--- 2 gato gato 4096 Jul 8 22:25 ./ drwxrwx--- 24 gato gato 4096 Jul 8 22:25 ../ -rw-rw---- 1 gato gato 4575228 Jul 8 22:24 libcrypto.a -rw-rw---- 1 gato gato 659578 Jul 8 22:24 libssl.a

Still, same error for encfs:

/home/gato/android-toolchain/bin/arm-linux-androideabi-strip: 'armeabi-v7a/bin/encfs': No such file Traceback (most recent call last): File "./cplibs-static.py", line 27, in shell=True) File "/usr/lib/python2.7/subprocess.py", line 679, in init errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory: './encfs-1.7.4/armeabi/bin'

Config attached.

L.

Attachment: config.log

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on July 09, 2013 06:34:36

You've now fixed your openssl problem (it's using 1.0.0k as it should), but you haven't built rlog yet. Maybe you've built it in the past, but at any rate, there are no binaries in /home/gato/cryptonite/rlog/rlog-1.4/armeabi-v7a at this time. So go back to the rlog step in the BuildInstructions and rebuild rlog.

neurodroid commented 10 years ago

From luisflo...@gmail.com on July 09, 2013 06:46:33

Wait... I need to build every component? I thought they were independent! I didn't build Boost or FUSE either.

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on July 09, 2013 07:11:05

Yes, you need all components for EncFS (and Cryptonite as a consequence). For the truecrypt binary you only need FUSE.

neurodroid commented 10 years ago

From luisflo...@gmail.com on July 09, 2013 07:15:25

Oh... I see. Maybe you should consider adding this information to the BuildInstructions ... Thanks!

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on July 09, 2013 07:21:01

Maybe you should consider adding this information to the BuildInstructions Done

neurodroid commented 10 years ago

From luisflo...@gmail.com on July 09, 2013 07:27:57

Well, in my case, I don't want to build all cryptonite. Just the encfs binary. But I'm not sure if this is relevant.

neurodroid commented 10 years ago

From christoph.schmidthieber@gmail.com on July 09, 2013 07:30:37

Well, in my case, I don't want to build all cryptonite. Just the encfs binary.

I've clarified this in the BuildInstructions now.