Erzeugen Sie Python -Räder mit ConanPython

Python-Programme
Anonymous
 Erzeugen Sie Python -Räder mit Conan

Post by Anonymous »

Ich möchte Python -Räder für mein Projekt generieren (der letzte Schritt zuvor, um sie auf PYPI zu setzen). Ich benutze Conan dafür. CMake fand Systemabhängigkeiten, aber keine Conan-Abhängigkeiten für Ceres, Eigen und Pybind11, und auch MSYS2 enthält.

Code: Select all

[requires]
ceres-solver/2.1.0
eigen/3.4.0
zlib/1.2.13
libcurl/8.6.0
pybind11/2.12.0
boost/1.84.0

[generators]
CMakeToolchain
CMakeDeps

[options]
ceres-solver/2.1.0:shared=False
ceres-solver/2.1.0:use_glog=False
libcurl/8.6.0:with_ssl=openssl
libcurl/8.6.0:with_zlib=True
libcurl/8.6.0:shared=False
boost/1.84.0:shared=False
< /code>
Die Befehlsausgabe lautet: < /p>
d:\Programmes\msys64\home\Julien\symreg_ws\SymReg>cd build_conan

d:\Programmes\msys64\home\Julien\symreg_ws\SymReg\build_conan>conan install ..  --build=missing

======== Input profiles ========
Profile host:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=14
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=194
os=Windows

Profile build:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=14
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=194
os=Windows

======== Computing dependency graph ========
Graph root
conanfile.txt: d:\Programmes\msys64\home\Julien\symreg_ws\SymReg\conanfile.txt
Requirements
ceres-solver/2.1.0#61809d7baf47aeb1a0a82472ba2283d0 - Cache
eigen/3.4.0#2e192482a8acff96fe34766adca2b24c - Cache
libcurl/8.6.0#1daf20281d5c28d4999ecde631e15790 - Cache
openssl/3.5.1#7884fb47cae4130ac03814e53e3c7167 - Cache
pybind11/2.12.0#ea1de6fefd9c0c745e2b30e60dd23bfa - Cache
zlib/1.2.13#9df41c65e2c2b6ef47633dc32e0b699a - Cache
Build requirements
nasm/2.16.01#31e26f2ee3c4346ecd347911bd126904 - Cache
strawberryperl/5.32.1.1#8d114504d172cfea8ea1662d09b6333e - Cache
Resolved version ranges
openssl/[>=1.1 =3.23) cmake --preset conan-default
(cmakecmake ..  -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake
-- Using Conan toolchain: D:/Programmes/msys64/home/Julien/symreg_ws/SymReg/conan_toolchain.cmake
-- Conan toolchain: CMAKE_GENERATOR_TOOLSET=v143
-- Conan toolchain: Setting CMAKE_MSVC_RUNTIME_LIBRARY=$
-- Conan toolchain: C++ Standard 14 with extensions OFF
-- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.19045.
-- Found required Ceres dependency: absl version 20250127 in C:/Program Files (x86)/Ceres/lib/cmake/absl
-- Found required Ceres dependency: Eigen version 3.4.90 in D:/Programmes/eigen-master/build
-- Found Ceres version: 2.3.0 installed in: C:/Program Files (x86)/Ceres with components: [EigenSparse, SparseLinearAlgebraLibrary, SchurSpecializations]
-- Found pybind11: D:/Programmes/msys64/ucrt64/include (found version "2.13.6")
-- Warning: Standard CMAKE_CXX_STANDARD value defined in conan_toolchain.cmake to 14 has been modified to 23 by D:/Programmes/msys64/home/Julien/symreg_ws/SymReg/CMakeLists.txt
-- Found Python3: D:/Programmes/Python/Python312/python.exe (found version "3.12.4") found components: Interpreter
-- Found required Ceres dependency: absl version 20250127 in C:/Program Files (x86)/Ceres/lib/cmake/absl
-- Found required Ceres dependency: Eigen version 3.4.90 in D:/Programmes/eigen-master/build
-- Found Ceres version: 2.3.0 installed in: C:/Program Files (x86)/Ceres with components: [EigenSparse, SparseLinearAlgebraLibrary, SchurSpecializations]
-- Conan: Target declared 'ZLIB::ZLIB'
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
-- Found Python3: D:/Programmes/Python/Python312/python.exe (found version "3.12.4") found components: Interpreter Development Development.Module Development.Embed
-- Configuring done (4.4s)
-- Generating done (0.6s)
-- Build files have been written to: D:/Programmes/msys64/home/Julien/symreg_ws/SymReg/build_conan

d:\Programmes\msys64\home\Julien\symreg_ws\SymReg\build_conan>cmake --build .  --config Release
Version MSBuild 17.12.12+1cce77968 pour .NET Framework

1>Checking Build System
Automatic MOC for target symreg
Building Custom Rule D:/Programmes/msys64/home/Julien/symreg_ws/SymReg/CMakeLists.txt
python_bindings.cpp
mocs_compilation_Release.cpp
D:\Programmes\msys64\ucrt64\include\stdio.h(184,64): error C2144: erreur de syntaxe : 'int' doit être précédé de ';' [D
:\Programmes\msys64\home\Julien\symreg_ws\SymReg\build_conan\symreg.vcxproj]
(compiler le fichier source '../src/python_bindings.cpp')
...
Hier ist cmakelists.txt :

Code: Select all

cmake_minimum_required(VERSION 3.10)
cmake_policy(SET CMP0091 NEW)
project(SymReg)

find_package(Ceres REQUIRED CONFIG)
set(PYBIND11_FINDPYTHON ON)
find_package(pybind11 REQUIRED CONFIG)

set(CMAKE_BUILD_TYPE Release)
#set(CMAKE_BUILD_TYPE Debug)

if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
add_compile_options(
-march=native
#    -O3 -ffast-math -DNDEBUG
#    -fsanitize=address,undefined -g -O1
)
endif()

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include(FetchContent)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.14.0
)
FetchContent_MakeAvailable(googletest)

