Ninja error manifest build ninja still dirty after 100 tries

I tried to build fuchsia on my macOS 10.15beta, xcode11.0 beta2 following instructions provided on https://fuchsia.dev/fuchsia-src/getting_started However, I'm continuously meeting ninja: error...
ninja: error: manifest 'build.ninja' still dirty after 100 tries
(base) kylewong@KyleWongs-MacBook-Pro fuchsia % fx set core.x64 --release

WARNING: Please opt in or out of fx metrics collection.
You will receive this warning until an option is selected.
To check what data we collect, run `fx metrics`
To opt in or out, run `fx metrics <enable|disable>

Generating compile_commands took 463ms
Done. Made 28104 targets from 2274 files in 12455ms
(base) kylewong@KyleWongs-MacBook-Pro fuchsia % 
(base) kylewong@KyleWongs-MacBook-Pro fuchsia % fx build
WARNING: Please opt in or out of fx metrics collection.
You will receive this warning until an option is selected.
To check what data we collect, run `fx metrics`
To opt in or out, run `fx metrics <enable|disable>

ninja: Entering directory `/Users/kylewong/Codes/fuchsia/out/default.zircon'
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
[1/1] Regenerating ninja files
ninja: error: manifest 'build.ninja' still dirty after 100 tries
View previous topic :: View next topic  
Author Message
leifdotwav
n00b
n00b

Joined: 21 Oct 2021
Posts: 24

PostPosted: Thu Nov 18, 2021 3:38 am    Post subject: [SOLVED] unable to emerge KDE-related apps, ninja error Reply with quote

hey all,

i’m trying to do a fresh install of gentoo using the kde plasma environment. however, i can’t seem to emerge konsole or dolphin, as both of them fail to compile. during the build process, this one line stuck out to me the most:

Code:
[0/1] /usr/bin/cmake —regenerate-during-build -S/var/tmp/portage/kde-apps/konsole-21.04.3-r4/work/konsole-21.04.3 -B/var/tmp/portage/kde-apps/konsole-21.04.3-r4/work/konsole-21.04.3_build

CMake Warning (dev) at /usr/share/ECM/modules/ECMFindModuleHelpers.cmake:112 (message):

  Your project should require at least CMake 3.16.0 to use FindKF5.cmake

Call Stack (most recent call first):

  /usr/share/ECM/find-modules/FindKF5.cmake:30 (ecm_find_package_version_check)

  CMakeLists.txt:50 (find_package)

This warning is for project developers.  Use -Wno-dev to suppress it.



the build attempt also said:

Code:
ninja: error: manifest ‘build.ninja’ still dirty after 100 tries



info on the build:

Code:
Portage 3.0.28 (python 3.9.8-final-0, default/linux/amd64/17.1/desktop/plasma, gcc-11.2.0, glibc-2.33-r7, 5.13.0-19-generic x86_64)

=================================================================

                         System Settings

=================================================================

System uname: Linux-5.13.0-19-generic-x86_64-AMD_Ryzen_3_3100_4-Core_Processor-with-glibc2.33

KiB Mem:    16267072 total,   8954236 free

KiB Swap:    2097148 total,   2097148 free

Timestamp of repository gentoo: Thu, 18 Nov 2021 03:00:01 +0000

Head commit of repository gentoo: 029532544d5edfe5fc70413a827831932e3c0b21

sh bash 5.1_p8

ld GNU ld (Gentoo 2.37_p1 p0) 2.37

app-shells/bash:          5.1_p8::gentoo

dev-lang/perl:            5.34.0-r3::gentoo

dev-lang/python:          3.9.8::gentoo

dev-lang/rust:            1.56.1::gentoo

dev-util/cmake:           3.20.5::gentoo

sys-apps/baselayout:      2.7-r3::gentoo

sys-apps/openrc:          0.44.8::gentoo

sys-apps/sandbox:         2.25::gentoo

sys-devel/autoconf:       2.13-r1::gentoo, 2.71-r1::gentoo

sys-devel/automake:       1.16.4::gentoo

sys-devel/binutils:       2.37_p1::gentoo

sys-devel/gcc:            11.2.0::gentoo

sys-devel/gcc-config:     2.4::gentoo

sys-devel/libtool:        2.4.6-r6::gentoo

sys-devel/make:           4.3::gentoo

sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)

sys-libs/glibc:           2.33-r7::gentoo

Repositories:

gentoo

    location: /var/db/repos/gentoo

    sync-type: rsync

    sync-uri: rsync://rsync.gentoo.org/gentoo-portage

    priority: -1000

    sync-rsync-verify-jobs: 1

    sync-rsync-verify-max-age: 24

    sync-rsync-verify-metamanifest: yes

    sync-rsync-extra-opts:

ACCEPT_KEYWORDS=»amd64″

ACCEPT_LICENSE=»*»

CBUILD=»x86_64-pc-linux-gnu»

CFLAGS=»-O2 -pipe -march=znver2″

CHOST=»x86_64-pc-linux-gnu»

CONFIG_PROTECT=»/etc /usr/share/config /usr/share/gnupg/qualified.txt»

CONFIG_PROTECT_MASK=»/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo»

CXXFLAGS=»-O2 -pipe -march=znver2″

DISTDIR=»/var/cache/distfiles»

ENV_UNSET=»CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR»

FCFLAGS=»-O2 -pipe -march=znver2″

FEATURES=»assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr»

FFLAGS=»-O2 -pipe -march=znver2″

GENTOO_MIRRORS=»http://distfiles.gentoo.org»

LANG=»en_CA»

LDFLAGS=»-Wl,-O1 -Wl,—as-needed»

MAKEOPTS=»-j8″

PKGDIR=»/var/cache/binpkgs»

PORTAGE_CONFIGROOT=»/»

PORTAGE_RSYNC_OPTS=»—recursive —links —safe-links —perms —times —omit-dir-times —compress —force —whole-file —delete —stats —human-readable —timeout=180 —exclude=/distfiles —exclude=/local —exclude=/packages —exclude=/.git»

PORTAGE_TMPDIR=»/var/tmp»

USE=»X a52 aac acl acpi activities alsa amd64 bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus declarative dri dts dvd dvdr elogind emboss encode exif ffmpeg flac fontconfig fortran gdbm gif gimp gpm gtk gui iconv icu ipv6 jpeg jpeg2k kde kipi kwallet lcms libglvnd libnotify libtirpc lm-sensors mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf plasma png policykit ppds pulseaudio qml qt5 quicktime readline sdl seccomp semantic-desktop spell split-usr ssl startup-notification svg tiff truetype udev udisks unicode upower usb vim-syntax vnc vorbis webp widgets wifi wxwidgets x264 xattr xcb xinerama xml xv xvid zip zlib zsh-completion» ABI_X86=»64″ ADA_TARGET=»gnat_2019″ APACHE2_MODULES=»authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias» CALLIGRA_FEATURES=»karbon sheets words» COLLECTD_PLUGINS=»df interface irq load memory rrdtool swap syslog» CPU_FLAGS_X86=»mmx mmxext sse sse2″ ELIBC=»glibc» GPSD_PROTOCOLS=»ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx» GRUB_PLATFORMS=»efi-64″ INPUT_DEVICES=»libinput» KERNEL=»linux» LCD_DEVICES=»bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text» LIBREOFFICE_EXTENSIONS=»presenter-console presenter-minimizer» LUA_SINGLE_TARGET=»lua5-1″ LUA_TARGETS=»lua5-1″ OFFICE_IMPLEMENTATION=»libreoffice» PHP_TARGETS=»php7-3 php7-4″ POSTGRES_TARGETS=»postgres12 postgres13″ PYTHON_SINGLE_TARGET=»python3_9″ PYTHON_TARGETS=»python3_9″ RUBY_TARGETS=»ruby26 ruby27″ USERLAND=»GNU» VIDEO_CARDS=»nvidia» XTABLES_ADDONS=»quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account»

Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS



if needed, i can post the entire output of the build, but i think this is what’s wrong. thanks in advance.

Last edited by leifdotwav on Thu Nov 18, 2021 7:17 pm; edited 1 time in total

Back to top

View user's profile Send private message

sam_
Developer
Developer

Joined: 14 Aug 2020
Posts: 1009

PostPosted: Thu Nov 18, 2021 5:00 am    Post subject: Re: unable to emerge KDE-related apps, cmake/ninja error Reply with quote

leifdotwav wrote:
hey all,

Code:
ninja: error: manifest ‘build.ninja’ still dirty after 100 tries



This almost certainly means your clock is wrong. Try chrony or similar.

Back to top

View user's profile Send private message

leifdotwav
n00b
n00b

Joined: 21 Oct 2021
Posts: 24

PostPosted: Thu Nov 18, 2021 3:27 pm    Post subject: Re: unable to emerge KDE-related apps, cmake/ninja error Reply with quote

sam_ wrote:
leifdotwav wrote:
hey all,

Code:
ninja: error: manifest ‘build.ninja’ still dirty after 100 tries



This almost certainly means your clock is wrong. Try chrony or similar.

synced my time, and waited a few hours just to be safe (i also had to sleep), logged back into my setup, and the emerge worked??? thanks so much! it looks like you’re a dev for gentoo, so could you explain why the time needs to be synced for certain emerges to work? thanks in advance.

Back to top

View user's profile Send private message

sam_
Developer
Developer

Joined: 14 Aug 2020
Posts: 1009

PostPosted: Fri Nov 19, 2021 9:31 am    Post subject: Re: unable to emerge KDE-related apps, cmake/ninja error Reply with quote

leifdotwav wrote:
sam_ wrote:
leifdotwav wrote:
hey all,

Code:
ninja: error: manifest ‘build.ninja’ still dirty after 100 tries



This almost certainly means your clock is wrong. Try chrony or similar.

synced my time, and waited a few hours just to be safe (i also had to sleep), logged back into my setup, and the emerge worked??? thanks so much! it looks like you’re a dev for gentoo, so could you explain why the time needs to be synced for certain emerges to work? thanks in advance.

Sure! The idea is that it needs to be sure that there aren’t stale files left over by e.g. the upstream developer who made the tarball. Or maybe that the generated Makefiles (or ninja files) are out of sync with the list of things to build. The generated files must have a timestamp after the list of things to build, which ensures it is fully up to date.

If the generated files look like they were modified before the list of things to build (which we use to generate them), it implies that our generator is doing something wrong. That’s what it means when it says «still dirty after 100 tries». It’s trying to regenerate over and over but the timestamps still don’t make sense to it.

I hope that kind of makes sense, I think I’ve got it the right way around :lol:

Back to top

View user's profile Send private message

Hu
Moderator
Moderator

Joined: 06 Mar 2007
Posts: 19775

PostPosted: Fri Nov 19, 2021 8:28 pm    Post subject: Reply with quote

Generally, most build systems will have this requirement regarding time. Only the simplest ones, which run every step from beginning to end, every time, can ignore the clock. Anything that supports resuming (and most developers quickly find themselves wanting that) will inspect times to determine what steps to skip. As sam_ says, if a newly generated file is older than the file from which it was created, the build system will usually react badly. The careful ones abort with an error. The sloppy ones just keep going, and risk producing nonsensical results.
Back to top

View user's profile Send private message

Display posts from previous:   

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Мой CMakeLists.txt выглядит следующим образом (я не думаю, что содержимое CMakeLists.txt важно, поскольку код хорошо компилируется с CLion в Linux, но включение деталей не должно причинить никакого вреда):

cmake_minimum_required(VERSION 3.12)
project(ambulance)

set(CMAKE_CXX_STANDARD 14)
if (UNIX)
    set(CMAKE_CXX_FLAGS " -pthread ")

    include_directories(ambulance builder control include include/unix io main model view)

    add_executable(ambulance
            control/Ambulance.cpp
            control/Ambulance.h
            main/main.cpp
            view/AmbulanceUI.cpp
            view/AmbulanceUI.h
            model/Doctor.cpp
            model/Doctor.h
            model/Patient.cpp
            model/Patient.h
            control/PatientAdmin.cpp
            control/PatientAdmin.h
            model/Person.cpp
            model/Person.h
            control/DoctorAdmin.cpp
            control/DoctorAdmin.h
            model/Treatment.cpp
            model/Treatment.h
            io/PeopleIO.h
            io/AmbulancePersistence.cpp
            io/AmbulancePersistence.h
            io/AmbulancePeopleIOElement.cpp
            io/AmbulancePeopleIOElement.h
            builder/PatientBuilder.cpp
            builder/PatientBuilder.h
            builder/DoctorBuilder.cpp
            builder/DoctorBuilder.h
            builder/PersonBuilder.cpp
            builder/PersonBuilder.h
            include/json_macro.h
            include/system_macro.h
            control/ScheduleAdmin.cpp
            control/ScheduleAdmin.h
            model/ScheduleElement.cpp
            model/ScheduleElement.h
            model/DailySchedule.cpp
            model/DailySchedule.h
            include/unix/Logger.h
            include/unix/Logger.cpp
            include/json.hpp
            logger/Logger.h
            logger/Logger.cpp)
else ()
    include_directories(ambulance builder control include include/win io main model view)

    add_executable(ambulance
            include/json.hpp
            control/Ambulance.cpp
            control/Ambulance.h
            main/main.cpp
            view/AmbulanceUI.cpp
            view/AmbulanceUI.h
            model/Doctor.cpp
            model/Doctor.h
            model/Patient.cpp
            model/Patient.h
            control/PatientAdmin.cpp
            control/PatientAdmin.h
            model/Person.cpp
            model/Person.h
            control/DoctorAdmin.cpp
            control/DoctorAdmin.h
            model/Treatment.cpp
            model/Treatment.h
            io/PeopleIO.h
            io/AmbulancePersistence.cpp
            io/AmbulancePersistence.h
            io/AmbulancePeopleIOElement.cpp
            io/AmbulancePeopleIOElement.h
            builder/PatientBuilder.cpp
            builder/PatientBuilder.h
            builder/DoctorBuilder.cpp
            builder/DoctorBuilder.h
            builder/PersonBuilder.cpp
            builder/PersonBuilder.h
            include/json_macro.h
            include/system_macro.h
            include/win/Logger.h
            include/win/Logger.cpp
            control/ScheduleAdmin.cpp
            control/ScheduleAdmin.h
            model/ScheduleElement.cpp
            model/ScheduleElement.h
            model/DailySchedule.cpp
            model/DailySchedule.h
            logger/Logger.cpp
            logger/Logger.h)
endif (UNIX)

А вот содержимое CMakeSettings.txt

{
"configurations": [
{
"name": "x64-Release",
"generator": "Ninja",
"configurationType": "RelWithDebInfo",
"inheritEnvironments": [
"msvc_x64_x64"
],
"buildRoot": "${env.USERPROFILE}CMakeBuilds${workspaceHash}build${name}",
"installRoot": "${env.USERPROFILE}CMakeBuilds${workspaceHash}install${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "-v",
"ctestCommandArgs": ""
}
]
}

Я сделал код в основном на Linux и компилировал на виртуальной машине с Windows 10 с Visual Studio Enterprise. Вчера сборка все еще была успешной, но с сегодняшнего дня каждый раз, когда я пытаюсь ее скомпилировать, у меня возникает бесконечный цикл, который говорит:

[0/1] «…cmake.exe» «…/x64-Release»
— Configuring done
— Generating done
— Build files have been written to: …

Наконец, в описании ошибки говорится:

manifest ‘build.ninja’ still dirty after 100 tries

Что может быть решением этого? Должен ли я переустановить визуальную студию (что невероятно неудобно, поскольку моя виртуальная машина невероятно медленная).

Спасибо

Понравилась статья? Поделить с друзьями:
  • Nikon p510 ошибка объектива
  • Nikon error r33
  • Nikon error clock d80
  • Nikon d90 ошибка err что делать
  • Nikon d90 выдает ошибку err