[ 
https://issues.apache.org/jira/browse/THRIFT-4594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16537039#comment-16537039
 ] 

Christopher Friedt edited comment on THRIFT-4594 at 7/9/18 6:46 PM:
--------------------------------------------------------------------

Unit tests are all passing now.

I needed to correct musl libc's implementation of getaddrinfo to respect the 
AI_ADDRCONFIG flag (See thrift-alpine-20180709.tar.gz).

There were also some minor things to account for in terms of c_glib tests.

{code}
make[5]: Entering directory '/home/alpine/thrift/src/thrift-0.11.0/lib/cpp/test'
An error message from getaddrinfo on the console is expected:
Thrift: Mon Jul  9 14:41:21 2018 getaddrinfo -2: Name does not resolve

*** No errors detected
PASS: UnitTests
Thrift: Mon Jul  9 14:41:27 2018 ~TFDTransport TTransportException: 
'TFDTransport::close(): Bad file descriptor'

*** No errors detected
PASS: TFDTransportTest

*** No errors detected
PASS: TPipedTransportTest

*** No errors detected
PASS: DebugProtoTest

*** No errors detected
PASS: JSONProtoTest

*** No errors detected
PASS: OptionalRequiredTest

*** No errors detected
PASS: RecursiveTest

*** No errors detected
PASS: SpecializationTest
TBinaryProtocol => OK
TLEBinaryProtocol => OK
TCompactProtocol => OK

*** No errors detected
PASS: AllProtocolsTest
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport

*** No errors detected
PASS: TransportTest
Thrift: Mon Jul  9 14:42:14 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)

*** No errors detected
PASS: TInterruptTest

*** No errors detected
PASS: TServerIntegrationTest
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)

*** No errors detected
PASS: SecurityTest
seed: 1531147353

*** No errors detected
PASS: ZlibTest

*** No errors detected
PASS: TFileTransportTest
PASS: link_test

*** No errors detected
PASS: OpenSSLManualInitTest

*** No errors detected
PASS: EnumTest

*** No errors detected
PASS: AnnotationTest
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: join done for IO thread #0
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: join done for IO thread #0
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: join done for IO thread #0

*** No errors detected
PASS: TNonblockingServerTest
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:38 2018 TConnection::workSocket(): client disconnected
Thrift: Mon Jul  9 14:42:38 2018 SSL_shutdown: Broken pipe (SSL_error_code = 5)
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: join done for IO thread #0
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:38 2018 TConnection::workSocket(): client disconnected
Thrift: Mon Jul  9 14:42:38 2018 SSL_shutdown: Broken pipe (SSL_error_code = 5)
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: join done for IO thread #0
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:38 2018 TConnection::workSocket(): client disconnected
Thrift: Mon Jul  9 14:42:38 2018 SSL_shutdown: Broken pipe (SSL_error_code = 5)
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: join done for IO thread #0

*** No errors detected
PASS: TNonblockingSSLServerTest
===================
All 21 tests passed
===================
{code}



was (Author: cfriedt):
C++ unit tests are all passing now.
- I needed to correct musl libc's implementation of getaddrinfo to respect the 
AI_ADDRCONFIG flag (See [^thrift-alpine-20180709.tar.gz])

{code}
make[5]: Entering directory '/home/alpine/thrift/src/thrift-0.11.0/lib/cpp/test'
An error message from getaddrinfo on the console is expected:
Thrift: Mon Jul  9 14:41:21 2018 getaddrinfo -2: Name does not resolve

*** No errors detected
PASS: UnitTests
Thrift: Mon Jul  9 14:41:27 2018 ~TFDTransport TTransportException: 
'TFDTransport::close(): Bad file descriptor'

*** No errors detected
PASS: TFDTransportTest

*** No errors detected
PASS: TPipedTransportTest

*** No errors detected
PASS: DebugProtoTest

*** No errors detected
PASS: JSONProtoTest

