opencv / opencv/opencv-python

Freetype has been found when there are no freetype in environment (Windows)

Open
#492 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
5.4k
Forks
1k
Avg merge
22h 17m
Merged PRs (30d)
3

Description

Actual behaviour

I have faced the issue when I do not have pre-installed freetype in my environment, but during a build cmake finds it and try to build the project with it.
The log during the configuration:

  -- Checking for module 'freetype2'
  --   Found freetype2, version 23.0.17
  CMake Warning at C:/Users/runneradmin/AppData/Local/Temp/pip-req-build-egif0lkt/opencv/cmake/OpenCVUtils.cmake:882 (message):
    ocv_check_modules(FREETYPE): can't find library 'freetype'.  Specify
    'pkgcfg_lib_FREETYPE_freetype' manually
  Call Stack (most recent call first):
    C:/Users/runneradmin/AppData/Local/Temp/pip-req-build-egif0lkt/opencv_contrib/modules/freetype/CMakeLists.txt:6 (ocv_check_modules)

And the log during the build:

  LINK : fatal error LNK1181: cannot open input file 'freetype.lib' [C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-egif0lkt\_skbuild\win32-3.6\cmake-build\modules\python3\opencv_python3.vcxproj]
Steps to reproduce
  • example code:

Run building a wheel command in the root directory of opencv-python repository with the following environment variables:
SDIST=0
ENABLE_HEADLESS=0
ENABLE_CONTRIB=1

python -m pip wheel --wheel-dir=%cd%\wheelhouse . --verbose
  • operating system: Windows x86 / x64
  • architecture (e.g. x86)
  • opencv-python version: 4.5.2
  • branch: master
Issue submission checklist
  • This is not a generic OpenCV usage question (looking for help for coding, other usage questions, homework etc.)
  • I have read the README of this repository and understand that this repository provides only an automated build toolchain for OpenCV Python packages (there is no actual OpenCV code here)
  • The issue is related to the build scripts in this repository, to the pre-built binaries or is a feature request (such as "please enable this additional dependency")
  • I'm using the latest version of opencv-python
How to temporary fix it

I have added the flag -DBUILD_opencv_freetype=OFF to suppress freetype and to build without it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the Windows wheel build from the repository root with the listed environment variables, then inspect the freetype check shown in opencv_contrib/modules/freetype/CMakeLists.txt and the OpenCVUtils.cmake warning. Done means a missing FreeType installation does not produce a freetype.lib link failure, while the build still completes without manually setting BUILD_opencv_freetype=OFF.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, python
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.