Search code examples
c++conan

Conan failed install package


Since the last conan (1.23.0) I can't install some package for example I want to install mysql-connectorc

mysql-connector-c/6.1.11@bincrafters/stable

But I got this error:

ERROR: Failed requirement 'OpenSSL/1.0.2s@conan/stable' from 'mysql-connector-c/6.1.11@bincrafters/stable'
ERROR: Requested 'OpenSSL/1.0.2s@conan/stable' but found case incompatible 'openssl'
Case insensitive filesystem can't manage this
CMake Error at Build/conan.cmake:402 (message):
  Conan install failed='1'
Call Stack (most recent call first):
  Build/conan.cmake:492 (conan_cmake_install)
  Alpaga/Alpaga.cmake:23 (conan_cmake_run)
  CMakeLists.txt:6 (include)

Alpaga.cmake:

cmake_minimum_required(VERSION 3.0)
project(Alpaga)

#################
#   USE C++17   #
#################
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED 17 ON)

#############
#   CONAN   #
#############
if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
   message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
   file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/master/conan.cmake"
                  "${CMAKE_BINARY_DIR}/conan.cmake")
endif()
include(${CMAKE_BINARY_DIR}/conan.cmake)

#####################
#   CONAN PACKAGE   #
#####################
conan_cmake_run(REQUIRES
    mysql-connector-c/6.1.11@bincrafters/stable

#   boost/1.71.0@conan/stable
    BASIC_SETUP
    BUILD missing
)

I don't know how patch this new error.


Solution

  • When installing a package which is already installed, but using a different case, will result on your error:

    ERROR: Requested 'OpenSSL/1.0.2s@conan/stable' but found case incompatible 'openssl'

    Case insensitive filesystem can not manage this. The package openssl is already installed. To solve this problem the different package with the same name must be removed:

    $ conan remove "openssl/*"
    

    Anyway, mysql-connector-c/6.1.11@bincrafters/stable is totally deprecated and you must use mysql-connector-c/6.1.11@ instead:

    $ conan install mysql-connector-c/6.1.11@ -r conan-center
    

    Of course, you need to update the requirement reference in your cmake file too.