-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.15.2 release misses lib/pthread_mutex.c #303
Comments
I ran into this as well. Fortunately, unlike with autotools where you need to |
The release tarball of check 0.15.2 lacks a source file, causing a build failure, as reported at libcheck/check#303. This failures happens when thread support is not available, as the file missing is getting compiled in when thread support is not there: if(NOT HAVE_PTHREAD) target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) endif() This issue started appearing when we moved from the autotools build system to the CMake build system in commit 6dfc789. One might wonder why changing the build system can cause this kind of issue: the file was in fact already missing. Turns out that the missing file is never used with the autotools build system: this file provides some Win32 compatibility layer for pthread functions, so the autotools build system never compiled this file as the autotools build system was only used on Unix platforms. With CMake it now gets compiled to support Windows platform. But on Linux, the entire contents of the file is ignored as it is within a HAVE_WIN32_INIT_ONCE ifdef...endif. Still, with the file missing, the build fails. Until upstream publishes a new release with a complete tarball, switch to fetching the Github-generated tarball, which does contain the missing file. Fixes: http://autobuild.buildroot.net/results/b1087e9a67ff0382632b73f280fabe92cd863593/ Signed-off-by: Waldemar Brodkorb <[email protected]> Signed-off-by: Thomas Petazzoni <[email protected]>
The release tarball of check 0.15.2 lacks a source file, causing a build failure, as reported at libcheck/check#303. This failures happens when thread support is not available, as the file missing is getting compiled in when thread support is not there: if(NOT HAVE_PTHREAD) target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) endif() This issue started appearing when we moved from the autotools build system to the CMake build system in commit 6dfc789. One might wonder why changing the build system can cause this kind of issue: the file was in fact already missing. Turns out that the missing file is never used with the autotools build system: this file provides some Win32 compatibility layer for pthread functions, so the autotools build system never compiled this file as the autotools build system was only used on Unix platforms. With CMake it now gets compiled to support Windows platform. But on Linux, the entire contents of the file is ignored as it is within a HAVE_WIN32_INIT_ONCE ifdef...endif. Still, with the file missing, the build fails. Until upstream publishes a new release with a complete tarball, switch to fetching the Github-generated tarball, which does contain the missing file. Fixes: http://autobuild.buildroot.net/results/b1087e9a67ff0382632b73f280fabe92cd863593/ Signed-off-by: Waldemar Brodkorb <[email protected]> Signed-off-by: Thomas Petazzoni <[email protected]>
While creating a build recipe for conan, a c/c++ package manager,
I noticed that
lib/pthread_mutex.c
is not part of the 0.15.2 source release.This causes a Visual Studio build to fail with the following error:
Patching in
lib/pthread_mutex.c
from current master fixes the error.The text was updated successfully, but these errors were encountered: