repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

Stuart Henderson
Here are some of the ports persistently seeing this error from cmake/ninja:

x11/kde-applications/audiocd-kio
x11/kde-applications/kdeedu-data
x11/kde-applications/kmbox
x11/kde-applications/kshisen
x11/lxqt/about
x11/lxqt/obconf-qt
x11/lxqt/runner

Does anyone know when this started? Was it a bad cmake update sometime?
I am hitting at least one of these every 2-3 bulk builds.

This needs fixing some way or other, I am not going to reattempt builds for
these in standard bulk builds any more so the packages and their dependents
will just be missing.

Reply | Threaded
Open this post in threaded view
|

Re: repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

Christian Weisgerber
On 2019-10-22, Stuart Henderson <[hidden email]> wrote:

> Here are some of the ports persistently seeing this error from cmake/ninja:

FWIW, I don't see this on amd64 at all.

--
Christian "naddy" Weisgerber                          [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

Rafael Sadowski
In reply to this post by Stuart Henderson
in Tue Oct 22, 2019 at 11:05:11AM +0100, Stuart Henderson wrote:

> Here are some of the ports persistently seeing this error from cmake/ninja:
>
> x11/kde-applications/audiocd-kio
> x11/kde-applications/kdeedu-data
> x11/kde-applications/kmbox
> x11/kde-applications/kshisen
> x11/lxqt/about
> x11/lxqt/obconf-qt
> x11/lxqt/runner
>
> Does anyone know when this started? Was it a bad cmake update sometime?
> I am hitting at least one of these every 2-3 bulk builds.
>
> This needs fixing some way or other, I am not going to reattempt builds for
> these in standard bulk builds any more so the packages and their dependents
> will just be missing.
>

It is possible for you to go into the build directory and run
"ninja -d explain"?
Maybe the output can help me to find the issue.

This is not a cmake issue, it's more a ninja issue. Of course you can
try:

USE_NINJA = samurai

That has always helped well so far! We can also fit it with:

USE_NINJA = No

If this not work, blame cmake!

Sorry I can't help you much more.

RS

Reply | Threaded
Open this post in threaded view
|

Re: repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

Stuart Henderson
On 2019/10/25 17:47, Rafael Sadowski wrote:

> in Tue Oct 22, 2019 at 11:05:11AM +0100, Stuart Henderson wrote:
> > Here are some of the ports persistently seeing this error from cmake/ninja:
> >
> > x11/kde-applications/audiocd-kio
> > x11/kde-applications/kdeedu-data
> > x11/kde-applications/kmbox
> > x11/kde-applications/kshisen
> > x11/lxqt/about
> > x11/lxqt/obconf-qt
> > x11/lxqt/runner
> >
> > Does anyone know when this started? Was it a bad cmake update sometime?
> > I am hitting at least one of these every 2-3 bulk builds.
> >
> > This needs fixing some way or other, I am not going to reattempt builds for
> > these in standard bulk builds any more so the packages and their dependents
> > will just be missing.
> >
>
> It is possible for you to go into the build directory and run
> "ninja -d explain"?
> Maybe the output can help me to find the issue.

I'll try to get that next time it happens. I can't keep all the failed
build work directories from my bulks because I have failures, often in
big ports, in nearly every bulk build (I do approx 20 per month)..

> This is not a cmake issue, it's more a ninja issue. Of course you can
> try:
>
> USE_NINJA = samurai
>
> That has always helped well so far! We can also fit it with:
>
> USE_NINJA = No

I can't say if that actually fixes anything or not because reattempting
the build with ninja will often fix it too. (But ports are supposed to
build reliably).

> If this not work, blame cmake!
>
> Sorry I can't help you much more.
>
> RS
>

It didn't used to happen (even with ninja), _something_ happened, and
now it does.

I'm just doing the builds. I'll try to help with information if I'm
told what is needed but people committing to the ports involved in the
breakage do need to take responsibility for tracking down and fixing
them ..

Reply | Threaded
Open this post in threaded view
|

Re: repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

Stuart Henderson
On 2019/10/25 17:27, Stuart Henderson wrote:
> > It is possible for you to go into the build directory and run
> > "ninja -d explain"?
> > Maybe the output can help me to find the issue.
>
> I'll try to get that next time it happens. I can't keep all the failed
> build work directories from my bulks because I have failures, often in
> big ports, in nearly every bulk build (I do approx 20 per month)..

Rerunning with "ninja -d explain" the build completes without an error,
so this doesn't help.

I've now set -d explain in cmake.port.mk and will have to hope it doesn't
result in ridiculously large logs in some of the bigger ports!

Reply | Threaded
Open this post in threaded view
|

Re: repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

Stuart Henderson
On 2019/10/27 17:04, Stuart Henderson wrote:

> On 2019/10/25 17:27, Stuart Henderson wrote:
> > > It is possible for you to go into the build directory and run
> > > "ninja -d explain"?
> > > Maybe the output can help me to find the issue.
> >
> > I'll try to get that next time it happens. I can't keep all the failed
> > build work directories from my bulks because I have failures, often in
> > big ports, in nearly every bulk build (I do approx 20 per month)..
>
> Rerunning with "ninja -d explain" the build completes without an error,
> so this doesn't help.
>
> I've now set -d explain in cmake.port.mk and will have to hope it doesn't
> result in ridiculously large logs in some of the bigger ports!
>
Attached 2 logs.


kauth.log.gz (5K) Download Attachment
kservice.log.gz (10K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

Rafael Sadowski
On Mon Oct 28, 2019 at 09:11:46PM +0000, Stuart Henderson wrote:

> On 2019/10/27 17:04, Stuart Henderson wrote:
> > On 2019/10/25 17:27, Stuart Henderson wrote:
> > > > It is possible for you to go into the build directory and run
> > > > "ninja -d explain"?
> > > > Maybe the output can help me to find the issue.
> > >
> > > I'll try to get that next time it happens. I can't keep all the failed
> > > build work directories from my bulks because I have failures, often in
> > > big ports, in nearly every bulk build (I do approx 20 per month)..
> >
> > Rerunning with "ninja -d explain" the build completes without an error,
> > so this doesn't help.
> >
> > I've now set -d explain in cmake.port.mk and will have to hope it doesn't
> > result in ridiculously large logs in some of the bigger ports!
> >
>
> Attached 2 logs.
>

ninja explain: output build.ninja older than most recent input /usr/local/lib/cmake/PolkitQt5-1/PolkitQt5-1Config.cmake (1572263732445520827 vs 1572263852000000000)

That causes the infinite loop. The build.ninja (Is the "Makefile" for
ninja and CMake generates it) is older then
/usr/local/lib/cmake/PolkitQt5-1/PolkitQt5-1Config.cmake.  Of course it
shouldn't be. NTPd issues? Any idea?

RS

Reply | Threaded
Open this post in threaded view
|

Re: repeated cmake "ninja: error: manifest 'build.ninja' still dirty after 100 tries"

Stuart Henderson
On 2019/10/30 23:11, Rafael Sadowski wrote:

> On Mon Oct 28, 2019 at 09:11:46PM +0000, Stuart Henderson wrote:
> > On 2019/10/27 17:04, Stuart Henderson wrote:
> > > On 2019/10/25 17:27, Stuart Henderson wrote:
> > > > > It is possible for you to go into the build directory and run
> > > > > "ninja -d explain"?
> > > > > Maybe the output can help me to find the issue.
> > > >
> > > > I'll try to get that next time it happens. I can't keep all the failed
> > > > build work directories from my bulks because I have failures, often in
> > > > big ports, in nearly every bulk build (I do approx 20 per month)..
> > >
> > > Rerunning with "ninja -d explain" the build completes without an error,
> > > so this doesn't help.
> > >
> > > I've now set -d explain in cmake.port.mk and will have to hope it doesn't
> > > result in ridiculously large logs in some of the bigger ports!
> > >
> >
> > Attached 2 logs.
> >
>
> ninja explain: output build.ninja older than most recent input /usr/local/lib/cmake/PolkitQt5-1/PolkitQt5-1Config.cmake (1572263732445520827 vs 1572263852000000000)

What a crazy level of precision on those timestamps!

> That causes the infinite loop. The build.ninja (Is the "Makefile" for
> ninja and CMake generates it) is older then
> /usr/local/lib/cmake/PolkitQt5-1/PolkitQt5-1Config.cmake.  Of course it
> shouldn't be. NTPd issues? Any idea?

Aha. There was a bit of variation between the clocks on the machines,
120s or so spread. I guess dpb will have been waiting for one port to
build then immediately scheduling a port that depends on it.

I've synced the clocks, let's see how it goes now.