Cryptic Error Message "./configure: No such file or directory" while I don't use ./configure

When a job fails with the following message, how do I find out what is wrong with my configuration?

/home/travis/.travis/functions: line 104: ./configure: No such file or directory

Without a link to the build, it’s hard to say anything. My blind guess is that your project is C and you didn’t specify a build or prebuild step, so Travis logic is invoking the default "run /configure" logic for that step.

Here’s the build script. It works fine now after I changed all instances of “scripts” to “script”.

Still I think Travis is horrible at showing me errors in my config file. Also, maybe this is because I do not have a web developer background, but I find the YML format not very straighforward…

dist: xenial
sudo: required
language: cpp

cache:
    directories:
        - $HOME/prereq
        - $HOME/local

jobs:
    include:
        - name: "Build"
          script:
            - bash ci/install-packages.sh
            - bash ci/setup-prereq-ext.sh
            - bash ci/setup-prereq.sh
            - bash ci/setup-weave.sh
            - bash ci/unit-tests.sh
            - bash ci/clang-tidy.sh

        - name: "Many Ops"
          script:
            - bash ci/install-packages.sh
            - bash ci/multi_op.sh

        - name: "Relays"
          script:
            - bash ci/install-packages.sh
            - bash ci/relay.s

Your error message indicates that you are somehow invoking ./configure in a directory that doesn’t have it. Without logs, it is impossible to give any more advice than that.

Duh! There’s no “scripts:” directive, so you essentially had no script:, and ./configure && make && make test” is the default for language: cpp.

Yeah… my point is that Travis shouldn’t silently ignore errors in your configuration but actually point them out in your logfile.

Hi @kaimast

Have you seen recently released Build Config Validation?

Happy building!

Imprint