Targets not yet defined: draco_static
-
Hi, all:
I'm trying to install Qt-6.4.1 from source, under Ubuntu 22.04.1, but obtained the following ERROR messages:
This warning is for project developers. Use -Wno-dev to suppress it. Configuring submodule 'qtimageformats' Configuring submodule 'qtlanguageserver' Configuring submodule 'qtshadertools' Configuring submodule 'qtsvg' Configuring submodule 'qtdeclarative' Configuring submodule 'qtquicktimeline' Configuring submodule 'qtquick3d' Configuring submodule 'qtmultimedia' Configuring submodule 'qt3d' CMake Error at /usr/lib/x86_64-linux-gnu/cmake/draco/draco-targets.cmake:37 (message): Some (but not all) targets in this export set were already defined. Targets Defined: draco_shared Targets not yet defined: draco_static Call Stack (most recent call first): /usr/lib/x86_64-linux-gnu/cmake/draco/draco-config.cmake:36 (include) /usr/lib/x86_64-linux-gnu/cmake/assimp-5.2/assimpConfig.cmake:37 (find_package) qt3d/cmake/FindWrapQt3DAssimp.cmake:8 (find_package) qtbase/cmake/QtFindPackageHelpers.cmake:130 (find_package) qt3d/src/core/configure.cmake:13 (qt_find_package) qtbase/cmake/QtModuleHelpers.cmake:612 (include) qt3d/src/core/CMakeLists.txt:7 (qt_internal_add_module) Configuring incomplete, errors occurred! See also "....../qt-everywhere-src-6.4.1/build/CMakeFiles/CMakeOutput.log". See also "....../qt-everywhere-src-6.4.1/build/CMakeFiles/CMakeError.log".
I then checked file
/usr/lib/x86_64-linux-gnu/cmake/draco/draco-targets.cmake
, which comes with libdraco from Ubuntu repository.# Generated by CMake if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) message(FATAL_ERROR "CMake >= 2.6.0 required") endif() cmake_policy(PUSH) cmake_policy(VERSION 2.6...3.20) #---------------------------------------------------------------- # Generated CMake target import file. #---------------------------------------------------------------- # Commands may need to know the format version. set(CMAKE_IMPORT_FILE_VERSION 1) # Protect against multiple inclusion, which would fail when already imported targets are added once more. set(_targetsDefined) set(_targetsNotDefined) set(_expectedTargets) foreach(_expectedTarget draco_static draco_shared) list(APPEND _expectedTargets ${_expectedTarget}) if(NOT TARGET ${_expectedTarget}) list(APPEND _targetsNotDefined ${_expectedTarget}) endif() if(TARGET ${_expectedTarget}) list(APPEND _targetsDefined ${_expectedTarget}) endif() endforeach() if("${_targetsDefined}" STREQUAL "${_expectedTargets}") unset(_targetsDefined) unset(_targetsNotDefined) unset(_expectedTargets) set(CMAKE_IMPORT_FILE_VERSION) cmake_policy(POP) return() endif() if(NOT "${_targetsDefined}" STREQUAL "") message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") endif() unset(_targetsDefined) unset(_targetsNotDefined) unset(_expectedTargets) # The installation prefix configured by this project. set(_IMPORT_PREFIX "/usr") # Create imported target draco_static add_library(draco_static STATIC IMPORTED) set_target_properties(draco_static PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/usr/include" ) # Create imported target draco_shared add_library(draco_shared SHARED IMPORTED) set_target_properties(draco_shared PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/usr/include" ) # Load information for each installed configuration. get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) file(GLOB CONFIG_FILES "${_DIR}/draco-targets-*.cmake") foreach(f ${CONFIG_FILES}) include(${f}) endforeach() # Cleanup temporary variables. set(_IMPORT_PREFIX) # Loop over all imported files and verify that they actually exist foreach(target ${_IMPORT_CHECK_TARGETS} ) foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) if(NOT EXISTS "${file}" ) message(FATAL_ERROR "The imported target \"${target}\" references the file \"${file}\" but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and contained \"${CMAKE_CURRENT_LIST_FILE}\" but not all the files it references. ") endif() endforeach() unset(_IMPORT_CHECK_FILES_FOR_${target}) endforeach() unset(_IMPORT_CHECK_TARGETS) # This file does not depend on other imported targets which have # been exported from the same project but in a separate export set. # Commands beyond this point should not need to know the version. set(CMAKE_IMPORT_FILE_VERSION) cmake_policy(POP)
Anyway, did anybody meet the same issue? How did you solve that?
Thank you very much....
-
Yeah.... Install Draco from source, solved this issue... Thank you
-
Draco is not part of Qt, the errors you found are in a config from 'draco' and as such it probably is best to ask on their forums how to resolve it.
Have you tried removing draco from your system?
ps. at risk of being completely off-base, are you compiling Qt statically, which is then trying to use draco, which is not static?
-
Yeah.... Install Draco from source, solved this issue... Thank you