thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Friedt (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (THRIFT-4594) Unable to Build Test Suite in Alpine Linux
Date Thu, 12 Jul 2018 01:44:00 GMT

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

Christopher Friedt edited comment on THRIFT-4594 at 7/12/18 1:43 AM:
---------------------------------------------------------------------

Yes Rich, that is correct. After I fixed the build failure, I had to fix musl. The point was
to build alpine packages for thrift. That succeeds now, but it is incomplete - I'd like to
create py and py3 packages as well, go, etc - so I thought I would share my work here before
I submit it to alpine. There are still a few issues though, primarily due to massaging things
to get them to work with musl. I will probably continue using this bug report for that purposes,
for completeness sake. I'm unlikely to file another issue with thrift because it seems the
issues I'm encountering don't really lie there. But yeah, I'll likely just mark this as resolved
when I'm done here.


was (Author: cfriedt):
Yes Rich, that is correct. After I fixed the build failure, I had to fix musl. The point was
to build alpine packages for thrift. That succeeds now, but it is incomplete - I'd like to
create py and py3 packages as well - so I thought I would share my work here before I submit
it to alpine. There are still a few issues though, primarily due to massaging things to get
them to work with musl. I will probably continue using this bug report for that purposes,
for completeness sake. I'm unlikely to file another issue with thrift because it seems the
issues I'm encountering don't really lie there. But yeah, I'll likely just mark this as resolved
when I'm done here.

> 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)

Mime
View raw message