thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mario Emmenlauer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4159) Building tests fails on MSYS2 (MinGW64) due to a (small?) linker error
Date Sun, 09 Apr 2017 09:16:41 GMT

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

Mario Emmenlauer commented on THRIFT-4159:
------------------------------------------

Thanks! I have made an "official" MSYS2 package for thrift now. Once the PR is merged, thrift
binary can be installed via pacman. PR here: https://github.com/Alexpux/MINGW-packages/pull/2379

> Building tests fails on MSYS2 (MinGW64) due to a (small?) linker error
> ----------------------------------------------------------------------
>
>                 Key: THRIFT-4159
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4159
>             Project: Thrift
>          Issue Type: Bug
>          Components: Build Process
>    Affects Versions: 1.0
>         Environment: MSYS2 MinGW64 compiler gcc-6.3
>            Reporter: Mario Emmenlauer
>            Assignee: James E. King, III
>             Fix For: 0.11.0
>
>
> When I build thrift in static mode with cmake, and I enable BUILD_TESTING,
> I get a linker error:
> {code}
> Scanning dependencies of target SecurityTest
> [ 65%] Building CXX object lib/cpp/test/CMakeFiles/SecurityTest.dir/SecurityTest.cpp.obj
> [ 66%] Linking CXX executable ../../../bin/SecurityTest.exe
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0xcb3): undefined reference
to `apache::thrift::transport::TWinsockSingleton::create()'
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0xcc8): undefined reference
to `thrift_socketpair(int, int, int, unsigned long long*)'
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0xcf8): undefined reference
to `thrift_socketpair(int, int, int, unsigned long long*)'
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0xfa3): undefined reference
to `thrift_fcntl'
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0xfc0): undefined reference
to `thrift_fcntl'
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0x1127): undefined
reference to `thrift_sleep(unsigned int)'
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0x200c): undefined
reference to `thrift_poll'
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0x212e): undefined
reference to `thrift_fcntl'
> ../../libthrift.a(TServerSocket.cpp.obj):TServerSocket.cpp:(.text+0x214a): undefined
reference to `thrift_fcntl'
> ../../libthrift.a(TSSLSocket.cpp.obj):TSSLSocket.cpp:(.text+0x211e): undefined reference
to `thrift_poll'
> ../../libthrift.a(TSSLSocket.cpp.obj):TSSLSocket.cpp:(.text+0x21cd): undefined reference
to `thrift_poll'
> ../../libthrift.a(TSSLSocket.cpp.obj):TSSLSocket.cpp:(.text+0x4a1a): undefined reference
to `thrift_fcntl'
> ../../libthrift.a(TSSLSocket.cpp.obj):TSSLSocket.cpp:(.text+0x4a36): undefined reference
to `thrift_fcntl'
> ../../libthrift.a(TSSLSocket.cpp.obj):TSSLSocket.cpp:(.text+0x58da): undefined reference
to `thrift_fcntl'
> ../../libthrift.a(TSSLSocket.cpp.obj):TSSLSocket.cpp:(.text+0x58f6): undefined reference
to `thrift_fcntl'
> ../../libthrift.a(TOutput.cpp.obj):TOutput.cpp:(.text+0x54): undefined reference to `thrift_ctime_r(long
long const*, char*)'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x1e76): undefined reference to
`thrift_poll'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x25a0): undefined reference to
`thrift_fcntl'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x25c5): undefined reference to
`thrift_fcntl'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x26ee): undefined reference to
`thrift_poll'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x2749): undefined reference to
`thrift_fcntl'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x2a0a): undefined reference to
`thrift_fcntl'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x35f1): undefined reference to
`apache::thrift::transport::TWinsockSingleton::create()'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x3a44): undefined reference to
`thrift_gettimeofday(timeval*, timezone*)'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x3aaf): undefined reference to
`thrift_poll'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x3cfc): undefined reference to
`thrift_gettimeofday(timeval*, timezone*)'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x3d3f): undefined reference to
`thrift_usleep(unsigned int)'
> ../../libthrift.a(TSocket.cpp.obj):TSocket.cpp:(.text+0x6443): undefined reference to
`apache::thrift::transport::TWinsockSingleton::create()'
> collect2.exe: error: ld returned 1 exit status
> make[2]: *** [lib/cpp/test/CMakeFiles/SecurityTest.dir/build.make:116: bin/SecurityTest.exe]
Error 1
> make[1]: *** [CMakeFiles/Makefile2:1269: lib/cpp/test/CMakeFiles/SecurityTest.dir/all]
Error 2
> make: *** [Makefile:161: all] Error 2
> ==> ERROR: A failure occurred in build().
>     Aborting...
> {code}
> Typically this comes from the fact that MSYS2 is more picky about undefined
> symbols than other platforms are. The symbols look a bit like they would
> be defined in a basic thrift library. Could you please check if the tests
> must link the thrift libraries and/or if a library may be missing there?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message