*** No errors detected
PASS: OptionalRequiredTest

*** No errors detected
PASS: RecursiveTest

*** No errors detected
PASS: SpecializationTest
TBinaryProtocol => OK
TLEBinaryProtocol => OK
TCompactProtocol => OK

*** No errors detected
PASS: AllProtocolsTest
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport
Timeout alarm expired; attempting to unblock transport

*** No errors detected
PASS: TransportTest
Thrift: Mon Jul  9 14:42:14 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)

*** No errors detected
PASS: TInterruptTest

*** No errors detected
PASS: TServerIntegrationTest
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)
Thrift: Mon Jul  9 14:42:33 2018 SSL_shutdown: shutdown while in init 
(SSL_error_code = 1)

*** No errors detected
PASS: SecurityTest
seed: 1531147353

*** No errors detected
PASS: ZlibTest

*** No errors detected
PASS: TFileTransportTest
PASS: link_test

*** No errors detected
PASS: OpenSSLManualInitTest

*** No errors detected
PASS: EnumTest

*** No errors detected
PASS: AnnotationTest
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: join done for IO thread #0
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: join done for IO thread #0
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:37 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:37 2018 TNonblocking: join done for IO thread #0

*** No errors detected
PASS: TNonblockingServerTest
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:38 2018 TConnection::workSocket(): client disconnected
Thrift: Mon Jul  9 14:42:38 2018 SSL_shutdown: Broken pipe (SSL_error_code = 5)
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: join done for IO thread #0
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:38 2018 TConnection::workSocket(): client disconnected
Thrift: Mon Jul  9 14:42:38 2018 SSL_shutdown: Broken pipe (SSL_error_code = 5)
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: join done for IO thread #0
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: Serving with 1 io threads.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: using libevent 
2.1.8-stable method epoll
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
listen.
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: IO thread #0 registered for 
notify.
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 entering 
loop...
Thrift: Mon Jul  9 14:42:38 2018 TConnection::workSocket(): client disconnected
Thrift: Mon Jul  9 14:42:38 2018 SSL_shutdown: Broken pipe (SSL_error_code = 5)
Thrift: Mon Jul  9 14:42:38 2018 TNonblockingServer: IO thread #0 run() done!
Thrift: Mon Jul  9 14:42:38 2018 TNonblocking: join done for IO thread #0

*** No errors detected
PASS: TNonblockingSSLServerTest
===================
All 21 tests passed
===================
{code}