find_package(Ceres REQUIRED)
find_package(CURL REQUIRED)
find_package(Qt6 REQUIRED COMPONENTS Widgets Charts Svg)
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
find_package(pybind11 REQUIRED)
find_package(Sym REQUIRED)
find_package(Boost REQUIRED)

include_directories(include)

add_compile_definitions(EIGEN_NO_DEBUG)

set(CMAKE_AUTOMOC ON)

add_definitions(-DPYBIND11_DETAILED_ERROR_MESSAGES)
pybind11_add_module(symreg src/python_bindings.cpp)

if (WIN32)
target_link_libraries(symreg PRIVATE Ceres::ceres Sym::Sym Ws2_32 Boost::headers)
else()
target_link_libraries(symreg PRIVATE Ceres::ceres Sym::Sym Boost::headers)
endif()

add_executable(primes_demo src/primes_demo.cpp)

if (WIN32)
target_link_libraries(primes_demo
${MLPACK_LIBRARIES}
#  asan ubsan
pybind11::embed Python3::Python
Ceres::ceres Qt6::Widgets Qt6::Charts Qt6::Svg gvc cgraph Sym::Sym Ws2_32 Boost::headers)
else()
target_link_libraries(primes_demo
${MLPACK_LIBRARIES}
#  asan ubsan
pybind11::embed Python3::Python
Ceres::ceres Qt6::Widgets Qt6::Charts Qt6::Svg gvc cgraph Sym::Sym Boost::headers)
endif()

add_executable(benchmark src/benchmark.cpp)

if (WIN32)
target_link_libraries(benchmark
#  asan ubsan
pybind11::embed Python3::Python
Ceres::ceres CURL::libcurl Sym::Sym Ws2_32 Boost::headers)
else()
target_link_libraries(benchmark
#  asan ubsan
pybind11::embed Python3::Python
Ceres::ceres CURL::libcurl Sym::Sym Boost::headers)
endif()

enable_testing()
add_executable(test_symreg tests/test_symreg.cpp)

