BOOST_HAS_PTHREADS not set with emscripten
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- cmake, cpp, wasm
- Ambito
- build-system, compilers
Direzione di ricerca
Inizia con l’esempio CMake FetchContent fornito, che utilizza Boost 1.87.0 ed Emscripten, quindi esamina la logica di configurazione che determina BOOST_HAS_PTHREADS per questo compilatore. Confronta la configurazione risultante con il percorso specifico per Windows che produce gli errori di thread_mutex.hpp. Il lavoro è completato quando l’esempio viene configurato e compilato senza gli errori __declspec e la capacità pthread viene rilevata correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- C++
- Stelle
- 80
- Fork
- 184
- Merge medio
- 4g 6h
- PR unite (30g)
- 1
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di boostorg/config
-
Add check for pmr default_ressource related functionsForse già presa @sdebionne l’ha presa 315 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
-
msvc::no_unique_addressForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
missing version macrosAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
Tutte le issue di boostorg/config
Issue simili
-
[Cleanup] Include the public header in work_split.cppForse già presa @blozano-tt l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
tenstorrent/tt-metal#60850 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
beehive-lab/TornadoVM#1248 ·
I maintainer di solito rispondono entro 1 giorno
-
core: RAC_LLM_OPTIONS_DEFAULT.min_p disagrees with the IDL's annotated defaultForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug core p3
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
RunanywhereAI/runanywhere-sdks#1083 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
tesseract-ocr/tesseract#4653 ·
I maintainer di solito rispondono entro 1 giorno
-
area: docs eco: cpp good first issue help wanted lane: free-agent roadmap size: XS type: docs
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
arminazimi/evergreen#475 ·
I maintainer di solito rispondono entro 1 giorno