Summary
pillow-jpls==1.3.2 fails to build from source on systems with GCC 14, because the Conan version constraint in pyproject.toml (conan~=2.0.16) resolves to a version that predates GCC 14 support in Conan's settings.yml.
Error
ERROR: Invalid setting '14' is not a valid 'settings.compiler.version' value.
Possible values are ['4.1', '4.4', '4.5', '4.6', '4.7', '4.8', '4.9', '5', ... '13', '13.1', '13.2']
Full build command and output:
$ pip wheel --no-cache-dir --use-pep517 "pillow-jpls (==1.3.2)"
Collecting pillow-jpls==1.3.2
Downloading pillow_jpls-1.3.2.tar.gz (817 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 818.0/818.0 kB 10.7 MB/s 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting Pillow (from pillow-jpls==1.3.2)
Downloading pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.metadata (8.8 kB)
Downloading pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (6.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.4/6.4 MB 10.1 MB/s 0:00:00
Saved ./pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Building wheels for collected packages: pillow-jpls
Building wheel for pillow-jpls (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pillow-jpls (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [65 lines of output]
2026-04-09 10:39:18,346 - scikit_build_core - WARNING - ninja should not be in build-system.requires - scikit-build-core will inject it as needed
*** scikit-build-core 0.12.2 using CMake 4.3.1 (wheel)
*** Configuring CMake...
loading initial cache file /tmp/tmpiw9f_y84/build/CMakeInit.txt
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
/tmp/pip-build-env-gs_p4yhu/overlay/lib/python3.13/site-packages/patch_ng.py:427: SyntaxWarning: invalid escape sequence '\d'
re_hunk_start = re.compile(b"^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@")
/tmp/pip-build-env-gs_p4yhu/overlay/lib/python3.13/site-packages/patch_ng.py:578: SyntaxWarning: invalid escape sequence '\s'
re_filename_date_time = b"^--- ([^\t]+)(?:\s([0-9-]+)\s([0-9:]+)|.*)"
/tmp/pip-build-env-gs_p4yhu/overlay/lib/python3.13/site-packages/patch_ng.py:621: SyntaxWarning: invalid escape sequence '\+'
re_filename_date_time = b"^\+\+\+ ([^\t]+)(?:\s([0-9-]+)\s([0-9:]+)|.*)"
/tmp/pip-build-env-gs_p4yhu/overlay/lib/python3.13/site-packages/patch_ng.py:653: SyntaxWarning: invalid escape sequence '\d'
match = re.match(b"^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@(.*)", line)
-- CMake-Conan: first find_package() found. Installing dependencies with Conan
-- CMake-Conan: Checking if a default profile exists
/root/.conan2/profiles/default
-- CMake-Conan: cmake_system_name=Linux
-- CMake-Conan: cmake_system_processor=armv8
-- CMake-Conan: CMake compiler=GNU
-- CMake-Conan: CMake compiler version=14.2.0
-- CMake-Conan: [settings] compiler=gcc
-- CMake-Conan: [settings] compiler.version=14
-- Performing Test _CONAN_IS_GNU_LIBSTDCXX
-- Performing Test _CONAN_IS_GNU_LIBSTDCXX - Success
-- Performing Test _CONAN_GNU_LIBSTDCXX_IS_CXX11_ABI
-- Performing Test _CONAN_GNU_LIBSTDCXX_IS_CXX11_ABI - Success
-- CMake-Conan: Creating profile /tmp/tmpiw9f_y84/build/conan_host_profile
-- CMake-Conan: Profile:
[settings]
arch=armv8
os=Linux
compiler=gcc
compiler.version=14
compiler.libcxx=libstdc++11
build_type=Release
[conf]
tools.cmake.cmaketoolchain:generator=Ninja
tools.build:compiler_executables={"c":"/usr/bin/gcc","cpp":"/usr/bin/g++"}
-- CMake-Conan: Installing single configuration Release
-- CMake-Conan: conan install /tmp/pip-wheel-ig58x39r/pillow-jpls_793f35e05dcc480ab319ca061ee5add5 -of=/tmp/tmpiw9f_y84/build/conan --profile:host=default;--profile:host=/tmp/tmpiw9f_y84/build/conan_host_profile;--profile:build=default;--build=missing;-g;CMakeDeps
ERROR: Invalid setting '14' is not a valid 'settings.compiler.version' value.
Possible values are ['4.1', '4.4', '4.5', '4.6', '4.7', '4.8', '4.9', '5', '5.1', '5.2', '5.3', '5.4', '5.5', '6', '6.1', '6.2', '6.3', '6.4', '6.5', '7', '7.1', '7.2', '7.3', '7.4', '7.5', '8', '8.1', '8.2', '8.3', '8.4', '8.5', '9', '9.1', '9.2', '9.3', '9.4', '9.5', '10', '10.1', '10.2', '10.3', '10.4', '10.5', '11', '11.1', '11.2', '11.3', '11.4', '12', '12.1', '12.2', '12.3', '13', '13.1', '13.2']
Read "http://docs.conan.io/2/knowledge/faq.html#error-invalid-setting"
CMake Error at cmake/conan_provider.cmake:437 (message):
Conan install failed='1'
Call Stack (most recent call first):
cmake/conan_provider.cmake:544 (conan_install)
CMakeLists.txt:6 (find_package)
-- Configuring incomplete, errors occurred!
*** CMake configuration failed
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pillow-jpls
Failed to build pillow-jpls
ERROR: Failed to build one or more wheels
Root Cause
pyproject.toml pins conan~=2.0.16, which resolves to at most Conan 2.0.17. GCC 14 was released in May 2024, and Conan added GCC 14 to its default settings.yml in v2.3.1 via conan-io/conan#15958. Since ~=2.0.16 excludes anything ≥2.1, the build environment always gets a Conan version that doesn't recognize GCC 14.
GCC 14 is now the default compiler on current versions of Ubuntu (24.04+), Fedora (40+), and Debian (trixie), so this affects a growing number of users building from source.
Suggested Fix
Bump the Conan version constraint in pyproject.toml to allow at least Conan 2.3.1, e.g.:
Environment
- Python 3.13
- GCC 14.2.0 (Debian/Ubuntu)
- pip 25.x (building from sdist)
- aarch64 (also reproducible on x86_64)
In case it's not obvious, an LLM helped me generate this issue but I am a person
Summary
pillow-jpls==1.3.2fails to build from source on systems with GCC 14, because the Conan version constraint inpyproject.toml(conan~=2.0.16) resolves to a version that predates GCC 14 support in Conan'ssettings.yml.Error
Full build command and output:
Root Cause
pyproject.tomlpinsconan~=2.0.16, which resolves to at most Conan 2.0.17. GCC 14 was released in May 2024, and Conan added GCC 14 to its defaultsettings.ymlin v2.3.1 via conan-io/conan#15958. Since~=2.0.16excludes anything ≥2.1, the build environment always gets a Conan version that doesn't recognize GCC 14.GCC 14 is now the default compiler on current versions of Ubuntu (24.04+), Fedora (40+), and Debian (trixie), so this affects a growing number of users building from source.
Suggested Fix
Bump the Conan version constraint in
pyproject.tomlto allow at least Conan 2.3.1, e.g.:"conan>=2.3.1,<3"Environment
In case it's not obvious, an LLM helped me generate this issue but I am a person