Hi,

I’m trying to cross build openssl in order to bundle it with my APK. I don’t 
know if the instructions are imprecise or outdated but I couldn’t manage to 
build openssl with the provide instructions: 
http://doc.qt.io/qt-5/opensslsupport.html 
<http://doc.qt.io/qt-5/opensslsupport.html>

What I have done:

- Opened terminal on Mac OSX
- Extracted openssl source
- Set CC env var pointing to 
/Users/nsantos/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc
- Set AR env var pointing to 
/Users/nsantos/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar
- Set ANDROID_DEV to 
/Users/nsantos/android/ndk/platforms/android-9/arch-arm/usr/include
- Called ./Configure shared android-armv7
- Called make build_libs

At this point the first problem arises:

- The CC var inside the make file is simply pointing to gcc, which is actually 
clang when called. It complains about an unknown flag “-mandroid”

I decided to edit the Makefile and manually change the CC and AR values to the 
ones above and called make build_libs again

Now the problem was that it couldn’t find stdlib.h. To fix this I have added 
-I/Users/nsantos/android/ndk/platforms/android-9/arch-arm/usr/include to CFLAG 
var inside Makefile. Tried to call make build_libs again. The output was better 
as it actually started to compile, however, when it got to the final phase this 
error occurred:

MACKIE:openssl-master nsantos$ make build_libs
making all in crypto...
making all in crypto/objects...
make[2]: Nothing to be done for `all'.
making all in crypto/md4...
/Users/nsantos/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar
  r ../../libcrypto.a md4_dgst.o md4_one.o
/Users/nsantos/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-ar:
 ../../libcrypto.a: Malformed archive
make[2]: *** [lib] Error 1
make[1]: *** [subdirs] Error 1
make: *** [build_crypto] Error 1

Should I do what I have done? Why are we setting env vars if their are not 
being used by Makefile? What’s the point? Why are we defining ANDROID_DEV if 
then it isn’t used? What am I missing? 

Any help here would be great.

Thanks in advance,

Regards,

Nuno

_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to