Discussion:
[libmicrohttpd] How to compile MHD for ARMv7?
silvioprog
2017-02-16 05:42:55 UTC
Permalink
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",
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
silvioprog
2017-02-16 06:03:44 UTC
Permalink
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
Post by silvioprog
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.
*Configuration:*
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
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"
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.
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
/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.
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
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.
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
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", 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!
https://github.com/gcesarmza/curl-android-ios
<https://github.com/gcesarmza/curl-android-ios>, it would by nice a script
like this for MHD :-) )*
*$ 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
silvioprog
2017-02-16 06:48:06 UTC
Permalink
The attached patch fix the compilation.

Now I'm going to implement and test my ARM (Android) project using MHD as
HTTP server! :-)
--
Silvio Clécio
silvioprog
2017-02-16 07:18:04 UTC
Permalink
Oh YEAH, it works! :-D Attached picture shows MHD working like a charm in
my Android. Please apply the patch sent in previous e-mail. :-)
Post by silvioprog
The attached patch fix the compilation.
Now I'm going to implement and test my ARM (Android) project using MHD as
HTTP server! :-)
--
Silvio Clécio
--
Silvio Clécio
Christian Grothoff
2017-02-16 10:22:19 UTC
Permalink
Post by silvioprog
The attached patch fix the compilation.
Maybe, but as written it will break compilation on other systems.

I've deployed a new tsearch test based on gnulib's code in
f154b0ef..82d65c48, which should actually achieve some reasonable level
of portability.

Please let me know if it doesn't work for some reason.

Happy hacking!

Christian
silvioprog
2017-02-17 14:07:54 UTC
Permalink
Perfect dude! :-)

I'm going to retest it (from trunk) and back feedback ...
Post by Christian Grothoff
Post by silvioprog
The attached patch fix the compilation.
Maybe, but as written it will break compilation on other systems.
I've deployed a new tsearch test based on gnulib's code in
f154b0ef..82d65c48, which should actually achieve some reasonable level
of portability.
Please let me know if it doesn't work for some reason.
Happy hacking!
Christian
--
Silvio Clécio
silvioprog
2017-02-19 04:58:46 UTC
Permalink
Oh, sorry my delay.

I updated my GIT copy to SHA 82d65c48 and rebuild my Android app, but same
problem when I try to compile it. :-/

config.log in attachment.
Post by Christian Grothoff
Post by silvioprog
The attached patch fix the compilation.
Maybe, but as written it will break compilation on other systems.
I've deployed a new tsearch test based on gnulib's code in
f154b0ef..82d65c48, which should actually achieve some reasonable level
of portability.
Please let me know if it doesn't work for some reason.
Happy hacking!
Christian
--
Silvio Clécio
silvioprog
2017-02-19 05:05:55 UTC
Permalink
Please apply this new patch and delete sent config.logs. :-) This patch fix
the problem after latest Grothoff's commit. (SHA 82d65c48)
--
Silvio Clécio
Christian Grothoff
2017-02-19 10:58:26 UTC
Permalink
Done.
Post by silvioprog
Please apply this new patch and delete sent config.logs. :-) This patch fix
the problem after latest Grothoff's commit. (SHA 82d65c48)
--
silvioprog
2017-02-20 05:40:33 UTC
Permalink
thanks masters! :-)
Done.
Post by silvioprog
Please apply this new patch and delete sent config.logs. :-) This patch
fix
Post by silvioprog
the problem after latest Grothoff's commit. (SHA 82d65c48)
--
--
Silvio Clécio
Evgeny Grin
2017-02-17 08:46:42 UTC
Permalink
Hi!

Could you provide a link to full configure.log?
May be some other fine tuning is required too,
--
Best Wishes,
Evgeny Grin
Post by silvioprog
$ ./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 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)
***
*** 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
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
License : LGPL or eCos
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
*Configuration:*
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
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"
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.
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
/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.
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
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.
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
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!
https://github.com/gcesarmza/curl-android-ios
<https://github.com/gcesarmza/curl-android-ios>, it would by nice a
script like this for MHD :-) )/
*$ 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
silvioprog
2017-02-17 14:09:18 UTC
Permalink
Yes, I can! :-)

