title: configure: error: C compiler cannot create executables while compiling python for android ON Linux Ubuntu
body: <p>I allready created pyton for android folder few days ago, but forgot to nclude some modules. So I just wanted to do this again...</p>
  
  <p>Tis is a result of ./distribute.sh </p>
  
  <pre><code>Python build finished, but the necessary bits to build these modules were not found:
  _bsddb             _curses            _curses_panel   
  _sqlite3           _ssl               _tkinter        
  bsddb185           bz2                dbm             
  gdbm               linuxaudiodev      ossaudiodev     
  sunaudiodev                                           
  To find the necessary bits, look in setup.py in detect_modules() for the module's name.
  
  
  Failed to build these modules:
  readline                                              
  
  Call build_python
  Entering in ARM environment
  Compiler found at /home/pawel/.buildozer/android/platform/android-ndk-r9c//toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc
  configure: WARNING: if you wanted to set the --build type, don't use --host.
      If a cross compiler is detected then cross compile mode will be used
  checking for --enable-universalsdk... no
  checking for --with-universal-archs... 32-bit
  checking MACHDEP... linux3
  checking EXTRAPLATDIR... 
  checking machine type as reported by uname -m... i686
  checking for --without-gcc... no
  checking for arm-eabi-gcc... ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm
  checking whether the C compiler works... no
  configure: error: in `/home/pawel/python-for-android/build/python/Python-2.7.2':
  configure: error: C compiler cannot create executables
  See `config.log' for more details
  </code></pre>
  
  <p>And this is the end of config.log:</p>
  
  <pre><code>This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
  It was created by python configure 2.7, which was
  generated by GNU Autoconf 2.68.  Invocation command line was
  
    $ ./configure --host=arm-eabi OPT= --prefix=/home/pawel/python-for-android/build/python-install --enable-shared --disable-toolbox-glue --disable-framework
  
  ## --------- ##
  ## Platform. ##
  ## --------- ##
  
  hostname = pawel-ThinkPad-X61-Tablet
  uname -m = i686
  uname -r = 3.13.0-24-generic
  uname -s = Linux
  uname -v = #47-Ubuntu SMP Fri May 2 23:31:42 UTC 2014
  
  /usr/bin/uname -p = unknown
  /bin/uname -X     = unknown
  
  /bin/arch              = unknown
  /usr/bin/arch -k       = unknown
  /usr/convex/getsysinfo = unknown
  /usr/bin/hostinfo      = unknown
  /bin/machine           = unknown
  /usr/bin/oslevel       = unknown
  /bin/universe          = unknown
  
  PATH: /home/pawel/.buildozer/android/platform/android-ndk-r9c//toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/
  PATH: /home/pawel/.buildozer/android/platform/android-ndk-r9c//toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/
  PATH: /home/pawel/.buildozer/android/platform/android-ndk-r9c/
  PATH: /home/pawel/.buildozer/android/platform/android-sdk-21//tools
  PATH: .
  PATH: /platform-tools
  PATH: /tools
  PATH: /usr/local/sbin
  PATH: /usr/local/bin
  PATH: /usr/sbin
  PATH: /usr/bin
  PATH: /sbin
  PATH: /bin
  PATH: /usr/games
  PATH: /usr/local/games
  
  
  ## ----------- ##
  ## Core tests. ##
  ## ----------- ##
  
  configure:2764: checking for --enable-universalsdk
  configure:2805: result: no
  configure:2814: checking for --with-universal-archs
  configure:2831: result: 32-bit
  configure:2988: checking MACHDEP
  configure:3136: result: linux3
  configure:3142: checking EXTRAPLATDIR
  configure:3157: result: 
  configure:3168: checking machine type as reported by uname -m
  configure:3171: result: i686
  configure:3184: checking for --without-gcc
  configure:3228: result: no
  configure:3249: checking for arm-eabi-gcc
  configure:3276: result: ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm
  configure:3545: checking for C compiler version
  configure:3554: ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm --version &gt;&amp;5
  arm-linux-androideabi-gcc (GCC) 4.8
  Copyright (C) 2013 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
  configure:3565: $? = 0
  configure:3554: ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm -v &gt;&amp;5
  Using built-in specs.
  COLLECT_GCC=/home/pawel/.buildozer/android/platform/android-ndk-r9c//toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc
  COLLECT_LTO_WRAPPER=/home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../libexec/gcc/arm-linux-androideabi/4.8/lto-wrapper
  Target: arm-linux-androideabi
  Configured with: /s/ndk-toolchain/src/build/../gcc/gcc-4.8/configure --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpfr=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-mpc=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-cloog=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-isl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --with-ppl=/tmp/ndk-andrewhsieh/build/toolchain/temp-install --disable-ppl-version-check --disable-cloog-version-check --disable-isl-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/tmp/ndk-andrewhsieh/build/toolchain/prefix --with-sysroot=/tmp/ndk-andrewhsieh/build/toolchain/prefix/sysroot --with-binutils-version=2.23 --with-mpfr-version=3.1.1 --with-mpc-version=1.0.1 --with-gmp-version=5.0.5 --with-gcc-version=4.8 --with-gdb-version=7.3.x --with-python=/usr/local/google/home/andrewhsieh/mydroid/ndk/prebuilt/linux-x86/bin/python-config.sh --with-gxx-include-dir=/tmp/ndk-andrewhsieh/build/toolchain/prefix/include/c++/4.8 --with-bugurl=http://source.android.com/source/report-bugs.html --disable-bootstrap --disable-libquadmath --enable-plugins --enable-libgomp --disable-libsanitizer --enable-gold --enable-graphite=yes --with-cloog-version=0.18.0 --with-isl-version=0.11.1 --enable-eh-frame-hdr-for-static --with-arch=armv5te --program-transform-name='s&amp;^&amp;arm-linux-androideabi-&amp;' --enable-gold=default
  Thread model: posix
  gcc version 4.8 (GCC) 
  configure:3565: $? = 0
  configure:3554: ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm -V &gt;&amp;5
  arm-linux-androideabi-gcc: error: unrecognized command line option '-V'
  arm-linux-androideabi-gcc: fatal error: no input files
  compilation terminated.
  configure:3565: $? = 1
  configure:3554: ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm -qversion &gt;&amp;5
  arm-linux-androideabi-gcc: error: unrecognized command line option '-qversion'
  arm-linux-androideabi-gcc: fatal error: no input files
  compilation terminated.
  configure:3565: $? = 1
  configure:3585: checking whether the C compiler works
  configure:3607: ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm  -lm conftest.c  &gt;&amp;5
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtend_android.o: No such file or directory
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lm
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl
  collect2: error: ld returned 1 exit status
  configure:3611: $? = 1
  configure:3649: result: no
  configure: failed program was:
  | /* confdefs.h */
  | #define _GNU_SOURCE 1
  | #define _NETBSD_SOURCE 1
  | #define __BSD_VISIBLE 1
  | #define _BSD_TYPES 1
  | #define _DARWIN_C_SOURCE 1
  | #define _XOPEN_SOURCE 600
  | #define _XOPEN_SOURCE_EXTENDED 1
  | #define _POSIX_C_SOURCE 200112L
  | /* end confdefs.h.  */
  | 
  | int
  | main ()
  | {
  | 
  |   ;
  |   return 0;
  | }
  configure:3654: error: in `/home/pawel/python-for-android/build/python/Python-2.7.2':
  configure:3656: error: C compiler cannot create executables
  See `config.log' for more details
  
  ## ---------------- ##
  ## Cache variables. ##
  ## ---------------- ##
  
  ac_cv_env_CC_set=set
  ac_cv_env_CC_value='ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm'
  ac_cv_env_CFLAGS_set=set
  ac_cv_env_CFLAGS_value='-DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm'
  ac_cv_env_CPPFLAGS_set=
  ac_cv_env_CPPFLAGS_value=
  ac_cv_env_CPP_set=
  ac_cv_env_CPP_value=
  ac_cv_env_LDFLAGS_set=set
  ac_cv_env_LDFLAGS_value=-lm
  ac_cv_env_LIBS_set=
  ac_cv_env_LIBS_value=
  ac_cv_env_build_alias_set=
  ac_cv_env_build_alias_value=
  ac_cv_env_host_alias_set=set
  ac_cv_env_host_alias_value=arm-eabi
  ac_cv_env_target_alias_set=
  ac_cv_env_target_alias_value=
  ac_cv_prog_CC='ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm'
  
  ## ----------------- ##
  ## Output variables. ##
  ## ----------------- ##
  
  AR='arm-linux-androideabi-ar'
  ARCH_RUN_32BIT=''
  ARFLAGS=''
  BASECFLAGS=''
  BLDLIBRARY=''
  BLDSHARED=''
  BUILDEXEEXT=''
  CC='ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm'
  CCSHARED=''
  CFLAGS='-DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm'
  CFLAGSFORSHARED=''
  CONFIGURE_MACOSX_DEPLOYMENT_TARGET=''
  CONFIG_ARGS=' '\''--host=arm-eabi'\'' '\''OPT='\'' '\''--prefix=/home/pawel/python-for-android/build/python-install'\'' '\''--enable-shared'\'' '\''--disable-toolbox-glue'\'' '\''--disable-framework'\'' '\''host_alias=arm-eabi'\'' '\''CC=ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm'\'' '\''CFLAGS=-DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm'\'' '\''LDFLAGS=-lm'\'''
  CPP=''
  CPPFLAGS=''
  CXX='ccache arm-linux-androideabi-g++ -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm'
  DEFS=''
  DLINCLDIR=''
  DLLLIBRARY=''
  DYNLOADFILE=''
  ECHO_C=''
  ECHO_N='-n'
  ECHO_T=''
  EGREP=''
  EXEEXT=''
  EXPORT_MACOSX_DEPLOYMENT_TARGET='#'
  EXTRAMACHDEPPATH=''
  EXTRAPLATDIR=''
  FRAMEWORKALTINSTALLFIRST=''
  FRAMEWORKALTINSTALLLAST=''
  FRAMEWORKINSTALLAPPSPREFIX=''
  FRAMEWORKINSTALLFIRST=''
  FRAMEWORKINSTALLLAST=''
  FRAMEWORKUNIXTOOLSPREFIX='/home/pawel/python-for-android/build/python-install'
  GNULD=''
  GREP=''
  HAS_HG=''
  HAVE_GETHOSTBYNAME=''
  HAVE_GETHOSTBYNAME_R=''
  HAVE_GETHOSTBYNAME_R_3_ARG=''
  HAVE_GETHOSTBYNAME_R_5_ARG=''
  HAVE_GETHOSTBYNAME_R_6_ARG=''
  HGBRANCH=''
  HGTAG=''
  HGVERSION=''
  INSTALL_DATA=''
  INSTALL_PROGRAM=''
  INSTALL_SCRIPT=''
  INSTSONAME=''
  LDCXXSHARED=''
  LDFLAGS='-lm'
  LDLAST=''
  LDLIBRARY=''
  LDLIBRARYDIR=''
  LDSHARED=''
  LIBC=''
  LIBFFI_INCLUDEDIR=''
  LIBM=''
  LIBOBJS=''
  LIBRARY=''
  LIBS=''
  LIBTOOL_CRUFT=''
  LINKCC=''
  LINKFORSHARED=''
  LIPO_32BIT_FLAGS=''
  LN=''
  LTLIBOBJS=''
  MACHDEP='linux3'
  MACHDEP_OBJS=''
  MAINCC=''
  OBJEXT=''
  OPT=''
  OTHER_LIBTOOL_OPT=''
  PACKAGE_BUGREPORT='http://bugs.python.org/'
  PACKAGE_NAME='python'
  PACKAGE_STRING='python 2.7'
  PACKAGE_TARNAME='python'
  PACKAGE_URL=''
  PACKAGE_VERSION='2.7'
  PATH_SEPARATOR=':'
  PKG_CONFIG=''
  PYTHONFRAMEWORK=''
  PYTHONFRAMEWORKDIR='no-framework'
  PYTHONFRAMEWORKIDENTIFIER='org.python.python'
  PYTHONFRAMEWORKINSTALLDIR=''
  PYTHONFRAMEWORKPREFIX=''
  RANLIB='arm-linux-androideabi-ranlib'
  RUNSHARED=''
  SGI_ABI=''
  SHELL='/bin/bash'
  SHLIBS=''
  SIGNAL_OBJS=''
  SO=''
  SOVERSION='1.0'
  SRCDIRS=''
  SVNVERSION=''
  THREADHEADERS=''
  THREADOBJ=''
  TRUE=''
  UNICODE_OBJS=''
  UNIVERSALSDK=''
  UNIVERSAL_ARCH_FLAGS=''
  USE_SIGNAL_MODULE=''
  USE_THREAD_MODULE=''
  VERSION='2.7'
  ac_ct_CC=''
  bindir='${exec_prefix}/bin'
  build_alias=''
  datadir='${datarootdir}'
  datarootdir='${prefix}/share'
  docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
  dvidir='${docdir}'
  exec_prefix='NONE'
  host_alias='arm-eabi'
  htmldir='${docdir}'
  includedir='${prefix}/include'
  infodir='${datarootdir}/info'
  libdir='${exec_prefix}/lib'
  libexecdir='${exec_prefix}/libexec'
  localedir='${datarootdir}/locale'
  localstatedir='${prefix}/var'
  mandir='${datarootdir}/man'
  oldincludedir='/usr/include'
  pdfdir='${docdir}'
  prefix='/home/pawel/python-for-android/build/python-install'
  program_transform_name='s,x,x,'
  psdir='${docdir}'
  sbindir='${exec_prefix}/sbin'
  sharedstatedir='${prefix}/com'
  sysconfdir='${prefix}/etc'
  target_alias=''
  
  ## ----------- ##
  ## confdefs.h. ##
  ## ----------- ##
  
  /* confdefs.h */
  #define _GNU_SOURCE 1
  #define _NETBSD_SOURCE 1
  #define __BSD_VISIBLE 1
  #define _BSD_TYPES 1
  #define _DARWIN_C_SOURCE 1
  #define _XOPEN_SOURCE 600
  #define _XOPEN_SOURCE_EXTENDED 1
  #define _POSIX_C_SOURCE 200112L
  
  configure: exit 77
  </code></pre>
  
  <p>That is probbably the most intresting part:</p>
  
  <pre><code>configure:3585: checking whether the C compiler works
  configure:3607: ccache arm-linux-androideabi-gcc -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm -DANDROID -mandroid  -fomit-frame-pointer --sysroot /home/pawel/.buildozer/android/platform/android-ndk-r9c//platforms/android-21/arch-arm  -lm conftest.c  &gt;&amp;5
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtend_android.o: No such file or directory
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lm
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc
  /home/pawel/.buildozer/android/platform/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl
  collect2: error: ld returned 1 exit status
  configure:3611: $? = 1
  configure:3649: result: no
  </code></pre>
  
  <p>I've been googling for hours.. So now I've got to ask You</p>
  
  <p>Envirement is set as:</p>
  
  <pre><code>export ANDROIDNDK="/home/user/.buildozer/android/platform/android-ndk-r9c/" 
  export ANDROIDSDK="/home/user/.buildozer/android/platform/android-sdk-21/" 
  export PATH=$ANDROIDNDK:$ANDROIDSDK/platform-tools:$ANDROIDSDK/tools:$PATH
  </code></pre>
  
  <p>export ANDROIDAPI=21 
  export ANDROIDNDKVER=r9c</p>