> Unable to Build Test Suite in Alpine Linux
> ------------------------------------------
>
>                 Key: THRIFT-4594
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4594
>             Project: Thrift
>          Issue Type: Bug
>          Components: Test Suite
>    Affects Versions: 0.11.0
>         Environment: Ubuntu Bionic (native)
> alpine:latest (docker)
>            Reporter: Christopher Friedt
>            Priority: Minor
>             Fix For: 0.12.0
>
>         Attachments: make-check-alpine-3.8.txt, 
> make-check-macos-10.13.5.text, thrift-alpine-20180709.tar.gz
>
>
> It seems that the 0.11.0 lib/cpp/test suite is not building correctly when 
> run inside of Alpine Linux 3.8 in a Docker container.
> I've narrowed the culprits down to the non-portable (NP) class of Mutex 
> initializers. The failure occurs in unpatched code (and obviously in my CI 
> build recipe, attached).
> Currently, I'm working on automating builds of thrift for Alpine Linux 3.8, 
> and they will likely require "make check" to pass successfully in future 
> versions. Might as well ensure it works now.
> If you want to duplicate my build easily in Docker, you can use the 
> attachment (e.g. tar xpvzf thrift-ci-build-20180627.tar.xz; cd 
> thrift-20180627; docker build -t foo .)
> {noformat}
> make check
> ...
> /bin/bash ../../../libtool  --tag=CXX   --mode=link 
> x86_64-alpine-linux-musl-g++ -Wall -Wextra -pedantic -Os -fomit-frame-pointer 
> -L/usr/lib -Wl,--no-undefined -o TPipedTransportTest TPipedTransportTest.o 
> TPipeInterruptTest.o libtestgencpp.la ../../../lib/cpp/libthrift.la 
> /usr/lib/libboost_unit_test_framework.a /usr/lib/libboost_system.a 
> /usr/lib/libboost_thread-mt.a -lrt -lpthread 
> concurrency/MutexTest.o: In function `MutexTest::happy_path::test_method()':
> MutexTest.cpp:(.text+0x18): undefined reference to 
> `apache::thrift::concurrency::Mutex::ERRORCHECK_INITIALIZER(void*)'
> concurrency/MutexTest.o: In function 
> `MutexTest::recursive_happy_path::test_method()':
> MutexTest.cpp:(.text+0x580): undefined reference to 
> `apache::thrift::concurrency::Mutex::RECURSIVE_INITIALIZER(void*)'
> concurrency/MutexTest.o: In function `MutexTest::trylock::test_method()':
> MutexTest.cpp:(.text+0x1573): undefined reference to 
> `apache::thrift::concurrency::Mutex::ADAPTIVE_INITIALIZER(void*)'
> concurrency/MutexTest.o: In function `LFAT::LFAT()':
> MutexTest.cpp:(.text._ZN4LFATC2Ev[_ZN4LFATC5Ev]+0x17): undefined reference to 
> `apache::thrift::concurrency::Mutex::ERRORCHECK_INITIALIZER(void*)'
> collect2: error: ld returned 1 exit status
> make[5]: *** [Makefile:1190: UnitTests] Error 1
> make[5]: *** Waiting for unfinished jobs....
> libtool: link: x86_64-alpine-linux-musl-g++ -Wall -Wextra -pedantic -Os 
> -fomit-frame-pointer -Wl,--no-undefined -o .libs/TFDTransportTest 
> TFDTransportTest.o  -L/usr/lib ../../../lib/cpp/.libs/libthrift.so -lssl 
> -lcrypto /usr/lib/libboost_unit_test_framework.a -lrt -lpthread
> libtool: link: x86_64-alpine-linux-musl-g++ -Wall -Wextra -pedantic -Os 
> -fomit-frame-pointer -Wl,--no-undefined -o .libs/TPipedTransportTest 
> TPipedTransportTest.o TPipeInterruptTest.o  -L/usr/lib 
> ./.libs/libtestgencpp.a 
> /home/alpine/thrift/src/thrift-0.11.0/lib/cpp/.libs/libthrift.so 
> ../../../lib/cpp/.libs/libthrift.so -lssl -lcrypto 
> /usr/lib/libboost_unit_test_framework.a /usr/lib/libboost_system.a 
> /usr/lib/libboost_thread-mt.a -lrt -lpthread
> make[5]: Leaving directory 
> '/home/alpine/thrift/src/thrift-0.11.0/lib/cpp/test'
> make[4]: *** [Makefile:1507: check-am] Error 2
> make[4]: Leaving directory 
> '/home/alpine/thrift/src/thrift-0.11.0/lib/cpp/test'
> make[3]: *** [Makefile:1510: check] Error 2
> make[3]: Leaving directory 
> '/home/alpine/thrift/src/thrift-0.11.0/lib/cpp/test'
> make[2]: *** [Makefile:1661: check-recursive] Error 1
> make[2]: Leaving directory '/home/alpine/thrift/src/thrift-0.11.0/lib/cpp'
> make[1]: Leaving directory '/home/alpine/thrift/src/thrift-0.11.0/lib'
> make[1]: *** [Makefile:576: check-recursive] Error 1
> make: *** [Makefile:659: check-recursive] Error 1
> >>> ERROR: thrift*: check failed
> >>> ERROR: thrift: all failed
> >>> thrift: Uninstalling dependencies..{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to