Cryptic Error Message


#1

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


#2

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.


#3

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

#4

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.


#5

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


#6

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