Description: code uses C99/C++20 constructs that g++ does not support $ g++ liblog/fake_writer.cpp -o liblog/fake_writer.o -c -std=c++17 -fPIC -Iliblog/include -Iinclude -DLIBLOG_LOG_TAG=1006 -DFAKE_LOG_DEVICE=1 -DSNET_EVENT_LOG_TAG=1397638484 liblog/fake_writer.cpp:36:5: error: expected primary-expression before ‘.’ token .context.priv = &logFds, ^ This is an ugly hack. The actual fix is probably to compile using clang. Otherwise, these .context.priv elements shuld be initialized in a different way. Forwarded: not-needed --- a/liblog/fake_writer.cpp +++ b/liblog/fake_writer.cpp @@ -33,7 +33,6 @@ struct android_log_transport_write fakeLoggerWrite = { .node = {&fakeLoggerWrite.node, &fakeLoggerWrite.node}, - .context.priv = &logFds, .name = "fake", .available = NULL, .open = fakeOpen, --- a/liblog/stderr_write.cpp +++ b/liblog/stderr_write.cpp @@ -56,7 +56,6 @@ struct android_log_transport_write stderrLoggerWrite = { .node = {&stderrLoggerWrite.node, &stderrLoggerWrite.node}, - .context.priv = NULL, .name = "stderr", .available = stderrAvailable, .open = stderrOpen,