No rule to make target test-image-failure-handler

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Wed May 13 08:10:54 UTC 2020


On 2020-05-13 09:49, Vitaly Provodin wrote:
> Hi all,
>
> Recently, building test-image I got the following message:
>
> $ make test-image
> Building target 'test-image' in configuration 'linux-x86_64-server-release'
> gmake[2]: *** No rule to make target 'test-image-failure-handler', needed by 'test-image'. Stop.
> gmake[2]: *** Waiting for unfinished jobs….
>
>
> Two or three days ago it was built well.
>
> Could somebody explain what happened?
 From doc/building.md:

#### Problems with Incremental Rebuilds

Incremental rebuilds mean that when you modify part of the product, only the
affected parts get rebuilt. While this works great in most cases, and
significantly speed up the development process, from time to time complex
interdependencies will result in an incorrect build result. This is the most
common cause for unexpected build problems.

Here are a suggested list of things to try if you are having unexpected 
build
problems. Each step requires more time than the one before, so try them in
order. Most issues will be solved at step 1 or 2.

  1. Make sure your repository is up-to-date

     Run `hg pull -u` to make sure you have the latest changes.

  2. Clean build results

     The simplest way to fix incremental rebuild issues is to run `make 
clean`.
     This will remove all build results, but not the configuration or 
any build
     system support artifacts. In most cases, this will solve build errors
     resulting from incremental build mismatches.

  3. Completely clean the build directory.

     If this does not work, the next step is to run `make dist-clean`, or
     removing the build output directory (`$BUILD`). This will clean all
     generated output, including your configuration. You will need to re-run
     `configure` after this step. A good idea is to run `make
     print-configuration` before running `make dist-clean`, as this will 
print
     your current `configure` command line. Here's a way to do this:

     ```
     make print-configuration > current-configuration
     make dist-clean
     bash configure $(cat current-configuration)
     make
     ```

  4. Re-clone the Mercurial repository

     Sometimes the Mercurial repository gets in a state that causes the 
product
     to be un-buildable. In such a case, the simplest solution is often the
     "sledgehammer approach": delete the entire repository, and re-clone it.
     If you have local changes, save them first to a different location 
using
     `hg export`.

/Magnus

>
> Thanks,
> Vitaly




More information about the build-dev mailing list