Bug 239512

Summary: ryzen 5 2600 (12 reported cores) too fast for devel/ninja
Product: Ports & Packages Reporter: aryeh.friedman
Component: Individual Port(s)Assignee: kde
Status: New ---    
Severity: Affects Only Me CC: adridg, tcberner
Priority: --- Flags: bugzilla: maintainer-feedback? (kde)
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://github.com/ninja-build/ninja/issues/1599

Description aryeh.friedman 2019-07-29 09:29:42 UTC
I have had a number of ports fail to build under ninja on my ryzen 2600 machine all them get stuck in the configuration stage and go into an infinite loop for example here are the last 2 iterations of the loop devel/libical got stuck in (same loop happens on devel/llvm80, graphics/graphite2, graphics/jpeg-turbo, devel/tpm-emulator, textproc/p5-xml-parser)... See comments in PR 239508 for some more detail on the llvm80 case

[0/1] /usr/local/bin/cmake -S/usr/ports/devel/libical/work/libical-3.0.4 -B/usr/ports/devel/libical/work/.build
CMake Warning (dev) at cmake/modules/FindICU.cmake:74 (set):
  implicitly converting 'DOC' to 'STRING' type.
Call Stack (most recent call first):
  CMakeLists.txt:164 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found ICU version 64.2
-- Found ICU header files in /usr/local/include
-- Found ICU libraries: /usr/local/lib/libicuuc.so /usr/local/lib/libicui18n.so
-- Optional package Berkeley DB was not found
-- The following features have been enabled:

 * Build types, build both shared and static libraries
 * RSCALE support (RFC7529), build in RSCALE support
 * Option GOBJECT_INTROSPECTION, build GObject introspection "typelib" files
 * Option ICAL_GLIB_VAPI, build Vala "vapi" files
 * Option ICAL_GLIB, build libical-glib interface
 * Option WITH_CXX_BINDINGS, build the C++ bindings

-- The following OPTIONAL packages have been found:

 * GLib (required version >= 2.32), A library of handy utility functions, <http://www.gtk.org>
   For the optional libical-glib interface
 * PkgConfig
 * LibXML (required version >= 2.7.3), a library providing XML and HTML support, <http://xmlsoft.org>
   For the optional libical-glib interface

-- The following RECOMMENDED packages have been found:

 * ICU, libicu (International Components for Unicode) libraries, <http://www.icu-project.org>
   For RSCALE (RFC7529) support

-- The following REQUIRED packages have been found:

 * Perl
   Required by the libical build system.
 * GObjectIntrospection (required version >= 0.6.7), <https://wiki.gnome.org/Projects/GObjectIntrospection>
   Required in order to build the GObject introspection "typelib" files.

-- The following features have been disabled:

 * Option STATIC_ONLY, build static libraries only
 * Option SHARED_ONLY, build shared libraries only
 * Berkeley DB storage support, build in support for Berkeley DB storage
 * Option ICAL_ERRORS_ARE_FATAL, icalerror_* calls will abort instead of internally signaling an error
 * Option ICAL_ALLOW_EMPTY_PROPERTIES, prevents empty properties from being replaced with X-LIC-ERROR properties
 * Option USE_BUILTIN_TZDATA, use our own timezone data rather then the system timezone data
 * Option ICAL_BUILD_DOCS, build API documentation and reference manual
 * libical-glib testing, python3 is required to run the regression tests

-- The following OPTIONAL packages have not been found:

 * BDB, Berkeley DB storage, <http://www.oracle.com/database/berkeley-db>
   For Berkeley DB storage support

-- Configuring done
-- Generating done
-- Build files have been written to: /usr/ports/devel/libical/work/.build
[0/1] /usr/local/bin/cmake -S/usr/ports/devel/libical/work/libical-3.0.4 -B/usr/ports/devel/libical/work/.build
CMake Warning (dev) at cmake/modules/FindICU.cmake:74 (set):
  implicitly converting 'DOC' to 'STRING' type.
Call Stack (most recent call first):
  CMakeLists.txt:164 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found ICU version 64.2
-- Found ICU header files in /usr/local/include
-- Found ICU libraries: /usr/local/lib/libicuuc.so /usr/local/lib/libicui18n.so
-- Optional package Berkeley DB was not found
-- The following features have been enabled:

 * Build types, build both shared and static libraries
 * RSCALE support (RFC7529), build in RSCALE support
 * Option GOBJECT_INTROSPECTION, build GObject introspection "typelib" files
 * Option ICAL_GLIB_VAPI, build Vala "vapi" files
 * Option ICAL_GLIB, build libical-glib interface
 * Option WITH_CXX_BINDINGS, build the C++ bindings

-- The following OPTIONAL packages have been found:

 * GLib (required version >= 2.32), A library of handy utility functions, <http://www.gtk.org>
   For the optional libical-glib interface
 * PkgConfig
 * LibXML (required version >= 2.7.3), a library providing XML and HTML support, <http://xmlsoft.org>
   For the optional libical-glib interface

-- The following RECOMMENDED packages have been found:

 * ICU, libicu (International Components for Unicode) libraries, <http://www.icu-project.org>
   For RSCALE (RFC7529) support

-- The following REQUIRED packages have been found:

 * Perl
   Required by the libical build system.
 * GObjectIntrospection (required version >= 0.6.7), <https://wiki.gnome.org/Projects/GObjectIntrospection>
   Required in order to build the GObject introspection "typelib" files.

-- The following features have been disabled:

 * Option STATIC_ONLY, build static libraries only
 * Option SHARED_ONLY, build shared libraries only
 * Berkeley DB storage support, build in support for Berkeley DB storage
 * Option ICAL_ERRORS_ARE_FATAL, icalerror_* calls will abort instead of internally signaling an error
 * Option ICAL_ALLOW_EMPTY_PROPERTIES, prevents empty properties from being replaced with X-LIC-ERROR properties
 * Option USE_BUILTIN_TZDATA, use our own timezone data rather then the system timezone data
 * Option ICAL_BUILD_DOCS, build API documentation and reference manual
 * libical-glib testing, python3 is required to run the regression tests

-- The following OPTIONAL packages have not been found:

 * BDB, Berkeley DB storage, <http://www.oracle.com/database/berkeley-db>
   For Berkeley DB storage support

-- Configuring done
-- Generating done
-- Build files have been written to: /usr/ports/devel/libical/work/.build
ninja: error: manifest 'build.ninja' still dirty after 100 tries
Comment 1 Adriaan de Groot freebsd_committer 2019-07-29 13:28:27 UTC
Please check timestamps in the WRKDIR tree; what Ninja is telling you in the error message is that the generated files still aren't newer than the files it's generating from. So you may have a file from the future, or mismatched clocks between the machine you're building on and your NFS server (if that's your setup), or anything else.

Are any of your files implausibly old? Like from 1970?
Comment 2 Tobias C. Berner freebsd_committer 2019-09-06 11:44:54 UTC
See https://github.com/ninja-build/ninja/issues/1599