Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[question] freetype not building on macOS with "ERROR: Could not detect Ninja v1.8.2 or newer" #25220

Closed
saschasc opened this issue Sep 11, 2024 · 6 comments
Assignees
Labels
question Further information is requested

Comments

@saschasc
Copy link

What is your question?

What is your question?
Since I am not sure if this is my bad or if it is really an issue I created a question first.

I have the same issue on macOS Sonoma (tested with x64 and Apple Silicon) and different versions of compilers (e.g. clang 16.0.6 and 18.1.8).

Not sure if it is related to this issue here?
ninja-build/ninja#2212

And how could I overwrite the build-requirement to a newer version of ninja?

Any help is very much appreciated!

freetype/2.13.2: Applying build-requirement: meson/1.3.2
freetype/2.13.2: Applying build-requirement: pkgconf/2.1.0
freetype/2.13.2: Applying build-requirement: ninja/1.11.1
freetype/2.13.2: WARN: Build folder is dirty, removing it: /Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79
freetype/2.13.2: Copying sources to build folder
freetype/2.13.2: Building your package in /Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79
freetype/2.13.2: Generator txt created conanbuildinfo.txt
freetype/2.13.2: Calling generate()
freetype/2.13.2: Aggregating env generators
freetype/2.13.2: Calling build()
freetype/2.13.2: Apply patch (portability): meson: Use the standard dependency mechanism to find bzip2
freetype/2.13.2: Meson configure cmd: meson setup --native-file
"/Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/build-debug/conan/conan_meson_native.ini"
"/Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/build-debug"
"/Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/src" --prefix=/
DEPRECATION: "pkgconfig" entry is deprecated and should be replaced by "pkg-config"
The Meson build system
Version: 1.3.2
Source dir: /Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/src
Build dir: /Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/build-debug
Build type: native build
Project name: freetype2
Project version: 2.13.2
C compiler for the host machine: gcc (gcc 14.2.0 "gcc (Homebrew GCC 14.2.0) 14.2.0")
C linker for the host machine: gcc ld64 1053.12
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python3 found: YES (/usr/local/bin/python3)
Has header "unistd.h" : YES
Has header "fcntl.h" : YES
Has header "sys/mman.h" : YES
Found pkg-config: YES (/Users/user/.conan/data/pkgconf/2.1.0///package/907cb07dbeb8f7bacd51a5119560f14986d21b20/bin/pkgconf) 2.1.0
Run-time dependency zlib found: YES 1.3.1
Run-time dependency bzip2 found: YES 1.0.8
Run-time dependency libpng found: YES 1.6.40
Dependency harfbuzz skipped: feature harfbuzz disabled
Dependency libbrotlidec skipped: feature brotli disabled
Build targets in project: 5

freetype2 2.13.2

Operating System
OS : darwin

Used Libraries
Zlib : system
Bzip2 : yes
Png : yes
Harfbuzz : no
Brotli : no

User defined options
Native files: /Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/build-debug/conan/conan_meson_native.ini
prefix : /

ERROR: Could not detect Ninja v1.8.2 or newer

A full log can be found at
/Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/build-debug/meson-logs/meson-log.txt
freetype/2.13.2:
freetype/2.13.2: ERROR: Package 'eacfa3bffb280be7faabec2ea5ae429b24f8ed79' build failed
freetype/2.13.2: WARN: Build folder /Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/build-debug
ERROR: freetype/2.13.2: Error in build() method, line 112
meson.configure()
ConanException: Error 1 while executing meson setup --native-file
"/Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/build-debug/conan/conan_meson_native.ini"
"/Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/build-debug"
"/Users/user/.conan/data/freetype/2.13.2///build/eacfa3bffb280be7faabec2ea5ae429b24f8ed79/src" --prefix=/
CMake Error at external/cmake-general/cmake-general/internal/cmake/ConanInstall.cmake:27 (execute_process):
execute_process failed command indexes:

 1: "Child return code: 1"

CMake Error at external/cmake-general/cmake-general/Conan.cmake:261 (execute_process):
execute_process failed command indexes:

 1: "Child return code: 1"

Call Stack (most recent call first):
external/cmake-general/cmake-general/Conan.cmake:98 (cg_conan_install)
CMakeLists.txt:211 (cg_setup_conan)

-- Configuring incomplete, errors occurred!

[Failed to reload]

@uilianries
Copy link
Member

@saschasc Hello and thank you for reporting your case, however, it's clear your used scenario. Could you please follow the bug report template from this repository? You can find it on https://github.com/conan-io/conan-center-index/issues/new/choose -> Package: Bug Report

It's important too having your full build log, including command lined used, so we can investigate/reproduce your case.

As we building freetype in the CI, at first sight, it should not be an error, but as you pointed, it could be related to a new release.

@saschasc
Copy link
Author

@uilianries Thanks a lot for your feedback. OK, I will try to find time the next days.

Right now we are still using Conan 1.x but we plan to move to Conan 2.x as soon as possible. The issue is with Conan 1.65.0.

@uilianries uilianries self-assigned this Sep 11, 2024
@uilianries uilianries added the requires reporter action Waiting on issue reporter label Sep 11, 2024
@uilianries
Copy link
Member

@saschasc Freetype uses Meson, which consumes Ninja.

What you could do as workaround is use a specific Ninja version as tool requirement:

In Conan 2.x we have replacement feature for requirements: https://docs.conan.io/2/reference/config_files/profiles.html#replace-tool-requires

However, as you are using Conan 1.x, you still can configure it via Profile:

[requires]
freetype/2.13.2

[tool_requires]
ninja/1.12.0

[generators]
CMakeToolchain
CMakeDeps

@saschasc
Copy link
Author

saschasc commented Sep 11, 2024

System which was used for the test.

Darwin MacBook-Pro-3.local 23.6.0 Darwin Kernel Version 23.6.0: Fri Jul  5 17:54:20 PDT 2024; root:xnu-10063.141.1~2/RELEASE_X86_64 x86_64

This is the ninja version which meson downloads per default.

%pwd
/Users/user/.conan/data/ninja/1.11.1/_/_/package/801752c0480319b8e090188c566245a78e9abcf4/bin
% ./ninja --version
dyld[53727]: weak-def symbol not found '__ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm'
zsh: abort      ./ninja --version

When I force to use another ninja version (e.g. 1.12.0) the package compiles without any problems.

I had the same issue on another MacBook with Apple Silicon.

@saschasc
Copy link
Author

I suspect a local problem and customizing Ninja to 1.12.0 has allowed me to compile the package. Thanks for the valuable input @uilianries.

@uilianries
Copy link
Member

@saschasc Thank you for sharing your solution! Regards!

@uilianries uilianries removed the requires reporter action Waiting on issue reporter label Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants