cannot configure libcurl with SSL support for Android

250 views
Skip to first unread message

AnDu

unread,
Jun 17, 2013, 7:50:46 AM6/17/13
to cur...@googlegroups.com
I'am trying to compile libcurl 7.30.0 with SSL support for a native Android application. I am using Cygwin. I have followed these steps:

 - creating standalone tool-chain: /cygdrive/d/android-ndk-r8b-windows/android-ndk-r8b/build/tools/make-standalone-toolchain.sh --ndk-dir=/cygdrive/d/android-ndk-r8b-windows/android-ndk-r8b/ --system=windows --install-dir=/cygdrive/d/android-ndk-r8b-windows/android-ndk-r8b/standalone --platform=android-14
export PATH=/cygdrive/d/android-ndk-r8b-windows/android-ndk-r8b/standalone/sysroot:$PATH
export PATH=/cygdrive/d/android-ndk-r8b-windows/android-ndk-r8b/standalone/bin:$PATH

- compiling libcurl:./configure --host=arm-linux-androideabi --with-ssl=/cygdrive/c/Android/android-sdk/external/openssl --with-random=/dev/urandom --with-sysroot=/cygdrive/d/android-ndk-r8b-windows/android-ndk-r8b/standalone/sysroot --enable-tls-srp
make

In /cygdrive/c/Android/android-sdk/external/openssl I have libcrypto.a and libssl.a previously compiled. But ./configure fails to enable SSL, the following is a copy paste from config.log from curl:

configure:21548: PKG_CONFIG_LIBDIR will be set to "/cygdrive/c/Android/android-sdk/external/openssl/lib/pkgconfig"
configure:21760: checking for CRYPTO_lock in -lcrypto
configure:21782: arm-linux-androideabi-gcc -o conftest -O2 -Wno-system-headers  -I/cygdrive/c/Android/android-sdk/external/openssl/include -I/cygdrive/c/Android/android-sdk/external/openssl/include/openssl  -L/cygdrive/c/Android/android-sdk/external/openssl/lib conftest.c -lcrypto  -lz  >&5
d:/android-ndk-r8b-windows/android-ndk-r8b/standalone/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld.exe: cannot find -lcrypto
collect2: ld returned 1 exit status
configure:21782: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "curl"
| #define PACKAGE_TARNAME "curl"
| #define PACKAGE_VERSION "-"
| #define PACKAGE_STRING "curl -"
| #define PACKAGE_BUGREPORT "a suitable curl mailing list: http://curl.haxx.se/mail/"
| #define PACKAGE_URL ""
| #define PACKAGE "curl"
| #define VERSION "-"
| #define OS "arm-unknown-linux-androideabi"
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_INTTYPES_H 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define SIZEOF_LONG 4
| #define SIZEOF_VOIDP 4
| #define CURL_PULL_SYS_TYPES_H 1
| #define CURL_PULL_STDINT_H 1
| #define CURL_PULL_INTTYPES_H 1
| #define CURL_TYPEOF_CURL_OFF_T int64_t
| #define CURL_FORMAT_CURL_OFF_T "lld"
| #define CURL_FORMAT_CURL_OFF_TU "llu"
| #define CURL_FORMAT_OFF_T "%lld"
| #define CURL_SIZEOF_CURL_OFF_T 8
| #define CURL_SUFFIX_CURL_OFF_T LL
| #define CURL_SUFFIX_CURL_OFF_TU ULL
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define HAVE_LDAP_SSL 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_TIME_H 1
| #define HAVE_CLOCK_GETTIME_MONOTONIC 1
| #define HAVE_ZLIB_H 1
| #define HAVE_LIBZ 1
| #define CURL_DISABLE_LDAP 1
| #define CURL_DISABLE_LDAPS 1
| /* end confdefs.h.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char CRYPTO_lock ();
| int main (void)
| {
| return CRYPTO_lock ();
|  ;
|  return 0;
| }
configure:21791: result: no

Anybody has an idea how can I solve this issue?
Thanks a lot!

AnDu

unread,
Jun 20, 2013, 10:15:34 AM6/20/13
to cur...@googlegroups.com
I succeeded configuring without errors by running ./configure command in bash.exe from Cygwin, instead of using Cygwin terminal.
Reply all
Reply to author
Forward
0 new messages