if (WIN32)
target_link_libraries(test_symreg
${MLPACK_LIBRARIES}
#  asan ubsan
pybind11::embed Python3::Python
Ceres::ceres CURL::libcurl gtest gtest_main Sym::Sym Ws2_32 Boost::headers)
else()
target_link_libraries(test_symreg
${MLPACK_LIBRARIES}
#  asan ubsan
pybind11::embed Python3::Python
Ceres::ceres CURL::libcurl gtest gtest_main Sym::Sym Boost::headers)
endif()

math(EXPR TIMEOUT "3 * 60 * 60")
add_test(NAME TestSymReg COMMAND test_symreg)
set_tests_properties(TestSymReg PROPERTIES TIMEOUT ${TIMEOUT})

if (WIN32)
else()
include(GoogleTest)
gtest_discover_tests(test_symreg)
endif()

install(DIRECTORY include/SymReg DESTINATION include)

add_library(SymReg INTERFACE)
target_include_directories(SymReg INTERFACE
$
$
)

include(CMakePackageConfigHelpers)

configure_package_config_file(
${CMAKE_CURRENT_SOURCE_DIR}/cmake/SymRegConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/SymRegConfig.cmake
INSTALL_DESTINATION lib/cmake/SymReg
)

write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/SymRegConfigVersion.cmake
VERSION 1.0.0
COMPATIBILITY SameMajorVersion
)

install(FILES
${CMAKE_CURRENT_BINARY_DIR}/SymRegConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/SymRegConfigVersion.cmake
DESTINATION lib/cmake/SymReg
)

install(TARGETS SymReg EXPORT SymRegTargets)

install(EXPORT SymRegTargets
NAMESPACE SymReg::
DESTINATION lib/cmake/SymReg
)
CMAKE -DE -DCMAKE_TOOLCHAIN_FILE = conan_toolchain.cmake -dcmake_prefix_path = .. CMAKE mit guten Abhängigkeiten, aber MSYS2 Inclusts 2 werden immer verwendet und kompiliert. Ich habe den Bin-Ordner von MSYS2 im Pfad entfernt und nach der Reinigung fortgesetzt und erfolgte erfolgreich (für Informationen ist das Projekt hier auf Github: https://github.com/julien-livet/symreg). das). < /p>
Building wheel...

+ rm -rf /tmp/cibuildwheel/built_wheel
+ mkdir -p /tmp/cibuildwheel/built_wheel
+ python -m pip wheel /project --wheel-dir=/tmp/cibuildwheel/built_wheel --no-deps
Processing /project
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: symregpy
Building wheel for symregpy (pyproject.toml): started
Building wheel for symregpy (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error

× Building wheel for symregpy (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [32 lines of output]
WARNING: Use cmake.version instead of cmake.minimum-version with scikit-build-core >= 0.8
WARNING: Use build.verbose instead of cmake.verbose for scikit-build-core >= 0.10
*** scikit-build-core 0.11.5 using CMake 3.27.6 (wheel)
*** Configuring CMake...
loading initial cache file build/CMakeInit.txt
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/rh/devtoolset-10/root/usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/rh/devtoolset-10/root/usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /opt/python/cp38-cp38/bin/python (found version "3.8.18") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Error at /opt/_internal/pipx/venvs/cmake/lib/python3.10/site-packages/cmake/data/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Boost (missing: Boost_INCLUDE_DIR)
Call Stack (most recent call first):
/opt/_internal/pipx/venvs/cmake/lib/python3.10/site-packages/cmake/data/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
/opt/_internal/pipx/venvs/cmake/lib/python3.10/site-packages/cmake/data/share/cmake-3.27/Modules/FindBoost.cmake:2392 (find_package_handle_standard_args)
build/_deps/sym-src/CMakeLists.txt:18 (find_package)

-- Configuring incomplete, errors occurred!

*** CMake configuration failed
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for symregpy
Failed to build symregpy
ERROR: Failed to build one or more wheels
< /code>
Wie kann ich tun, um die richtigen Abhängigkeiten zu beheben? Ich hoffe, dass ich alle notwendigen Dateien und Informationen einsetze.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post