[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [libmicrohttpd] How to compile MHD for ARMv7?
From: |
Evgeny Grin |
Subject: |
Re: [libmicrohttpd] How to compile MHD for ARMv7? |
Date: |
Fri, 17 Feb 2017 11:46:42 +0300 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 |
Hi!
Could you provide a link to full configure.log?
May be some other fine tuning is required too,
--
Best Wishes,
Evgeny Grin
On 16.02.2017 9:03, silvioprog wrote:
> Oops, the full log of ./configure:
>
> $ ./configure --host=arm-linux-androideabi
> --target=arm-linux-androideabi --disable-httpschecking for a
> BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for arm-linux-androideabi-strip... arm-linux-androideabi-strip
> checking for a thread-safe mkdir -p... /bin/mkdir -p
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether make supports nested variables... yes
> checking for a sed that does not truncate output... /bin/sed
> checking whether NLS is requested... yes
> checking for msgfmt... /usr/bin/msgfmt
> checking for gmsgfmt... /usr/bin/msgfmt
> checking for xgettext... /usr/bin/xgettext
> checking for msgmerge... /usr/bin/msgmerge
> checking for style of include used by make... GNU
> checking for arm-linux-androideabi-gcc... arm-linux-androideabi-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 arm-linux-androideabi-gcc accepts -g... yes
> checking for arm-linux-androideabi-gcc option to accept ISO C89... none
> needed
> checking whether arm-linux-androideabi-gcc understands -c and -o
> together... yes
> checking dependency style of arm-linux-androideabi-gcc... gcc3
> checking build system type... x86_64-pc-linux-gnu
> checking host system type... arm-unknown-linux-androideabi
> checking for ld used by arm-linux-androideabi-gcc...
> /usr/arm-linux-androideabi/bin/ld
> checking if the linker (/usr/arm-linux-androideabi/bin/ld) is GNU ld... yes
> checking for shared library run path origin... done
> checking how to run the C preprocessor... arm-linux-androideabi-gcc -E
> checking for grep that handles long lines and -e... /bin/grep
> checking for egrep... /bin/grep -E
> checking for CFPreferencesCopyAppValue... no
> checking for CFLocaleCopyCurrent... no
> checking for GNU gettext in libc... no
> checking for iconv... no, consider installing GNU libiconv
> checking for GNU gettext in libintl... no
> checking whether to use NLS... no
> checking whether z/OS special settings are required... no
> checking for gawk... (cached) gawk
> checking whether ln -s works... yes
> checking whether make sets $(MAKE)... (cached) yes
> checking for arm-linux-androideabi-gcc option to accept ISO C99...
> -std=gnu99
> checking for arm-linux-androideabi-gcc -std=gnu99 option to accept ISO
> Standard C... (cached) -std=gnu99
> checking for presence of stdio.h... yes
> checking for presence of wchar.h... yes
> checking for presence of stdlib.h... yes
> checking for presence of string.h... yes
> checking for presence of strings.h... yes
> checking for presence of stdint.h... yes
> checking for presence of fcntl.h... yes
> checking for presence of sys/types.h... yes
> checking for presence of time.h... yes
> checking for presence of unistd.h... yes
> checking whether _XOPEN_SOURCE is already defined... no
> checking whether headers accept _XOPEN_SOURCE with value 700... yes
> checking whether _XOPEN_SOURCE with value 700 really enable
> POSIX.1-2008/SUSv4 features... no
> checking whether headers accept _XOPEN_SOURCE with value 600... yes
> checking whether _XOPEN_SOURCE with value 600 really enable
> POSIX.1-2001/SUSv3 features... yes
> checking whether _GNU_SOURCE is already defined... no
> checking whether headers accept _GNU_SOURCE... yes
> checking whether to try __BSD_VISIBLE macro... yes
> checking whether __BSD_VISIBLE is already defined... yes
> checking whether to try _DARWIN_C_SOURCE macro... no
> checking whether to try __EXTENSIONS__ macro... no
> checking whether to try _NETBSD_SOURCE macro... no
> checking whether to try _BSD_SOURCE macro... no
> checking whether to try _TANDEM_SOURCE macro... no
> checking whether to try _ALL_SOURCE macro... no
> checking for final set of defined symbols... _XOPEN_SOURCE=600 _GNU_SOURCE
> checking how to print strings... printf
> checking for a sed that does not truncate output... (cached) /bin/sed
> checking for fgrep... /bin/grep -F
> checking for ld used by arm-linux-androideabi-gcc -std=gnu99...
> /usr/arm-linux-androideabi/bin/ld
> checking if the linker (/usr/arm-linux-androideabi/bin/ld) is GNU ld... yes
> checking for BSD- or MS-compatible name lister (nm)...
> /usr/bin/arm-linux-androideabi-nm -B
> checking the name lister (/usr/bin/arm-linux-androideabi-nm -B)
> interface... BSD nm
> checking the maximum length of command line arguments... 1572864
> checking how to convert x86_64-pc-linux-gnu file names to
> arm-unknown-linux-androideabi format... func_convert_file_noop
> checking how to convert x86_64-pc-linux-gnu file names to toolchain
> format... func_convert_file_noop
> checking for /usr/arm-linux-androideabi/bin/ld option to reload object
> files... -r
> checking for arm-linux-androideabi-objdump... arm-linux-androideabi-objdump
> checking how to recognize dependent libraries... pass_all
> checking for arm-linux-androideabi-dlltool... no
> checking for dlltool... no
> checking how to associate runtime and link libraries... printf %s\n
> checking for arm-linux-androideabi-ar... arm-linux-androideabi-ar
> checking for archiver @FILE support... @
> checking for arm-linux-androideabi-strip... (cached)
> arm-linux-androideabi-strip
> checking for arm-linux-androideabi-ranlib... arm-linux-androideabi-ranlib
> checking command to parse /usr/bin/arm-linux-androideabi-nm -B output
> from arm-linux-androideabi-gcc -std=gnu99 object... ok
> checking for sysroot... no
> checking for a working dd... /bin/dd
> checking how to truncate binary pipes... /bin/dd bs=4096 count=1
> checking for arm-linux-androideabi-mt... no
> checking for mt... mt
> configure: WARNING: using cross tools not prefixed with host triplet
> checking if mt is a manifest tool... no
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking for dlfcn.h... yes
> checking for objdir... .libs
> checking if arm-linux-androideabi-gcc -std=gnu99 supports -fno-rtti
> -fno-exceptions... no
> checking for arm-linux-androideabi-gcc -std=gnu99 option to produce
> PIC... -fPIC -DPIC
> checking if arm-linux-androideabi-gcc -std=gnu99 PIC flag -fPIC -DPIC
> works... yes
> checking if arm-linux-androideabi-gcc -std=gnu99 static flag -static
> works... yes
> checking if arm-linux-androideabi-gcc -std=gnu99 supports -c -o
> file.o... yes
> checking if arm-linux-androideabi-gcc -std=gnu99 supports -c -o
> file.o... (cached) yes
> checking whether the arm-linux-androideabi-gcc -std=gnu99 linker
> (/usr/arm-linux-androideabi/bin/ld) supports shared libraries... yes
> checking whether -lc should be explicitly linked in... no
> checking dynamic linker characteristics... Android linker
> checking how to hardcode library paths into programs... immediate
> checking whether stripping libraries is possible... yes
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking for arm-linux-androideabi-windres... no
> checking for windres... no
> checking for _Bool... yes
> checking whether C compiler accepts -Werror=attributes... yes
> checking for function inline keywords suppoted by
> arm-linux-androideabi-gcc -std=gnu99... inline
> __attribute__((always_inline))
> checking for target host OS... Linux
> checking whether arm-linux-androideabi-gcc -std=gnu99 is Clang... no
> checking whether pthreads work with -pthread... yes
> checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
> checking whether more special flags are required for pthreads... no
> checking for PTHREAD_PRIO_INHERIT... no
> checking for threading lib to use with libmicrohttpd... posix
> checking for pthread_np.h... no
> checking whether pthread_setname_np is declared... yes
> checking for pthread_setname_np(3) in NetBSD or OSF1 form... no
> checking for pthread_setname_np(3) in GNU/Linux form... yes
> checking whether to enable thread names... yes
> checking whether the linker accepts -fno-strict-aliasing... yes
> checking whether C compiler accepts -fno-strict-aliasing... yes
> checking whether byte ordering is bigendian... no
> checking for curl... yes
> checking for makeinfo... yes
> checking for poll.h... yes
> checking for poll... yes
> checking linux/version.h usability... yes
> checking linux/version.h presence... yes
> checking for linux/version.h... yes
> checking for Linux epoll(7) interface... yes
> checking for epoll_create1()... no
> checking for fcntl.h... yes
> checking for math.h... yes
> checking for errno.h... yes
> checking for limits.h... yes
> checking for stdio.h... yes
> checking for locale.h... yes
> checking for sys/stat.h... (cached) yes
> checking for sys/types.h... (cached) yes
> checking for sys/types.h... (cached) yes
> checking for sys/time.h... yes
> checking for sys/msg.h... no
> checking for time.h... yes
> checking for sys/mman.h... yes
> checking for search.h... yes
> checking for sys/ioctl.h... yes
> checking for sys/socket.h... yes
> checking for sys/select.h... yes
> checking for netdb.h... yes
> checking for netinet/in.h... yes
> checking for netinet/ip.h... yes
> checking for netinet/tcp.h... yes
> checking for arpa/inet.h... yes
> checking for endian.h... yes
> checking for machine/endian.h... no
> checking for sys/endian.h... yes
> checking for sys/param.h... yes
> checking for sys/machine.h... no
> checking for sys/byteorder.h... no
> checking for machine/param.h... no
> checking for sys/isa_defs.h... no
> checking for inttypes.h... (cached) yes
> checking for stddef.h... yes
> checking for unistd.h... (cached) yes
> checking for sockLib.h... no
> checking for inetLib.h... no
> checking for net/if.h... yes
> checking for rand... no
> checking for random... no
> checking for struct sockaddr_in.sin_len... no
> checking for sys/eventfd.h... yes
> checking whether eventfd(2) is usable... yes
> checking for accept4... no
> checking for gmtime_r... yes
> checking for memmem... yes
> checking for snprintf... yes
> checking whether gmtime_s is declared... no
> checking whether SOCK_NONBLOCK is declared... no
> checking for library containing clock_gettime... none required
> checking for clock_get_time... no
> checking for gethrtime... no
> checking for IPv6... yes
> checking whether the linker accepts -fvisibility=hidden... yes
> checking whether C compiler accepts -fvisibility=hidden... yes
> checking for gawk... (cached) gawk
> checking for curl-config... /usr/bin/curl-config
> checking for the version of libcurl... 7.47.0
> checking for libcurl >= version 7.16.4... yes
> checking whether libcurl is usable... no
> checking for magic_open in -lmagic... no
> checking for special C compiler options needed for large files... no
> checking for _FILE_OFFSET_BITS value needed for large files... unknown
> checking for _LARGE_FILES value needed for large files... unknown
> checking for _LARGEFILE_SOURCE value needed for large files... no
> checking for _lseeki64... no
> checking for lseek64... yes
> checking for sendfile64... no
> checking whether to generate error messages... yes
> checking whether to enable postprocessor... yes
> checking for zzuf... no
> checking for socat... no
> checking for arm-linux-androideabi-libgcrypt-config... no
> checking for libgcrypt-config... /usr/bin/libgcrypt-config
> checking for LIBGCRYPT - version >= 1.2.2... yes (1.6.5)
> configure: WARNING:
> ***
> *** The config script /usr/bin/libgcrypt-config was
> *** built for x86_64-pc-linux-gnu and thus may not match the
> *** used host arm-unknown-linux-androideabi.
> *** You may want to use the configure option --with-libgcrypt-prefix
> *** to specify a matching config script.
> ***
> checking for gcrypt.h... no
> checking how to find GnuTLS library... automatically
> checking for arm-linux-androideabi-pkg-config... no
> checking for pkg-config... /usr/bin/pkg-config
> checking pkg-config is at least version 0.9.0... yes
> checking for GNUTLS... yes
> checking whether GnuTLS is usable... no
> configure: WARNING: pkg-config reports that GnuTLS is present, but
> GnuTLS can't be used
> checking whether to support HTTPS... no (disabled)
> checking whether to support HTTP basic authentication... yes
> checking whether to support HTTP digest authentication... yes
> checking whether to compile with support for code coverage analysis... no
> checking the number of available CPUs... 8
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating src/microhttpd/microhttpd_dll_res.rc
> config.status: creating libmicrohttpd.pc
> config.status: creating w32/common/microhttpd_dll_res_vc.rc
> config.status: creating Makefile
> config.status: creating contrib/Makefile
> config.status: creating doc/Makefile
> config.status: creating doc/doxygen/Makefile
> config.status: creating doc/examples/Makefile
> config.status: creating m4/Makefile
> config.status: creating po/Makefile.in
> config.status: creating src/Makefile
> config.status: creating src/include/Makefile
> config.status: creating src/microhttpd/Makefile
> config.status: creating src/examples/Makefile
> config.status: creating src/testcurl/Makefile
> config.status: creating src/testcurl/https/Makefile
> config.status: creating src/testzzuf/Makefile
> config.status: creating MHD_config.h
> config.status: MHD_config.h is unchanged
> config.status: executing po-directories commands
> config.status: creating po/POTFILES
> config.status: creating po/Makefile
> config.status: executing depfiles commands
> config.status: executing libtool commands
> configure: libmicrohttpd 0.9.52 Configuration Summary:
> Cross-compiling: yes
> Operating System: linux-androideabi
> Threading lib: posix
> Use thread names: yes
> Inter-thread comm: eventfd
> libcurl (testing): no, many unit tests will not run
> Target directory: /usr/local
> Messages: yes
> Basic auth.: yes
> Digest auth.: yes
> Postproc: yes
> HTTPS support: no (disabled)
> poll support: yes
> epoll support: yes
> build docs: yes
> build examples: yes
>
> configure:
> License : LGPL or eCos
>
> On Thu, Feb 16, 2017 at 2:42 AM, silvioprog <address@hidden
> <mailto:address@hidden>> wrote:
>
> Hello masters,
>
> I'm developing an embedded HTTP server for ARM using MHD as HTTP
> core library, however, I couldn't compile it as static library in my
> Xubuntu. Below all steps I've tried:
>
> *Configuration:*
>
> configure: libmicrohttpd 0.9.52 Configuration Summary:
> Cross-compiling: yes
> Operating System: linux-androideabi
> Threading lib: posix
> Use thread names: yes
> Inter-thread comm: eventfd
> libcurl (testing): no, many unit tests will not run
> Target directory: /usr/local
> Messages: yes
> Basic auth.: yes
> Digest auth.: yes
> Postproc: yes
> HTTPS support: no (disabled)
> poll support: yes
> epoll support: yes
> build docs: yes
> build examples: yes
>
> configure:
> License : LGPL or eCos
>
> *Step 1:*
>
> ./configure --host=arm-linux-androideabi --enable-shared=no
> --enable-static=yes --disable-https
> make CFLAGS="-Wno-sign-compare -Wno-unused-parameter"
>
> /(the CFLAGS idea above was extracted from:
>
> https://android.googlesource.com/platform/external/libmicrohttpd/+/3b641bc5341bd35a4b798224d4c637c65d78ada0/Android.mk
>
> <https://android.googlesource.com/platform/external/libmicrohttpd/+/3b641bc5341bd35a4b798224d4c637c65d78ada0/Android.mk>)/
>
> Error:FAILURE: Build failed with an exception.
>
> * What went wrong:
> Execution failed for task ':app:externalNativeBuildArm7Debug'.
> > Build command failed.
> Error while executing
> '/home/silvioprog/Android/Sdk/cmake/3.6.3155560/bin/cmake' with
> arguments {--build
>
> /home/silvioprog/Android/Projects/MyApplication/app/.externalNativeBuild/cmake/arm7Debug/armeabi-v7a
> --target mhd}
> [1/1] Linking C shared library
>
> /home/silvioprog/Android/Projects/MyApplication/app/build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
> FAILED: : &&
>
> /home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
> -target armv7-none-linux-androideabi -gcc-toolchain
>
> /home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
>
> --sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/platforms/android-15/arch-arm
> -fPIC -g -DANDROID -ffunction-sections -funwind-tables
> -fstack-protector-strong -no-canonical-prefixes -march=armv7-a
> -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-integrated-as -mthumb
> -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID
> -ffunction-sections -funwind-tables -fstack-protector-strong
> -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp
> -mfpu=vfpv3-d16 -fno-integrated-as -mthumb -Wa,--noexecstack
> -Wformat -Werror=format-security -O0 -fno-limit-debug-info -O0
> -fno-limit-debug-info -Wl,--build-id -Wl,--warn-shared-textrel
> -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--no-undefined
> -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
> -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings
> -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack
> -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared
> -Wl,-soname,libmhd.so -o
>
> /home/silvioprog/Android/Projects/MyApplication/app/build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
> CMakeFiles/mhd.dir/src/mhd.c.o
>
> /home/silvioprog/Android/Projects/MyApplication/app/src/main/jniLibs/armeabi-v7a/libmicrohttpd.a
> -lm && :
>
>
> /home/silvioprog/Android/Projects/MyApplication/app/src/main/jniLibs/armeabi-v7a/libmicrohttpd.a(libmicrohttpd_la-daemon.o):daemon.c:function
> MHD_ip_limit_add: error: undefined reference to 'tsearch'
>
>
> /home/silvioprog/Android/Projects/MyApplication/app/src/main/jniLibs/armeabi-v7a/libmicrohttpd.a(libmicrohttpd_la-daemon.o):daemon.c:function
> MHD_ip_limit_del: error: undefined reference to 'tfind'
>
>
> /home/silvioprog/Android/Projects/MyApplication/app/src/main/jniLibs/armeabi-v7a/libmicrohttpd.a(libmicrohttpd_la-daemon.o):daemon.c:function
> MHD_ip_limit_del: error: undefined reference to 'tdelete'
> clang: error: linker command failed with exit code 1 (use -v to
> see invocation)
> ninja: build stopped: subcommand failed.
>
> *Step 2:*
>
> ./configure --host=arm-linux-androideabi --enable-shared=no
> --enable-static=yes --disable-https
> make
>
> Error:FAILURE: Build failed with an exception.
>
> * What went wrong:
> Execution failed for task ':app:externalNativeBuildArm7Debug'.
> > Build command failed.
> Error while executing
> '/home/silvioprog/Android/Sdk/cmake/3.6.3155560/bin/cmake' with
> arguments {--build
>
> /home/silvioprog/Android/Projects/MyApplication/app/.externalNativeBuild/cmake/arm7Debug/armeabi-v7a
> --target mhd}
> [1/1] Linking C shared library
>
> /home/silvioprog/Android/Projects/MyApplication/app/build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
> FAILED: : &&
>
> /home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
> -target armv7-none-linux-androideabi -gcc-toolchain
>
> /home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
>
> --sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/platforms/android-15/arch-arm
> -fPIC -g -DANDROID -ffunction-sections -funwind-tables
> -fstack-protector-strong -no-canonical-prefixes -march=armv7-a
> -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-integrated-as -mthumb
> -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID
> -ffunction-sections -funwind-tables -fstack-protector-strong
> -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp
> -mfpu=vfpv3-d16 -fno-integrated-as -mthumb -Wa,--noexecstack
> -Wformat -Werror=format-security -O0 -fno-limit-debug-info -O0
> -fno-limit-debug-info -Wl,--build-id -Wl,--warn-shared-textrel
> -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--no-undefined
> -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
> -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings
> -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack
> -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared
> -Wl,-soname,libmhd.so -o
>
> /home/silvioprog/Android/Projects/MyApplication/app/build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
> CMakeFiles/mhd.dir/src/mhd.c.o
>
> /home/silvioprog/Android/Projects/MyApplication/app/src/main/jniLibs/armeabi-v7a/libmicrohttpd.a
> -lm && :
> daemon.c:375: error: undefined reference to 'tfind'
> daemon.c:392: error: undefined reference to 'tdelete'
> daemon.c:317: error: undefined reference to 'tsearch'
> clang: error: linker command failed with exit code 1 (use -v to
> see invocation)
> ninja: build stopped: subcommand failed.
>
> *Step 3:*
>
> ./configure --host=arm-linux-androideabi --enable-shared=no
> --enable-static=yes --disable-https --disable-curl
> make CC=arm-linux-androideabi-gcc LD=arm-linux-androideabi-ld
>
> /(inspired by https://gnunet.org/mhd-on-openwrt
> <https://gnunet.org/mhd-on-openwrt>)/
>
> Error:FAILURE: Build failed with an exception.
>
> * What went wrong:
> Execution failed for task ':app:externalNativeBuildArm7Debug'.
> > Build command failed.
> Error while executing
> '/home/silvioprog/Android/Sdk/cmake/3.6.3155560/bin/cmake' with
> arguments {--build
>
> /home/silvioprog/Android/Projects/MyApplication/app/.externalNativeBuild/cmake/arm7Debug/armeabi-v7a
> --target mhd}
> [1/1] Linking C shared library
>
> /home/silvioprog/Android/Projects/MyApplication/app/build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
> FAILED: : &&
>
> /home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
> -target armv7-none-linux-androideabi -gcc-toolchain
>
> /home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
>
> --sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/platforms/android-15/arch-arm
> -fPIC -g -DANDROID -ffunction-sections -funwind-tables
> -fstack-protector-strong -no-canonical-prefixes -march=armv7-a
> -mfloat-abi=softfp -mfpu=vfpv3-d16 -fno-integrated-as -mthumb
> -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID
> -ffunction-sections -funwind-tables -fstack-protector-strong
> -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp
> -mfpu=vfpv3-d16 -fno-integrated-as -mthumb -Wa,--noexecstack
> -Wformat -Werror=format-security -O0 -fno-limit-debug-info -O0
> -fno-limit-debug-info -Wl,--build-id -Wl,--warn-shared-textrel
> -Wl,--fatal-warnings -Wl,--fix-cortex-a8 -Wl,--no-undefined
> -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
> -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings
> -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack
> -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared
> -Wl,-soname,libmhd.so -o
>
> /home/silvioprog/Android/Projects/MyApplication/app/build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
> CMakeFiles/mhd.dir/src/mhd.c.o
>
> /home/silvioprog/Android/Projects/MyApplication/app/src/main/jniLibs/armeabi-v7a/libmicrohttpd.a
> -lm && :
> daemon.c:375: error: undefined reference to 'tfind'
> daemon.c:392: error: undefined reference to 'tdelete'
> daemon.c:317: error: undefined reference to 'tsearch'
> clang: error: linker command failed with exit code 1 (use -v to
> see invocation)
> ninja: build stopped: subcommand failed.
>
> *Step 4:*
>
> Downloaded the package
> "https://archlinuxarm.org/packages/arm/libmicrohttpd
> <https://archlinuxarm.org/packages/arm/libmicrohttpd>", but
> unfortunately it distribute only the shared library that isn't
> compatible with my ARM version. :-/
>
> So, what are the tricks to compile MHD for ARM? :-)
>
> Thank you!
>
> /(I successfully compiled libcurl using this steps:
> https://github.com/gcesarmza/curl-android-ios
> <https://github.com/gcesarmza/curl-android-ios>, it would by nice a
> script like this for MHD :-) )/
>
> My environment:
>
> *$ lsb_release -a*
> No LSB modules are available.
> Distributor ID:Ubuntu
> Description:Ubuntu 16.04.2 LTS
> Release:16.04
> Codename:xenial
>
> *$ arm-linux-androideabi-gcc -v*
> Using built-in specs.
> COLLECT_GCC=arm-linux-androideabi-gcc
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-androideabi/4.7.4/lto-wrapper
> Target: arm-linux-androideabi
> Configured with: ../src/configure --prefix=/usr
> --libexecdir=/usr/lib --build=x86_64-linux-gnu
> --host=x86_64-linux-gnu --target=arm-linux-androideabi
>
> --with-build-sysroot=/build/gcc-arm-linux-androideabi-LAi2yM/gcc-arm-linux-androideabi-0.20130705.1/sys-root
> --disable-multilib --with-gnu-as --with-gnu-ld
> --enable-languages=c,c++ --disable-ppl-version-check
> --disable-cloog-version-check --enable-cloog-backend=ppl
> --disable-libssp --disable-nls --disable-libmudflap --disable-shared
> --disable-sjlj-exceptions --disable-libquadmath --disable-libitm
> --disable-libatomic --with-float=soft --with-fpu=vfp
> --with-arch=armv5te --enable-target-optspace --disable-docs
> --disable-nls --enable-threads --enable-tls --enable-libgomp
> --disable-libitm --disable-libatomic --disable-libstdc__-v3
> Thread model: posix
> gcc version 4.7.4 (Linaro GCC 4.7-2014.04-1~dev)
>
> *$ adb shell cat /proc/cpuinfo*
> Processor: ARMv7 Processor rev 3 (v7l)
> processor: 0
> BogoMIPS: 38.40
>
> processor: 1
> BogoMIPS: 38.40
>
> processor: 2
> BogoMIPS: 38.40
>
> processor: 3
> BogoMIPS: 38.40
>
> Features: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
> idiva idivt
> CPU implementer: 0x41
> CPU architecture: 7
> CPU variant: 0x0
> CPU part: 0xc07
> CPU revision: 3
>
> Hardware: Qualcomm MSM8226
> Revision: 0006
> Serial: 0000000000000000
>
> --
> Silvio Clécio
>
>
>
>
> --
> Silvio Clécio
- [libmicrohttpd] How to compile MHD for ARMv7?, silvioprog, 2017/02/16
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, silvioprog, 2017/02/16
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, silvioprog, 2017/02/16
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, silvioprog, 2017/02/16
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, Christian Grothoff, 2017/02/16
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, silvioprog, 2017/02/17
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, silvioprog, 2017/02/18
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, silvioprog, 2017/02/19
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, Christian Grothoff, 2017/02/19
- Re: [libmicrohttpd] How to compile MHD for ARMv7?, silvioprog, 2017/02/20
Re: [libmicrohttpd] How to compile MHD for ARMv7?,
Evgeny Grin <=