← All tasks
cpplibjxl/libjxl #1197Not a task: not reproduced

Importing libraries via thirdparty makes libjxl impossible to build on Windows

envgap__libjxl__libjxl-1197

01 / FAILURE SIGNATURE

As reported upstream

[build] LINK : fatal error LNK1104: no se puede abrir el archivo 'gflags.lib' [E:\libjxl\build\tools\cjxl_ng.vcxproj]
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
e6264cd6a1dc1caa46cca6465787ad94f0af0ee6
Manifest
third_party/CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

libjxl/libjxl #1197 · read the original issue
**Describe the bug**

I cannot build libjxl from scratch on Windows due to [CMake issue 22919](https://gitlab.kitware.com/cmake/cmake/-/issues/22919). This affects specifically the gflags dependency; since libjxl imports libraries in a sibling directory to `tools`,  `gflags`'s location cannot be seen at link time:



(excerpt of `build\tools\cjxl_ng.vcxproj)

```xml

<Link>

      <AdditionalDependencies>..\lib\MinSizeRel\jxl.lib;gflags.lib;box\MinSizeRel\box.lib;..\lib\MinSizeRel\jxl-static.lib;..\lib\MinSizeRel\jxl_extras-static.lib;..\lib\MinSizeRel\jxl_threads-static.lib;MinSizeRel\jxl_tool.lib;..\lib\MinSizeRel\jxl_extras_dec-static.lib;E:\krita-win\i_deps_msvc\lib\gif.lib;E:\krita-win\i_deps_msvc\lib\jpeg.lib;E:\krita-win\i_deps_msvc\lib\libpng16.lib;E:\krita-win\i_deps_msvc\lib\zlib.lib;..\lib\MinSizeRel\jxl-static.lib;E:\krita-win\i_deps_msvc\lib\brotlidec.lib;E:\krita-win\i_deps_msvc\lib\brotlicommon.lib;E:\krita-win\i_deps_msvc\lib\hwy.lib;E:\krita-win\i_deps_msvc\lib\brotlienc.lib;E:\krita-win\i_deps_msvc\lib\lcms2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib</AdditionalDependencies>

```



(excerpt of build log):

```

[build] LINK : fatal error LNK1104: no se puede abrir el archivo 'gflags.lib' [E:\libjxl\build\tools\cjxl_ng.vcxproj]

```



**To Reproduce**



Build and install all dependencies separately: brotli gflags giflib highway jpeg lcms2 openexr png



Then configure and build libjxl with e.g.:



```json

{

    "cmake.configureSettings": {

        "CMAKE_PREFIX_PATH": "E:/krita-win/i_deps_msvc",

        "JPEGXL_VERSION": "0.6.1",

        "BUILD_TESTING": false,

        "JPEGXL_ENABLE_BENCHMARK": false,

        "JPEGXL_ENABLE_COVERAGE": false,

        "JPEGXL_ENABLE_EXAMPLES": false,

        "JPEGXL_ENABLE_FUZZERS": false,

        "JPEGXL_ENABLE_JNI": false,

        "JPEGXL_ENABLE_SJPEG": false,

        "JPEGXL_ENABLE_SKCMS": false,

        "JPEGXL_ENABLE_VIEWERS": false

    },

}

```



**Expected behavior**

The library is correctly built and installed.



**Screenshots**

N/A



**Environment**

 - OS: [e.g. Windows]: Windows 10 20H2

 - Compiler version: [e.g. clang 11.0.1] MSVC 19.29.30140

 - CPU type: [e.g. x86_64] x86_64

 - cjxl/djxl version string: [e.g. cjxl [v0.3.7 | SIMD supported: SSE4,Scalar]] commit ea6a190cd777b61662bd0470db24163a1a63bdab



**Additional context**

N/A

Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]