Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1898977

Summary: mir fails to build with Python 3.10: Python Imaging Library (PIL) not found / free(): invalid pointer
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: mirAssignee: Neal Gompa <ngompa13>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, ngompa13, thrnciar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-01-09 11:31:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1904379    
Bug Blocks: 1890881    

Description Miro Hrončok 2020-11-18 12:29:01 UTC
mir fails to build with Python 3.10.0a2.

+ /usr/bin/cmake -S . -B x86_64-redhat-linux-gnu -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -GNinja -DMIR_LINK_TIME_OPTIMIZATION=ON -DMIR_USE_PRECOMPILED_HEADERS=OFF -DCMAKE_INSTALL_LIBEXECDIR=usr/libexec/mir '-DMIR_PLATFORM=gbm-kms;x11;wayland;eglstream-kms'
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- 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
-- Found Lcov: /usr/bin/lcov  
-- Found gcovr: /bin/gcovr  
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.20") found components: doxygen dot 
-- doxygen 1.8.20 (>= 1.8.0) available - enabling make target doc
-- Performing Test HAS_W_MISMATCHED_TAGS
-- Performing Test HAS_W_MISMATCHED_TAGS - Success
-- Performing Test HAS_W_PSABI
-- Performing Test HAS_W_PSABI - Success
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.7.3") 
-- Found Boost: /usr/include (found suitable version "1.73.0", minimum required is "1.48.0") found components: date_time system program_options filesystem iostreams regex 
-- Checking for module 'wayland-eglstream'
--   Found wayland-eglstream, version 1.1.5
-- Checking for module 'wlcs'
--   Found wlcs, version 1.2.0
-- Found EGL: /usr/lib64/libEGL.so  
-- Found GLESv2: /usr/lib64/libGLESv2.so  
-- Found GLM: /usr/include  
-- Found Protobuf: /usr/lib64/libprotobuf.so (found version "3.13.0") 
-- Found GLog: /usr/lib64/libglog.so  
-- Found GFlags: /usr/lib64/libgflags.so  
-- Checking for module 'lttng-ust'
--   Found lttng-ust, version 2.12.0
-- Checking for module 'libudev'
--   Found libudev, version 246
-- Checking for module 'glib-2.0'
--   Found glib-2.0, version 2.67.0
-- Checking for modules 'gio-2.0;gio-unix-2.0'
--   Found gio-2.0, version 2.67.0
--   Found gio-unix-2.0, version 2.67.0
-- Checking for module 'wayland-server'
--   Found wayland-server, version 1.18.0
-- Checking for module 'wayland-client'
--   Found wayland-client, version 1.18.0
-- Checking for module 'xcb'
--   Found xcb, version 1.13.1
-- Checking for module 'xcb-composite'
--   Found xcb-composite, version 1.13.1
-- Checking for module 'xcb-xfixes'
--   Found xcb-xfixes, version 1.13.1
-- Checking for module 'xcb-render'
--   Found xcb-render, version 1.13.1
-- Checking for module 'xcursor'
--   Found xcursor, version 1.2.0
-- Checking for module 'libdrm'
--   Found libdrm, version 2.4.103
-- Checking for module 'glesv2'
--   Found glesv2, version 3.2
-- Checking for module 'gbm>=9.0.0'
--   Found gbm, version 20.2.2
-- Checking for module 'epoxy'
--   Found epoxy, version 1.5.4
-- Checking for module 'nettle'
--   Found nettle, version 3.6
-- Checking for module 'wayland-egl'
--   Found wayland-egl, version 18.1.0
-- Checking for module 'xkbcommon'
--   Found xkbcommon, version 1.0.1
-- Checking for module 'libinput'
--   Found libinput, version 1.16.3
-- Looking for dlvsym
-- Looking for dlvsym - found
-- Looking for dlsym
-- Looking for dlsym - found
-- Checking for module 'libxml++-2.6'
--   Found libxml++-2.6, version 2.42.0
-- Checking for module 'uuid'
--   Found uuid, version 2.36.0
-- Checking for module 'freetype2'
--   Found freetype2, version 23.4.17
-- Performing Test MIR_COMPILE_WITH_W_NO_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS
-- Performing Test MIR_COMPILE_WITH_W_NO_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS - Success
-- Performing Test HAS_W_GNU_EMPTY_INITIALIZER
-- Performing Test HAS_W_GNU_EMPTY_INITIALIZER - Failed
-- Checking for module 'yaml-cpp'
--   Found yaml-cpp, version 0.6.3
-- Performing Test HAS_W_NO_ATTRIBUTE_ALIAS
-- Performing Test HAS_W_NO_ATTRIBUTE_ALIAS - Success
-- Found XKBCOMMON: /usr/lib64/libxkbcommon.so  
free(): invalid pointer
CMake Error at cmake/FindPIL.cmake:7 (message):
  Python Imaging Library (PIL) not found
Call Stack (most recent call first):
  examples/example-server-lib/CMakeLists.txt:1 (find_package)

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.10/fedora-rawhide-x86_64/01769264-mir/

For all our attempts to build mir with Python 3.10, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/package/mir/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.10:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/

Let us know here if you have any questions.

Python 3.10 will be included in Fedora 35. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.10.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Miro Hrončok 2020-11-19 12:35:58 UTC
I suspect PIL (pillow) is broken. See also bz1899498 and bz1896390.

Comment 2 Miro Hrončok 2021-01-09 11:31:53 UTC

*** This bug has been marked as a duplicate of bug 1904379 ***