I'm going to get it from the stable package 0.9.52 ...
Post by Evgeny Grin
Hi!
Could you provide a link to full configure.log?
May be some other fine tuning is required too,
--
Best Wishes,
Evgeny Grin
Post by silvioprog
$ ./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
Post by silvioprog
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
Post by silvioprog
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
Post by silvioprog
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
Post by silvioprog
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 arm-linux-androideabi-strip... (cached)
arm-linux-androideabi-strip
checking for arm-linux-androideabi-ranlib...
arm-linux-androideabi-ranlib
Post by silvioprog
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)
***
*** 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
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
License : LGPL or eCos
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
*Configuration:*
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
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"
https://android.googlesource.com/platform/external/libmicrohttpd/+/
3b641bc5341bd35a4b798224d4c637c65d78ada0/Android.mk
Post by silvioprog
<https://android.googlesource.com/platform/external/libmicrohttpd/+/
3b641bc5341bd35a4b798224d4c637c65d78ada0/Android.mk>)/
Post by silvioprog
Error:FAILURE: Build failed with an exception.
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
Post by silvioprog
--target mhd}
[1/1] Linking C shared library
/home/silvioprog/Android/Projects/MyApplication/app/
build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
Post by silvioprog
FAILED: : &&
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/
prebuilt/linux-x86_64/bin/clang
Post by silvioprog
-target armv7-none-linux-androideabi -gcc-toolchain
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-
linux-androideabi-4.9/prebuilt/linux-x86_64
Post by silvioprog
--sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/
platforms/android-15/arch-arm
Post by silvioprog
-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
Post by silvioprog
CMakeFiles/mhd.dir/src/mhd.c.o
/home/silvioprog/Android/Projects/MyApplication/app/
src/main/jniLibs/armeabi-v7a/libmicrohttpd.a
Post by silvioprog
/home/silvioprog/Android/Projects/MyApplication/app/
src/main/jniLibs/armeabi-v7a/libmicrohttpd.a(libmicrohttpd_
la-daemon.o):daemon.c:function
Post by silvioprog
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
Post by silvioprog
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
Post by silvioprog
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.
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
Post by silvioprog
--target mhd}
[1/1] Linking C shared library
/home/silvioprog/Android/Projects/MyApplication/app/
build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
Post by silvioprog
FAILED: : &&
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/
prebuilt/linux-x86_64/bin/clang
Post by silvioprog
-target armv7-none-linux-androideabi -gcc-toolchain
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-
linux-androideabi-4.9/prebuilt/linux-x86_64
Post by silvioprog
--sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/
platforms/android-15/arch-arm
Post by silvioprog
-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
Post by silvioprog
CMakeFiles/mhd.dir/src/mhd.c.o
/home/silvioprog/Android/Projects/MyApplication/app/
src/main/jniLibs/armeabi-v7a/libmicrohttpd.a
Post by silvioprog
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.
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
Post by silvioprog
--target mhd}
[1/1] Linking C shared library
/home/silvioprog/Android/Projects/MyApplication/app/
build/intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
Post by silvioprog
FAILED: : &&
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/
prebuilt/linux-x86_64/bin/clang
Post by silvioprog
-target armv7-none-linux-androideabi -gcc-toolchain
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-
linux-androideabi-4.9/prebuilt/linux-x86_64
Post by silvioprog
--sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/
platforms/android-15/arch-arm
Post by silvioprog
-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
Post by silvioprog
CMakeFiles/mhd.dir/src/mhd.c.o
/home/silvioprog/Android/Projects/MyApplication/app/
src/main/jniLibs/armeabi-v7a/libmicrohttpd.a
Post by silvioprog
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!
https://github.com/gcesarmza/curl-android-ios
<https://github.com/gcesarmza/curl-android-ios>, it would by nice a
script like this for MHD :-) )/
*$ 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
Post by silvioprog
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
Post by silvioprog
--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
silvioprog
2017-02-19 04:59:24 UTC
Permalink
Done. In attachment (from 0.9.52).
Post by silvioprog
Yes, I can! :-)
I'm going to get it from the stable package 0.9.52 ...
Post by Evgeny Grin
Hi!
Could you provide a link to full configure.log?
May be some other fine tuning is required too,
--
Best Wishes,
Evgeny Grin
Post by silvioprog
$ ./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
Post by silvioprog
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
Post by silvioprog
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
Post by silvioprog
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
Post by silvioprog
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 arm-linux-androideabi-strip... (cached)
arm-linux-androideabi-strip
checking for arm-linux-androideabi-ranlib...
arm-linux-androideabi-ranlib
Post by silvioprog
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)
***
*** 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
Post by silvioprog
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
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
License : LGPL or eCos
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
*Configuration:*
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
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"
https://android.googlesource.com/platform/external/libmicro
httpd/+/3b641bc5341bd35a4b798224d4c637c65d78ada0/Android.mk
Post by silvioprog
<https://android.googlesource.com/platform/
external/libmicrohttpd/+/3b641bc5341bd35a4b798224d4c637c65d7
8ada0/Android.mk>)/
Post by silvioprog
Error:FAILURE: Build failed with an exception.
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/.extern
alNativeBuild/cmake/arm7Debug/armeabi-v7a
Post by silvioprog
--target mhd}
[1/1] Linking C shared library
/home/silvioprog/Android/Projects/MyApplication/app/build/
intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
Post by silvioprog
FAILED: : &&
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/pre
built/linux-x86_64/bin/clang
Post by silvioprog
-target armv7-none-linux-androideabi -gcc-toolchain
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-linu
x-androideabi-4.9/prebuilt/linux-x86_64
Post by silvioprog
--sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/platforms
/android-15/arch-arm
Post by silvioprog
-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
Post by silvioprog
CMakeFiles/mhd.dir/src/mhd.c.o
/home/silvioprog/Android/Projects/MyApplication/app/src/
main/jniLibs/armeabi-v7a/libmicrohttpd.a
Post by silvioprog
/home/silvioprog/Android/Projects/MyApplication/app/src/
main/jniLibs/armeabi-v7a/libmicrohttpd.a(libmicrohttpd_la-
daemon.o):daemon.c:function
Post by silvioprog
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
Post by silvioprog
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
Post by silvioprog
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.
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/.extern
alNativeBuild/cmake/arm7Debug/armeabi-v7a
Post by silvioprog
--target mhd}
[1/1] Linking C shared library
/home/silvioprog/Android/Projects/MyApplication/app/build/
intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
Post by silvioprog
FAILED: : &&
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/pre
built/linux-x86_64/bin/clang
Post by silvioprog
-target armv7-none-linux-androideabi -gcc-toolchain
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-linu
x-androideabi-4.9/prebuilt/linux-x86_64
Post by silvioprog
--sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/platforms
/android-15/arch-arm
Post by silvioprog
-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
Post by silvioprog
CMakeFiles/mhd.dir/src/mhd.c.o
/home/silvioprog/Android/Projects/MyApplication/app/src/
main/jniLibs/armeabi-v7a/libmicrohttpd.a
Post by silvioprog
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.
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/.extern
alNativeBuild/cmake/arm7Debug/armeabi-v7a
Post by silvioprog
--target mhd}
[1/1] Linking C shared library
/home/silvioprog/Android/Projects/MyApplication/app/build/
intermediates/cmake/arm7/debug/obj/armeabi-v7a/libmhd.so
Post by silvioprog
FAILED: : &&
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/llvm/pre
built/linux-x86_64/bin/clang
Post by silvioprog
-target armv7-none-linux-androideabi -gcc-toolchain
/home/silvioprog/Android/Sdk/ndk-bundle/toolchains/arm-linu
x-androideabi-4.9/prebuilt/linux-x86_64
Post by silvioprog
--sysroot=/home/silvioprog/Android/Sdk/ndk-bundle/platforms
/android-15/arch-arm
Post by silvioprog
-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
Post by silvioprog
CMakeFiles/mhd.dir/src/mhd.c.o
/home/silvioprog/Android/Projects/MyApplication/app/src/
main/jniLibs/armeabi-v7a/libmicrohttpd.a
Post by silvioprog
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!
https://github.com/gcesarmza/curl-android-ios
<https://github.com/gcesarmza/curl-android-ios>, it would by nice a
script like this for MHD :-) )/
*$ 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
Post by silvioprog
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-LAi2y
M/gcc-arm-linux-androideabi-0.20130705.1/sys-root
Post by silvioprog
--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
Loading...