double-conversion problem in vcpkg build

I just tried building ITK using vcpkg: vcpkg install itk[vtk]. It fails, boiling down to double-conversion.h trying to include double-conversion/utils.h and not finding it. Is this a problem in ITK or double-conversion, or their respective vcpkg ports?

I think it is a problem in vcpkg’s port of double-conversion, but @fbudin might want to chime in before I submit an issue.

FAILED: Modules/Core/Common/src/CMakeFiles/ITKCommon.dir/itkNumberToString.cxx.obj
C:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1416~1.270\bin\Hostx64\x64\cl.exe   /TP -D_CRT_FAR_MAPPINGS_NO_DEPRECATE -D_CRT_IS_WCTYPE_NO_DEPRECATE -D_CRT_MANAGED_FP_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE_GLOBALS -D_CRT_SETERRORMODE_BEEP_SLEEP_NO_DEPRECATE -D_CRT_TIME_FUNCTIONS_NO_DEPRECATE -D_CRT_VCCLRIT_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -IC:\Dev\vcpkg\installed\x64-windows-static\include\double-conversion -IModules\ThirdParty\KWIML\src -IC:\Dev\vcpkg\buildtrees\itk\ITK\Modules\ThirdParty\KWIML\src -IModules\ThirdParty\KWSys\src -IC:\Dev\vcpkg\buildtrees\itk\ITK\Modules\ThirdParty\VNL\src\vxl\v3p\netlib -IC:\Dev\vcpkg\buildtrees\itk\ITK\Modules\ThirdParty\VNL\src\vxl\vcl -IC:\Dev\vcpkg\buildtrees\itk\ITK\Modules\ThirdParty\VNL\src\vxl\core -IModules\ThirdParty\VNL\src\vxl\v3p\netlib -IModules\ThirdParty\VNL\src\vxl\vcl -IModules\ThirdParty\VNL\src\vxl\core -IC:\Dev\vcpkg\buildtrees\itk\ITK\Modules\ThirdParty\VNLInstantiation\include -IModules\Core\Common -IC:\Dev\vcpkg\buildtrees\itk\ITK\Modules\Core\Common\include -IModules\ThirdParty\KWSys\src\KWSys -IC:\Dev\vcpkg\buildtrees\itk\ITK\Modules\ThirdParty\VNL\src\vxl\core\vnl\algo -IC:\Dev\vcpkg\buildtrees\itk\ITK\Modules\ThirdParty\VNL\src\vxl\core\vnl /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP   -W3  /bigobj /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1 /showIncludes /FoModules\Core\Common\src\CMakeFiles\ITKCommon.dir\itkNumberToString.cxx.obj /FdModules\Core\Common\src\CMakeFiles\ITKCommon.dir\ITKCommon.pdb /FS -c C:\Dev\vcpkg\buildtrees\itk\ITK\Modules\Core\Common\src\itkNumberToString.cxx
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27025.1 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

C:\Dev\vcpkg\installed\x64-windows-static\include\double-conversion\double-conversion.h(31): fatal error C1083: Cannot open include file: 'double-conversion/utils.h': No such file or directory
ninja: build stopped: subcommand failed.

Just started a build on Linux. I’ll get back to you when I get some results.

As a follow up, I tried to build ITK on Linux and got the same error. More specifically, the error message was:

In file included from /home/fbudin/Devel/vcpkg/buildtrees/itk/ITK/Modules/Core/Common/src/itkNumberToString.cxx:20:0:
/home/fbudin/Devel/vcpkg/installed/x64-linux/include/double-conversion/double-conversion.h:31:10: fatal error: double-conversion/utils.h: No such file or directory
 #include <double-conversion/utils.h>
1 Like

Thanks Francois! Issue submitted.

1 Like