gst-build 1.14 on Ubuntu 16.04 isn't working for me

David Ing ding at panopto.com
Sat Aug 11 00:26:31 UTC 2018


I tried to build gstreamer using gst-build on the 1.14 branch on Ubuntu
16.04 using the command: *meson build && ninja -C build/*

The full output is pasted at the end of this email, but to summarize I got
this error:

Dependency libffi not found but it is available in a sub-subproject.
To use it in the current project, promote it by going in the project source
root and issuing the following command.

meson wrap promote subprojects/glib/subprojects/libffi.wrap
||Couldn't use fallback subproject in subprojects/libffi for the dependency
libffi
||Reason: Subproject directory 'subprojects/libffi' does not exist and
cannot be downloaded:
||No libffi.wrap found for 'subprojects/libffi'
|Couldn't use fallback subproject in subprojects/glib for the dependency
glib-2.0
|Reason: subprojects/glib/meson.build:1551: Native dependency 'libffi' not
found

subprojects/gstreamer/meson.build:386:0: ERROR:  Native dependency
'glib-2.0' not found


Next I tried to follow the given suggestion but no luck:

ing at ing-ub01:~/dev/github/gstreamer/gst-build$ *meson wrap promote
subprojects/glib/subprojects/libffi.wrap*
Subproject libffi.wrap not found in directory tree.


I also tried `sudo apt-get install libffi-dev` but it didn't help either.

How can I make the build work?

---------------------------------------------------------------------------
-------------------------
Full terminal output from my initial build attempt
---------------------------------------------------------------------------
-------------------------
ing at ing-ub01:~/dev/github/gstreamer/gst-build$ *meson build && ninja -C
build/*
The Meson build system
Version: 0.47.1
Source dir: /home/ing/dev/github/gstreamer/gst-build
Build dir: /home/ing/dev/github/gstreamer/gst-build/build
Build type: native build
Project name: All GStreamer modules
Project version: 1.14.2
Native C compiler: cc (gcc 5.4.0 "cc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0
20160609")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Dependency libavfilter found: NO
Message: WARNING: gst-libav not built as ffmpeg >= n3.1.2 not found on the
system
Dependency libva found: NO
Message: WARNING: not building gstreamer-vaapi module, missing libva
Dependency json-glib-1.0 found: NO
Message: WARNING: not building gst-devtools module, missing glib-json-1.0
Dependency libxml-2.0 found: NO
Message: WARNING: not building gst-editing-services module, missing
libxml-2.0
Compiler for language cs not found.
Message: WARNING: Not building gstreamer-sharp as no CS compiler found.
Message: Building subprojects: gstreamer, gst-plugins-base,
gst-plugins-good, gst-plugins-ugly, gst-plugins-bad, gst-rtsp-server
Cloning into 'gstreamer'...
remote: Counting objects: 147783, done.
remote: Compressing objects: 100% (33065/33065), done.
remote: Total 147783 (delta 116292), reused 144114 (delta 113370)
Receiving objects: 100% (147783/147783), 27.28 MiB | 3.34 MiB/s, done.
Resolving deltas: 100% (116292/116292), done.
Checking connectivity... done.
Branch 1.14 set up to track remote branch 1.14 from origin.
Switched to a new branch '1.14'

|
|Executing subproject gstreamer
|
|Project name: gstreamer
|Project version: 1.14.2
|Native C compiler: cc (gcc 5.4.0 "cc (Ubuntu 5.4.0-6ubuntu1~16.04.10)
5.4.0 20160609")
|WARNING: -Wl,-Bsymbolic-functions looks like a linker argument, but
has_argument and other similar methods only support checking compiler
arguments. Using them to check linker arguments are never supported, and
results are likely to be wrong regardless of the compiler you are using.
has_link_argument or other similar method can be used instead.
|Compiler for C supports arguments -Wl,-Bsymbolic-functions: YES
|Compiler for C supports arguments -fvisibility=hidden: YES
|Compiler for C supports arguments -fno-strict-aliasing: YES
|Has header "dlfcn.h": YES
|Has header "inttypes.h": YES
|Has header "memory.h": YES
|Has header "poll.h": YES
|Has header "stdint.h": YES
|Has header "stdio_ext.h": YES
|Has header "strings.h": YES
|Has header "string.h": YES
|Has header "sys/param.h": YES
|Has header "sys/poll.h": YES
|Has header "sys/prctl.h": YES
|Has header "sys/socket.h": YES
|Has header "sys/stat.h": YES
|Has header "sys/times.h": YES
|Has header "sys/time.h": YES
|Has header "sys/types.h": YES
|Has header "sys/utsname.h": YES
|Has header "sys/wait.h": YES
|Has header "ucontext.h": YES
|Has header "unistd.h": YES
|Has header "valgrind/valgrind.h": NO
|Has header "sys/resource.h": YES
|Checking whether type "struct tm" has member "tm_gmtoff" : YES
|Checking for function "gmtime_r" : YES
|Checking for function "sigaction" : YES
|Checking for function "getrusage" : YES
|Checking for function "fseeko" : YES
|Checking for function "ftello" : YES
|Checking for function "poll" : YES
|Checking for function "ppoll" : YES
|Checking for function "pselect" : YES
|Checking for function "getpagesize" : YES
|Checking for function "clock_gettime" : YES
|Checking for function "getline" : YES
|Checking for function "mkstemp" : YES
|Checking for function "alarm" : YES
|Checking for function "gettimeofday" : YES
|Checking for function "localtime_r" : YES
|Checking if "pthread_setname_np(const char*)" links: NO
|Checking if "posix timers from time.h" compiles: YES
|Checking if "monotonic clock from time.h" compiles: YES
|Checking if "__uint128_t available" compiles: YES
|Checking for function "getpid" : YES
|Checking for function "strdup" : YES
|Checking for function "strsignal" : YES
|Checking for type "clockid_t" : YES
|Checking for type "timer_t" : YES
|Checking whether type "struct timespec" has members "tv_sec", "tv_nsec" :
YES
|Checking whether type "struct itimerspec" has members "it_interval",
"it_value" : YES
|Dependency libunwind found: NO
|Dependency libdw found: NO
|Checking for function "backtrace" : YES
|Has header "execinfo.h": YES
|Checking for function "backtrace" : YES
|Compiler for C supports arguments -Wmissing-declarations: YES
|Compiler for C supports arguments -Wmissing-prototypes: YES
|Compiler for C supports arguments -Wredundant-decls: YES
|Compiler for C supports arguments -Wundef: YES
|Compiler for C supports arguments -Wwrite-strings: YES
|Compiler for C supports arguments -Wformat: YES
|Compiler for C supports arguments -Wformat-nonliteral: YES
|Compiler for C supports arguments -Wformat-security: YES
|Compiler for C supports arguments -Wold-style-definition: YES
|Compiler for C supports arguments -Winit-self: YES
|Compiler for C supports arguments -Wmissing-include-dirs: YES
|Compiler for C supports arguments -Waddress: YES
|Compiler for C supports arguments -Waggregate-return: YES
|Compiler for C supports arguments -Wno-multichar -Wmultichar: YES
|Compiler for C supports arguments -Wnested-externs: YES
|Compiler for C supports arguments -Wdeclaration-after-statement: YES
|Compiler for C supports arguments -Wvla: YES
|Compiler for C supports arguments -Wpointer-arith: YES
|Library gmp found: NO
|Library gsl found: NO
|Library gslcblas found: NO
|Library dl found: YES
|Checking for function "dladdr" : YES
|Looking for a fallback subproject for the dependency glib-2.0
Cloning into 'glib'...
remote: Counting objects: 150926, done.
remote: Compressing objects: 100% (25187/25187), done.
remote: Total 150926 (delta 125861), reused 150411 (delta 125416)
Receiving objects: 100% (150926/150926), 56.50 MiB | 2.00 MiB/s, done.
Resolving deltas: 100% (125861/125861), done.
Checking connectivity... done.
Branch glib-2-56 set up to track remote branch glib-2-56 from origin.
Switched to a new branch 'glib-2-56'
|
||
||Executing subproject glib
||
||Project name: glib
||Project version: 2.56.1
||Native C compiler: cc (gcc 5.4.0 "cc (Ubuntu 5.4.0-6ubuntu1~16.04.10)
5.4.0 20160609")
||Native C++ compiler: c++ (gcc 5.4.0 "c++ (Ubuntu 5.4.0-6ubuntu1~16.04.10)
5.4.0 20160609")
||Compiler for C supports arguments -fno-strict-aliasing: YES
||Compiler for C supports arguments -fvisibility=hidden: YES
||Has header "stdlib.h": YES
||Has header "string.h": YES
||Has header "strings.h": YES
||Has header "memory.h": YES
||Has header "alloca.h": YES
||Has header "locale.h": YES
||Has header "xlocale.h": YES
||Has header "float.h": YES
||Has header "limits.h": YES
||Has header "pwd.h": YES
||Has header "grp.h": YES
||Has header "poll.h": YES
||Has header "termios.h": YES
||Has header "sys/param.h": YES
||Has header "sys/resource.h": YES
||Has header "mach/mach_time.h": NO
||Has header "sys/select.h": YES
||Has header "stdint.h": YES
||Has header "inttypes.h": YES
||Has header "sched.h": YES
||Has header "malloc.h": YES
||Has header "sys/vfs.h": YES
||Has header "sys/vmount.h": NO
||Has header "sys/statfs.h": YES
||Has header "sys/statvfs.h": YES
||Has header "sys/filio.h": NO
||Has header "mntent.h": YES
||Has header "sys/mnttab.h": NO
||Has header "sys/vfstab.h": NO
||Has header "sys/mntctl.h": NO
||Has header "fstab.h": YES
||Has header "linux/magic.h": YES
||Has header "termios.h": YES
||Has header "dirent.h": YES
||Has header "sys/time.h": YES
||Has header "sys/times.h": YES
||Has header "sys/wait.h": YES
||Has header "unistd.h": YES
||Has header "values.h": YES
||Has header "sys/types.h": YES
||Has header "sys/uio.h": YES
||Has header "sys/mkdev.h": NO
||Has header "sys/mount.h": YES
||Has header "sys/sysctl.h": YES
||Has header "crt_externs.h": NO
||Has header "sys/inotify.h": YES
||Has header "sys/event.h": NO
||Has header "sys/stat.h": YES
||Has header "linux/netlink.h": YES
||Header <locale.h> has symbol "LC_MESSAGES": YES
||Checking whether type "struct stat" has member "st_mtimensec" : NO
||Checking whether type "struct stat" has member "st_mtim.tv_nsec" : YES
||Checking whether type "struct stat" has member "st_atimensec" : NO
||Checking whether type "struct stat" has member "st_atim.tv_nsec" : YES
||Checking whether type "struct stat" has member "st_ctimensec" : NO
||Checking whether type "struct stat" has member "st_ctim.tv_nsec" : YES
||Checking whether type "struct stat" has member "st_birthtime" : NO
||Checking whether type "struct stat" has member "st_birthtimensec" : NO
||Checking whether type "struct stat" has member "st_birthtim" : NO
||Checking whether type "struct stat" has member "st_birthtim.tv_nsec" : NO
||Checking whether type "struct stat" has member "st_blksize" : YES
||Checking whether type "struct stat" has member "st_blocks" : YES
||Checking whether type "struct statfs" has member "f_fstypename" : NO
||Checking whether type "struct statfs" has member "f_bavail" : YES
||Checking whether type "struct dirent" has member "d_type" : YES
||Compiler for C supports arguments -Wall: YES
||Compiler for C supports arguments -Wduplicated-branches: NO
||Compiler for C supports arguments -Wstrict-prototypes: YES
||Compiler for C supports arguments -Werror=declaration-after-statement: YES
||Compiler for C supports arguments -Werror=format=2: YES
||Compiler for C supports arguments -Werror=format-security: YES
||Compiler for C supports arguments -Werror=implicit-function-declaration:
YES
||Compiler for C supports arguments -Werror=init-self: YES
||Compiler for C supports arguments -Werror=missing-include-dirs: YES
||Compiler for C supports arguments -Werror=missing-prototypes: YES
||Compiler for C supports arguments -Werror=pointer-arith: YES
||Checking for function "alloca" : YES
||Checking for function "mmap" : YES
||Checking for function "posix_memalign" : YES
||Checking for function "memalign" : YES
||Checking for function "valloc" : YES
||Checking for function "fsync" : YES
||Checking for function "pipe2" : YES
||Checking for function "issetugid" : NO
||Checking for function "timegm" : YES
||Checking for function "gmtime_r" : YES
||Checking for function "strerror_r" : YES
||Checking for function "lstat" : YES
||Checking for function "strsignal" : YES
||Checking for function "vsnprintf" : YES
||Checking for function "stpcpy" : YES
||Checking for function "poll" : YES
||Checking for function "vasprintf" : YES
||Checking for function "setenv" : YES
||Checking for function "unsetenv" : YES
||Checking for function "getc_unlocked" : YES
||Checking for function "readlink" : YES
||Checking for function "symlink" : YES
||Checking for function "fdwalk" : NO
||Checking for function "lchmod" : NO
||Checking for function "lchown" : YES
||Checking for function "fchmod" : YES
||Checking for function "fchown" : YES
||Checking for function "utimes" : YES
||Checking for function "getresuid" : YES
||Checking for function "getmntent_r" : YES
||Checking for function "setmntent" : YES
||Checking for function "endmntent" : YES
||Checking for function "hasmntopt" : YES
||Checking for function "getfsstat" : NO
||Checking for function "getvfsstat" : NO
||Checking for function "fallocate" : YES
||Checking for function "localtime_r" : YES
||Checking for function "gmtime_r" : YES
||Checking for function "getpwuid_r" : YES
||Checking for function "getgrgid_r" : YES
||Checking for function "prlimit" : YES
||Checking for function "strnlen" : YES
||Checking for function "wcslen" : YES
||Checking for function "wcsnlen" : YES
||Checking for function "mbrtowc" : YES
||Checking for function "wcrtomb" : YES
||Checking for function "newlocale" : YES
||Checking for function "uselocale" : YES
||Checking for function "strtod_l" : YES
||Checking for function "strtoll_l" : YES
||Checking for function "strtoull_l" : YES
||Checking for function "inotify_init1" : YES
||Checking for function "kqueue" : NO
||Checking for function "kevent" : NO
||Checking for function "endservent" : YES
||Checking for function "sendmmsg" : YES
||Checking for function "recvmmsg" : YES
||Checking for function "link" : YES
||Checking for function "statvfs" : YES
||Checking for function "statfs" : YES
||Checking for function "if_indextoname" : YES
||Checking for function "if_nametoindex" : YES
||Checking for function "splice" : YES
||Checking if "strerror_r() returns char *" compiles: YES
||Checking for function "snprintf" : YES
||Checking for function "strcasecmp" : YES
||Checking for function "strncasecmp" : YES
||Header <sys/sysmacros.h> has symbol "major": YES
||Header <dlfcn.h> has symbol "RTLD_LAZY": YES
||Header <dlfcn.h> has symbol "RTLD_NOW": YES
||Header <dlfcn.h> has symbol "RTLD_GLOBAL": YES
||Message: Checking whether to use statfs or statvfs .. statfs
||Checking for function "mkostemp" : YES
||Checking if "Mac OS X Carbon support" compiles: NO
||Checking if "Mac OS X Cocoa support" compiles: NO
||Checking if "futex(2) system call" links: YES
||Checking if "eventfd(2) system call" links: YES
||Checking if "clock_gettime" links: YES
||Checking if "number of arguments to statfs() (n=2)" compiles: YES
||Checking if "open() option O_DIRECTORY" compiles: YES
||Checking if "C99 vsnprintf" runs: YES
||Checking if "C99 snprintf" runs: YES
||Checking if "nl_langinfo and CODESET" links: YES
||Checking if "nl_langinfo (PM_STR)" links: YES
||Checking if "nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)" links: YES
||Checking if "nl_langinfo (ALTMON_n)" links: NO
||Checking if "nl_langinfo (_NL_ALTMON_n)" links: NO
||Checking if "signed" compiles: YES
||Header <stddef.h> has symbol "ptrdiff_t": YES
||Checking if "sig_atomic_t" links: YES
||Checking if "long long" compiles: YES
||Checking if "long double" compiles: YES
||Header <stddef.h> has symbol "wchar_t": YES
||Header <wchar.h> has symbol "wint_t": YES
||Checking if "uintmax_t in inttypes.h" compiles: YES
||Checking if "uintmax_t in stdint.h" compiles: YES
||Checking for size of "char": 1
||Checking for size of "short": 2
||Checking for size of "int": 4
||Checking for size of "void*": 8
||Checking for size of "long": 8
||Checking for size of "long long": 8
||Checking for size of "size_t": 8
||Checking for size of "ssize_t": 8
||Checking for alignment of "char" : 1
||Checking for alignment of "short" : 2
||Checking for alignment of "int" : 4
||Checking for alignment of "void*" : 8
||Checking for alignment of "long" : 8
||Checking for alignment of "long long" : 8
||Checking for alignment of "size_t" : 8
||Checking if "__va_copy check" compiles: YES
||Checking if "va_copy check" compiles: YES
||Checking if "va_lists can be copied as values" compiles: NO
||Checking if "ISO C99 varargs macros in C" compiles: YES
||Checking if "ISO C99 varargs macros in C++" compiles: YES
||Checking if "GNUC varargs macros" compiles: YES
||Has header "alloca.h": YES
||Has header "sys/poll.h": YES
||Has header "sys/types.h": YES
||Has header "winsock2.h": NO
||Checking if "POLLIN value" runs: YES
||Checking if "POLLOUT value" runs: YES
||Checking if "POLLPRI value" runs: YES
||Checking if "POLLERR value" runs: YES
||Checking if "POLLHUP value" runs: YES
||Checking if "POLLNVAL value" runs: YES
||Checking if "AF_UNIX value" runs: YES
||Checking if "AF_INET value" runs: YES
||Checking if "AF_INET6 value" runs: YES
||Checking if "MSG_OOB value" runs: YES
||Checking if "MSG_PEEK value" runs: YES
||Checking if "MSG_DONTROUTE value" runs: YES
||Dependency threads found: YES
||Header <pthread.h> has symbol "pthread_attr_setstacksize": YES
||Header <pthread.h> has symbol "pthread_condattr_setclock": YES
||Header <pthread.h> has symbol "pthread_cond_timedwait_relative_np": NO
||Header <pthread.h> has symbol "pthread_getname_np": YES
||Checking if "pthread_setname_np(const char*)" links: NO
||Checking if "pthread_setname_np(pthread_t, const char*)" links: YES
||Checking if "stack grows check" runs: NO (1)
||Checking for function "iconv_open" : YES
||Dependency libpcre found: NO
||Library m found: YES
||Looking for a fallback subproject for the dependency libffi

Dependency libffi not found but it is available in a sub-subproject.
To use it in the current project, promote it by going in the project source
root and issuing the following command.

meson wrap promote subprojects/glib/subprojects/libffi.wrap
||Couldn't use fallback subproject in subprojects/libffi for the dependency
libffi
||Reason: Subproject directory 'subprojects/libffi' does not exist and
cannot be downloaded:
||No libffi.wrap found for 'subprojects/libffi'
|Couldn't use fallback subproject in subprojects/glib for the dependency
glib-2.0
|Reason: subprojects/glib/meson.build:1551: Native dependency 'libffi' not
found

subprojects/gstreamer/meson.build:386:0: ERROR:  Native dependency
'glib-2.0' not found

A full log can be found at
/home/ing/dev/github/gstreamer/gst-build/build/meson-logs/meson-log.txt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180810/f1a2563c/attachment-0001.html>


More information about the gstreamer-devel mailing list