BOOST_HAS_PTHREADS not set with emscripten
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 55/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- cmake, cpp, wasm
- Lĩnh vực
- build-system, compilers
Hướng nghiên cứu
Bắt đầu với ví dụ CMake FetchContent được cung cấp, sử dụng Boost 1.87.0 và Emscripten, sau đó kiểm tra logic cấu hình xác định BOOST_HAS_PTHREADS cho trình biên dịch này. So sánh cấu hình thu được với nhánh dành riêng cho Windows gây ra các lỗi thread_mutex.hpp. Hoàn tất khi ví dụ được cấu hình và biên dịch mà không có các lỗi __declspec, đồng thời khả năng pthread được phát hiện chính xác.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
This looks like a regression on #402
Minimal example to reproduce with cmake:
cmake_minimum_required(VERSION 3.27)
project(boost_wasm_test)
set(CMAKE_CXX_STANDARD 20)
include(FetchContent)
FetchContent_Declare(
Boost
URL https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-cmake.7z
EXCLUDE_FROM_ALL
)
set(BOOST_INCLUDE_LIBRARIES geometry)
FetchContent_MakeAvailable(Boost)
add_executable(boost_wasm_test main.cpp)
target_link_libraries(boost_wasm_test Boost::geometry)
target_compile_options(boost_wasm_test PRIVATE -pthread)
target_link_options(boost_wasm_test PRIVATE -pthread)
(main.cpp is just generic hello world)
I get lots of errors like
In file included from /home/m/Documents/Linos/boost_wasm_test/build_emscripten/_deps/boost-src/libs/container/src/synchronized_pool_resource.cpp:14:
/home/m/Documents/Linos/boost_wasm_test/build_emscripten/_deps/boost-src/libs/container/include/boost/container/detail/thread_mutex.hpp:109:12: error: '__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes
109 | extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(::_RTL_CRITICAL_SECTION *);
Which indicates, that BOOST_HAS_PTHREADS is not properly set.
Or am I using CMake wrong?
I am on emscripten v3.1.61
Same result with latest emscripten 4.04
- Ngôn ngữ chính
- C++
- Star
- 80
- Fork
- 184
- Merge trung bình
- 4 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của boostorg/config
-
Add check for pmr default_ressource related functionsCó thể đã có người làm @sdebionne đã nhận 316 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
-
msvc::no_unique_addressCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
missing version macrosĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 52/100
Tất cả issue của boostorg/config
Issue tương tự
-
[开源推荐] Windows 系统维护工具箱,支持后台任务队列Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
521xueweihan/HelloGitHub#4011 ·
-
docs(simulation): Quickstart publishes UDP 14550, which the SITL images' own docs say not to doĐang mởstatus:needs-triage
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
PX4/PX4-Autopilot#29292 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
I/O internal correctness medium priority rt_lib
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Mac mini M6 (16 GB): Q2_0 streaming works - measured 11.7->27.2 tok/s + arena fix for sub-32 GB MacsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày