openh264 subproject build failure on Ubuntu Xenial: EncUT_Cavlc.cpp:45:19: error: 'rand' is not a member of 'std'
Trying to build on Ubuntu Xenial, with below command
*git clone -b 1.16 https://github.com/GStreamer/gst-build.git
cd gst-build
meson build --prefix=/usr/local
ninja -C build
ninja -C build install *
During compilation phase, it fails with below error log
[2360/3045] Compiling C++ object 'subprojects/openh264/test/encoder/7b4cded@@test_encoder@exe/EncUT_Reconstruct.cpp.o'.
[2361/3045] Compiling C++ object 'subprojects/openh264/test/encoder/7b4cded@@test_encoder@exe/EncUT_Sample.cpp.o'.
FAILED: c++ -Isubprojects/openh264/test/encoder/7b4cded@@test_encoder@exe -Isubprojects/openh264/test/encoder -I../subprojects/openh264/test/encoder -Isubprojects/openh264/codec/api/svc -I../subprojects/openh264/codec/api/svc -I../subprojects/openh264/codec/common/inc -Isubprojects/openh264/test -I../subprojects/openh264/test -I../subprojects/openh264/codec/encoder/core/inc -I../subprojects/openh264/codec/encoder/plus/inc -I../subprojects/openh264/codec/processing/interface -I../subprojects/openh264/codec/processing/src/common -I../subprojects/openh264/codec/processing/src/adaptivequantization -I../subprojects/openh264/codec/processing/src/downsample -I../subprojects/openh264/codec/processing/src/scrolldetection -I../subprojects/openh264/codec/processing/src/vaacalc -I/usr/src/gtest -I/usr/src/gtest/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -O2 -g -Wno-non-virtual-dtor -Wno-strict-aliasing -DHAVE_AVX2 -pthread -MD -MQ 'subprojects/openh264/test/encoder/7b4cded@@test_encoder@exe/EncUT_Cavlc.cpp.o' -MF 'subprojects/openh264/test/encoder/7b4cded@@test_encoder@exe/EncUT_Cavlc.cpp.o.d' -o 'subprojects/openh264/test/encoder/7b4cded@@test_encoder@exe/EncUT_Cavlc.cpp.o' -c ../subprojects/openh264/test/encoder/EncUT_Cavlc.cpp
../subprojects/openh264/test/encoder/EncUT_Cavlc.cpp: In function 'void {anonymous}::TestCavlcParamCalWithEndIdx(WelsEnc::PCavlcParamCalFunc, int, bool, bool)':
../subprojects/openh264/test/encoder/EncUT_Cavlc.cpp:45:19: error: 'rand' is not a member of 'std'
const int r = std::rand();
^
../subprojects/openh264/test/encoder/EncUT_Cavlc.cpp:45:19: note: suggested alternative:
In file included from /usr/include/gtest/internal/gtest-port.h:199:0,
from /usr/include/gtest/internal/gtest-internal.h:40,
from /usr/include/gtest/gtest.h:58,
from ../subprojects/openh264/test/encoder/EncUT_Cavlc.cpp:4:
/usr/include/stdlib.h:374:12: note: 'rand'
extern int rand (void) __THROW;
^
ninja: build stopped: subcommand failed.
Any suggestions would be really helpful
Thanks