Ubuntu Build Error - Implicit Definition of Function 'timegm'
Posted: 24 Aug 2016 00:25
Hi, I have been trying to build a slightly older x86 version of android-vlc in order to generate libvlc.aar, but I can't get the compiler to recognize and use the linux c++ headers. (specifically /usr/include/time.h). I probably need to add it to a path somewhere, but I cannot figure out where. Can someone point me in the right direction? I am using Ubuntu 16.04.1
Code: Select all
Configuring
ABI: x86
API: android-21
SYSROOT: /home/thomas/Android/Sdk/ndk-bundle/platforms/android-21/arch-x86
PATH: /home/thomas/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/bin:/home/thomas/bin:/home/thomas/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
CFLAGS: -g -O2 -fstrict-aliasing -funsafe-math-optimizations
EXTRA_CFLAGS: -mtune=atom -msse3 -mfpmath=sse -m32 -I/home/thomas/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -I/home/thomas/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include
Building tools
Make flags inc
-j1
Make flags end
You are ready to build VLC and its contribs
Building the contribs
Generating EGL pkg-config file
Generating GLESv2 pkg-config file
Guessing build system... x86_64-linux-gnu
Creating configuration file... config.mak
Bootstrap completed.
Run "make" to start compilation.
Other targets:
* make install same as "make"
* make prebuilt fetch and install prebuilt binaries
* make list list packages
* make fetch fetch required source tarballs
* make fetch-all fetch all source tarballs
* make distclean clean everything and undo bootstrap
* make mostlyclean clean everything except source tarballs
* make clean clean everything
* make package prepare prebuilt packages
make: Nothing to be done for 'fetch'.
make: Nothing to be done for 'all'.
Building
make all-recursive
make[1]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android'
Making all in compat
make[2]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/compat'
make all-am
make[3]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/compat'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/compat'
make[2]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/compat'
Making all in doc
make[2]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/doc'
Making all in po
make[2]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/po'
Making all in share
make[2]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/share'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/share'
Making all in src
make[2]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/src'
GEN stamp-revision
make all-am
make[3]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/src'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/src'
make[2]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/src'
Making all in modules
make[2]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/modules'
make all-recursive
make[3]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/modules'
Making all in .
make[4]: Entering directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/modules'
CC access/http/libvlc_http_la-message.lo
Makefile:17086: recipe for target 'access/http/libvlc_http_la-message.lo' failed
make[4]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/modules'
Makefile:18512: recipe for target 'all-recursive' failed
make[3]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/modules'
Makefile:8227: recipe for target 'all' failed
make[2]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android/modules'
Makefile:2244: recipe for target 'all-recursive' failed
make[1]: Leaving directory '/home/thomas/vlc_197/vlc-android/vlc/build-android-i686-linux-android'
Makefile:2128: recipe for target 'all' failed
vlc: make failed
Code: Select all
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /home/thomas/vlc_197/vlc-android/vlc/extras/tools/build/bin/automake line 3930.
../../modules/access/http/message.c: In function 'vlc_http_msg_h2_frame':
../../modules/access/http/message.c:458:33: warning: passing argument 5 of 'vlc_h2_frame_headers' from incompatible pointer type
i, headers);
^
In file included from ../../modules/access/http/message.c:37:0:
../../modules/access/http/h2frame.h:39:1: note: expected 'const char * const (*)[2]' but argument is of type 'const char * (*)[2]'
vlc_h2_frame_headers(uint_fast32_t stream_id, uint_fast32_t mtu, bool eos,
^
../../modules/access/http/message.c: In function 'vlc_http_mktime':
../../modules/access/http/message.c:777:13: error: implicit declaration of function 'timegm' [-Werror=implicit-function-declaration]
return timegm(&tm);
^
cc1: some warnings being treated as errors
make[4]: *** [access/http/libvlc_http_la-message.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2