CPack打包时删除顶级目录失败问题求助
CPack打包libmodbus-3.0.8生成RPM时删除目录失败问题
我正在尝试使用CPack打包libmodbus-3.0.8,采用RPM生成器。无论将CPACK_INCLUDE_TOPLEVEL_DIRECTORY设置为1或0,执行打包命令时都会出现CPack Error: Problem removing toplevel directory错误。已尝试执行build/make install命令、使用默认值及简化包配置,问题仍未解决。
CPack配置文件
# This file will be configured to contain variables for CPack. These variables # should be set in the CMake list file of the project before CPack module is # included. The list of available CPACK_xxx variables and their associated # documentation may be obtained using # cpack --help-variable-list # # Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) # and some are specific to a generator # (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables # usually begin with CPACK_<GENNAME>_xxxx. set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY "1") set(CPACK_BUILD_SOURCE_DIRS ";") set(CPACK_CMAKE_GENERATOR "Unix Makefiles") set(CPACK_COMPONENTS_ALL "") set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake/Templates/CPack.GenericDescription.txt") set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY " built using CMake") set(CPACK_GENERATOR "RPM") set(CPACK_INSTALL_CMAKE_PROJECTS "${CMAKE_CURRENT_BINARY_DIR};${CMAKE_PROJECT_NAME};ALL;/") # set(CPACK_INSTALL_CMAKE_PROJECTS "libmodbus-3.0.8.tar;ALL;ALL;/") set(CPACK_INSTALL_PREFIX "/usr/local") set(CPACK_MODULE_PATH "") set(CPACK_NSIS_DISPLAY_NAME "libmodbus-3.0.8") set(CPACK_NSIS_INSTALLER_ICON_CODE "") set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") set(CPACK_NSIS_PACKAGE_NAME "libmodbus-3.0.8") set(CPACK_NSIS_UNINSTALL_NAME "Uninstall") set(CPACK_OUTPUT_CONFIG_FILE "/CPackConfig.cmake") set(CPACK_PACKAGE_CONTACT "Mark Doellman") set(CPACK_PACKAGE_DEFAULT_LOCATION "/") set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake/Templates/CPack.GenericDescription.txt") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY " built using CMake") set(CPACK_PACKAGE_FILE_NAME "libmodbus-3.0.8-x86_64") set(CPACK_PACKAGE_INSTALL_DIRECTORY "libmodbus-3.0.8") set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "libmodbus-3.0.8") set(CPACK_PACKAGE_NAME "libmodbus-3.0.8") set(CPACK_PACKAGE_RELEASE "1") set(CPACK_PACKAGE_RELOCATABLE "true") set(CPACK_PACKAGE_VENDOR "GE Aerospace") set(CPACK_PACKAGE_VERSION "3.0.8") set(CPACK_PACKAGE_VERSION_MAJOR "0") set(CPACK_PACKAGE_VERSION_MINOR "1") set(CPACK_PACKAGE_VERSION_PATCH "1") set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/local") set(CPACK_RESOURCE_FILE_LICENSE "/usr/share/cmake/Templates/CPack.GenericLicense.txt") set(CPACK_RESOURCE_FILE_README "/usr/share/cmake/Templates/CPack.GenericDescription.txt") set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake/Templates/CPack.GenericWelcome.txt") set(CPACK_RPM_PACKAGE_RELEASE "1") set(CPACK_SET_DESTDIR "OFF") set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;TZ") set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/CPackSourceConfig.cmake") set(CPACK_SOURCE_RPM "OFF") set(CPACK_SOURCE_TBZ2 "ON") set(CPACK_SOURCE_TGZ "ON") set(CPACK_SOURCE_TXZ "ON") set(CPACK_SOURCE_TZ "ON") set(CPACK_SOURCE_ZIP "OFF") set(CPACK_SYSTEM_NAME "Linux") set(CPACK_THREADS "1") set(CPACK_TOPLEVEL_TAG "Linux") set(CPACK_WIX_SIZEOF_VOID_P "") set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY "1") if(NOT CPACK_PROPERTIES_FILE) set(CPACK_PROPERTIES_FILE "/CPackProperties.cmake") endif() if(EXISTS ${CPACK_PROPERTIES_FILE}) include(${CPACK_PROPERTIES_FILE}) endif()
执行命令及日志
cpack --verbose --config default.cmake -D CPACK_INCLUDE_TOPLEVEL_DIRECTORY=0 CPack: Enable Verbose CPack Verbose: Read CPack config file: default.cmake CPack Verbose: Read CPack configuration file: /mnt/c/Users/503373880/Documents/Projects/RHEL-Packages/TSDS/libmodbus-3.0.8.tar/default.cmake CPack Verbose: Specified generator: RPM CPack Verbose: Use generator: cmCPackRPMGenerator CPack Verbose: For project: libmodbus-3.0.8 CPack: Create package using RPM CPack Verbose: Read description file: /usr/share/cmake/Templates/CPack.GenericDescription.txt CPack Verbose: [RPM] requested component grouping = ONE_PER_GROUP CPack Verbose: Remove toplevel directory: /mnt/c/Users/503373880/Documents/Projects/RHEL-Packages/TSDS/libmodbus-3.0.8.tar/_CPack_Packages/Linux/RPM CPack Error: Problem removing toplevel directory: /mnt/c/Users/503373880/Documents/Projects/RHEL-Packages/TSDS/libmodbus-3.0.8.tar/_CPack_Packages/Linux/RPM CPack Error: Error when generating package: libmodbus-3.0.8
核心问题:无论调整相关参数或添加标记,包始终因该删除顶级目录的错误无法构建,请求帮助解决。
内容的提问来源于stack exchange,提问作者Kaibien
相关产品推荐
相关产品推荐

