cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Curl and android

From: Jean-Bernard Collet <collet.jb_at_gmail.com>
Date: Thu, 24 Jun 2010 10:52:56 +0200

Hi,

I did try this morning to compile Curl with the configured step done
yesterday.

Unfortunately, I have updated the Android source tree to the new Froyo
version and it seems that Android does not compile anymore.

Do you think it may be possible to compile curl with the NDK-r4 ? (with the
previously generated config)

How do you think I should do the make ?

Thanks.

Jb

PS : When everything will work, I will write an article on my blog to detail
how to compile curl...

On Wed, Jun 23, 2010 at 11:33 PM, Jean-Bernard Collet
<collet.jb_at_gmail.com>wrote:

> Youhou !!
>
> I've figured out the problem for the configure step... :D
>
> Here is the command I used :
>
> [code]
>
>
> export A=/home/jb/sdk/android/mydroid
> export CC=$A/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc
> export SYSROOT=$A/ndk/build/platforms/android-4/arch-arm
> export LDFLAGS="-L$SYSROOT/usr/lib -Wl,--gc-sections -nostdlib -lc -lm
> -ldl -llog -lgcc -Wl,--no-undefined,-z,nocopyreloc
> -Wl,-dynamic-linker,/system/bin/linker "
> export CFLAGS="-march=armv5te -mtune=xscale -msoft-float -mandroid -fPIC
> -mthumb-interwork -mthumb -mlong-calls -ffunction-sections -fstack-protector
> -fno-short-enums -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64
> -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__
> -DANDROID -DOS_ANDROID -D__NEW__ -D__SGI_STL_INTERNAL_PAIR_H
> -I$SYSROOT/usr/include"
> ./configure --host=arm-eabi
>
> [/code]
>
> Tomorrow, I will try the make command in order to get the compiled files...
>
> Thanks a lot, I will keep you posted for further progress.
>
> Thanks again
>
>
> On Wed, Jun 23, 2010 at 10:58 PM, Jean-Bernard Collet <collet.jb_at_gmail.com
> > wrote:
>
>> Right... I think we are progressing... :D
>>
>> I have changed the command lines by these :
>>
>> [code]
>>
>> jb_at_ubuntu:~/sdk/android/mydroid$ *export A=/home/jb/sdk/android/mydroid*
>> jb_at_ubuntu:~/sdk/android/mydroid$ *export
>> CC=$A/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc*
>> jb_at_ubuntu:~/sdk/android/mydroid$ *export
>> SYSROOT=$A/ndk/build/platforms/android-4/arch-arm*
>> jb_at_ubuntu:~/sdk/android/mydroid$ *export LDFLAGS="-L$SYSROOT/usr/lib
>> -Wl,--gc-sections -nostdlib -lc -lm -ldl -llog -lgcc
>> -Wl,--no-undefined,-z,nocopyreloc -Wl,-dynamic-linker,/system/bin/linker "
>> *
>>
>> [/code]
>>
>> It also resulted in an error, but further on the configure prossess :
>>
>> [code]
>>
>> jb_at_ubuntu:~/sdk/android/mydroid/external/curl$ ./configure
>> --host=arm-eabi
>>
>> 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 whether to enable maintainer-specific portions of Makefiles... no
>> checking whether to enable debug build options... no
>> checking whether to enable compiler optimizer... (assumed) yes
>> checking whether to enable strict compiler warnings... no
>> checking whether to enable curl debug memory tracking... no
>> checking whether to enable c-ares for DNS lookups... no
>> checking for sed... /bin/sed
>> checking for grep... /bin/grep
>> checking for egrep... /bin/grep -E
>> checking for arm-eabi-ar... no
>>
>> checking for ar... /usr/bin/ar
>> checking for a BSD-compatible install... /usr/bin/install -c
>> checking whether build environment is sane... yes
>> checking for gawk... gawk
>> checking whether make sets $(MAKE)... yes
>> checking for arm-eabi-strip... no
>>
>> checking for strip... strip
>> checking curl version... 7.21.0
>> checking build system type... i686-pc-linux-gnu
>> checking host system type... arm-unknown-eabi
>>
>> checking for style of include used by make... GNU
>> checking for arm-eabi-gcc...
>> /home/jb/sdk/android/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc
>> checking whether the C compiler works... yes
>> checking for C compiler default output file name... a.out
>> checking for suffix of executables...
>> checking whether we are cross compiling... yes
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether
>> /home/jb/sdk/android/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc
>> accepts -g... yes
>> checking for
>> /home/jb/sdk/android/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc
>> option to accept ISO C89... unsupported
>> checking dependency style of
>> /home/jb/sdk/android/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc...
>> gcc3
>> checking for sys/types.h... no
>> checking for stdint.h... no
>> checking for inttypes.h... no
>> checking how to run the C preprocessor...
>> /home/jb/sdk/android/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc
>> -E
>> checking for grep that handles long lines and -e... (cached) /bin/grep
>>
>> checking for egrep... /bin/grep -E
>> checking for ANSI C header files... no
>> checking for sys/types.h... (cached) no
>> checking for sys/stat.h... no
>> checking for stdlib.h... no
>> checking for string.h... no
>> checking for memory.h... no
>> checking for strings.h... no
>> checking for inttypes.h... (cached) no
>> checking for stdint.h... (cached) no
>> checking for unistd.h... no
>> checking size of long... 0
>> checking size of void*... 0
>> configure: error: cannot find out size of long.
>>
>> [/code]
>>
>> I join again the config.log file. It is weird, the error seems to come
>> from the fact that the compiler do not find "stdio.h"... Did you experienced
>> such error ?
>>
>> I start looking for documentation about it... We are almost there ;)
>>
>> Thanks for your help.
>>
>>
>> On Wed, Jun 23, 2010 at 10:30 PM, Dan Fandrich <dan_at_coneharvesters.com>wrote:
>>
>>> On Wed, Jun 23, 2010 at 10:19:58PM +0200, Jean-Bernard Collet wrote:
>>> > Sorry, but I did not understand your point there :
>>> >
>>> > Somehow a space got added after the - in -lm.
>>>
>>> If you look at the log, the command line looks like "blahblah - lm
>>> blahblah"
>>> when it should be "blahblah -lm blahblah". That is going to affect
>>> configure.
>>>
>>> > I have added the "-L$A/out/.../obj/lib" and "-L$A/out/.../system/lib"
>>> to the
>>> > LIBS.
>>> >
>>> > Furthermore, the crtbegin_dynamic.0 is on the path referenced... I
>>> don't
>>> > understand why the system cannot find it... Do you think I should
>>> change any
>>> > rights on files ?
>>>
>>> That's a red herring. The broken "- lm" option is going to invalidate the
>>> entire command.
>>>
>>> >>> Dan
>>> -------------------------------------------------------------------
>>> List admin: http://cool.haxx.se/list/listinfo/curl-library
>>> Etiquette: http://curl.haxx.se/mail/etiquette.html
>>>
>>
>>
>>
>> --
>> Jb Collet
>> -----------------------------------------------------------
>> Student - Master 2
>> University of Namur
>> phone: +32 499 35 43 37
>> email: collet.jb_at_gmail.com
>> -----------------------------------------------------------
>>
>
>
>
> --
> Jb Collet
> -----------------------------------------------------------
> Student - Master 2
> University of Namur
> phone: +32 499 35 43 37
> email: collet.jb_at_gmail.com
> -----------------------------------------------------------
>

-- 
Jb Collet
-----------------------------------------------------------
Student - Master 2
University of Namur
phone: +32 499 35 43 37
email:  collet.jb_at_gmail.com
-----------------------------------------------------------

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2010-06-24