OCamllabs icon Home|Differences with the last checks|Previous runs


Building on spring

(from freebsd)
2024-07-04 10:28.52 ---> using "77d5fe31836124b4684d554707425c4fde23f9ef3df0a804431a47419573778d" from cache

/: (user (uid 1000) (gid 1000))

/: (env OPAMPRECISETRACKING 1)

/: (env OPAMUTF8 never)

/: (env OPAMEXTERNALSOLVER builtin-0install)

/: (env OPAMCRITERIA +removed)

/: (run (shell "sudo ln -f /usr/local/bin/opam-dev /usr/local/bin/opam"))
2024-07-04 10:28.52 ---> using "a2b22593046b56fadc85e22b0da7b84e903c1f5aa4d42a7c481121ceec28b31f" from cache

/: (run (network host)
        (shell "rm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q 175a8ca8b27d9a46ed86ec5d7b1130c98a153055"))
2024-07-04 10:28.53 ---> using "12d681098b105578a67465aa7bc396c5d90e9ce4e3304a8d75f23641353fa26c" from cache

/: (run (shell "rm -rf ~/.opam && opam init -ya --bare ~/opam-repository"))
No configuration file found, using built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.


<><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised

User configuration:
  ~/.profile is already up-to-date.
[NOTE] Make sure that ~/.profile is well sourced in your ~/.bashrc.

2024-07-04 10:28.53 ---> using "cd58f29b8c142c1ae36c06cbe6d040fc45053855e85f74d3d710bce30c463662" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell "opam switch create --repositories=default '4.14.1' 'ocaml-base-compiler.4.14.1'"))

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "4.14.1"}]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> installed host-arch-x86_64.1
-> installed host-system-other.1
-> installed ocaml-options-vanilla.1
-> retrieved ocaml-config.2  (2 extra sources)
-> retrieved ocaml-config.2  (2 extra sources)
-> retrieved ocaml-base-compiler.4.14.1  (https://github.com/ocaml/ocaml/archive/4.14.1.tar.gz)
-> installed ocaml-base-compiler.4.14.1
-> installed ocaml-config.2
-> installed ocaml.4.14.1
Done.
# Run eval $(opam env --switch=4.14.1) to update the current shell environment
2024-07-04 10:28.53 ---> using "7b308b2584dc258233cfb37ad83354a0804ec90976555e191659bff7e597c170" from cache

/: (run (network host)
        (shell "opam update --depexts"))
[WARNING] Unknown update command for bsd, skipping system update
2024-07-04 10:28.53 ---> using "3f0c14f5761a225622a6acf1a058a90ab52281bdd9172d3eca06be38cd0468ad" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell  "\
               \nopam remove -y \"solo5-kernel-ukvm.0.3.1\"\
               \nopam install -vy \"solo5-kernel-ukvm.0.3.1\"\
               \nres=$?\
               \nif [ $res = 31 ]; then\
               \n    if opam show -f x-ci-accept-failures: \"solo5-kernel-ukvm.0.3.1\" | grep -q '\"freebsd\"'; then\
               \n        echo \"This package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\"\
               \n        exit 69\
               \n    fi\
               \nfi\
               \n\
               \n\
               \nexit $res\
               \n"))
[NOTE] solo5-kernel-ukvm.0.3.1 is not installed.

Nothing to do.
The following actions will be performed:
=== install 2 packages
  - install conf-pkg-config   2                  [required by solo5-kernel-ukvm]
  - install solo5-kernel-ukvm 0.3.1 (deprecated)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  2/6: [solo5-kernel-ukvm.0.3.1: http]
Processing  3/6: [solo5-kernel-ukvm.0.3.1: http] [conf-pkg-config: pkg-config]
+ /usr/local/bin/pkg-config "--help" (CWD=/home/opam/.opam/4.14.1/.opam-switch/build/conf-pkg-config.2)
- usage: pkgconf [OPTIONS] [LIBRARIES]
- 
- basic options:
- 
-   --help                            this message
-   --about                           print pkgconf version and license to stdout
-   --version                         print supported pkg-config version to stdout
-   --verbose                         print additional information
-   --atleast-pkgconfig-version       check whether or not pkgconf is compatible
-                                     with a specified pkg-config version
-   --errors-to-stdout                print all errors on stdout instead of stderr
-   --print-errors                    ensure all errors are printed
-   --short-errors                    be less verbose about some errors
-   --silence-errors                  explicitly be silent about errors
-   --list-all                        list all known packages
-   --list-package-names              list all known package names
-   --simulate                        simulate walking the calculated dependency graph
-   --no-cache                        do not cache already seen packages when
-                                     walking the dependency graph
-   --log-file=filename               write an audit log to a specified file
-   --with-path=path                  adds a directory to the search path
-   --define-prefix                   override the prefix variable with one that is guessed based on
-                                     the location of the .pc file
-   --dont-define-prefix              do not override the prefix variable under any circumstances
-   --prefix-variable=varname         sets the name of the variable that pkgconf considers
-                                     to be the package prefix
-   --relocate=path                   relocates a path and exits (mostly for testsuite)
-   --dont-relocate-paths             disables path relocation support
- 
- cross-compilation personality support:
- 
-   --personality=triplet|filename    sets the personality to 'triplet' or a file named 'filename'
-   --dump-personality                dumps details concerning selected personality
- 
- checking specific pkg-config database entries:
- 
-   --atleast-version                 require a specific version of a module
-   --exact-version                   require an exact version of a module
-   --max-version                     require a maximum version of a module
-   --exists                          check whether or not a module exists
-   --uninstalled                     check whether or not an uninstalled module will be used
-   --no-uninstalled                  never use uninstalled modules when satisfying dependencies
-   --no-provides                     do not use 'provides' rules to resolve dependencies
-   --maximum-traverse-depth          maximum allowed depth for dependency graph
-   --static                          be more aggressive when computing dependency graph
-                                     (for static linking)
-   --shared                          use a simplified dependency graph (usually default)
-   --pure                            optimize a static dependency graph as if it were a normal
-                                     dependency graph
-   --env-only                        look only for package entries in PKG_CONFIG_PATH
-   --ignore-conflicts                ignore 'conflicts' rules in modules
-   --validate                        validate specific .pc files for correctness
- 
- querying specific pkg-config database fields:
- 
-   --define-variable=varname=value   define variable 'varname' as 'value'
-   --variable=varname                print specified variable entry to stdout
-   --cflags                          print required CFLAGS to stdout
-   --cflags-only-I                   print required include-dir CFLAGS to stdout
-   --cflags-only-other               print required non-include-dir CFLAGS to stdout
-   --libs                            print required linker flags to stdout
-   --libs-only-L                     print required LDPATH linker flags to stdout
-   --libs-only-l                     print required LIBNAME linker flags to stdout
-   --libs-only-other                 print required other linker flags to stdout
-   --print-requires                  print required dependency frameworks to stdout
-   --print-requires-private          print required dependency frameworks for static
-                                     linking to stdout
-   --print-provides                  print provided dependencies to stdout
-   --print-variables                 print all known variables in module to stdout
-   --digraph                         print entire dependency graph in graphviz 'dot' format
-   --solution                        print dependency graph solution in a simple format
-   --keep-system-cflags              keep -I/usr/include entries in cflags output
-   --keep-system-libs                keep -L/usr/lib entries in libs output
-   --path                            show the exact filenames for any matching .pc files
-   --modversion                      print the specified module's version to stdout
-   --internal-cflags                 do not filter 'internal' cflags from output
-   --license                         print the specified module's license to stdout if known
- 
- filtering output:
- 
-   --msvc-syntax                     print translatable fragments in MSVC syntax
-   --fragment-filter=types           filter output fragments to the specified types
- 
- report bugs to <https://github.com/pkgconf/pkgconf/issues/new>.
-> compiled  conf-pkg-config.2
Processing  3/6: [solo5-kernel-ukvm.0.3.1: http]
Processing  4/6: [solo5-kernel-ukvm.0.3.1: http] [conf-pkg-config: mkdir]
+ /bin/mkdir "-p" "/home/opam/.opam/4.14.1/lib/pkgconfig" (CWD=/home/opam/.opam/4.14.1/.opam-switch/build/conf-pkg-config.2)
-> installed conf-pkg-config.2
Processing  4/6: [solo5-kernel-ukvm.0.3.1: http]
Processing  4/6: [solo5-kernel-ukvm.0.3.1: extract]
-> retrieved solo5-kernel-ukvm.0.3.1  (https://github.com/Solo5/solo5/archive/v0.3.1.tar.gz)
Processing  5/6: [solo5-kernel-ukvm: gmake ukvm]
+ /usr/local/bin/gmake "ukvm" (CWD=/home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1)
- ./configure.sh
- /usr/local/bin/gmake -C kernel ukvm
- gmake[1]: Entering directory '/home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/kernel'
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/kernel.c -o ukvm/kernel.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/platform.c -o ukvm/platform.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/platform_intr.c -o ukvm/platform_intr.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/time.c -o ukvm/time.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/platform_lifecycle.c -o ukvm/platform_lifecycle.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/yield.c -o ukvm/yield.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/tscclock.c -o ukvm/tscclock.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/console.c -o ukvm/console.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/net.c -o ukvm/net.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ukvm/block.c -o ukvm/block.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c abort.c -o abort.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c cpu_x86_64.c -o cpu_x86_64.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -DASM_FILE -c cpu_vectors_x86_64.S -o cpu_vectors_x86_64.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c ee_printf.c -o ee_printf.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c intr.c -o intr.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c lib.c -o lib.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c mem.c -o mem.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c exit.c -o exit.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c log.c -o log.o
- cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c cmdline.c -o cmdline.o
- ld -r -nostdlib -z max-page-size=0x1000 -static  -o ukvm/solo5.o ukvm/kernel.o ukvm/platform.o ukvm/platform_intr.o ukvm/time.o ukvm/platform_lifecycle.o ukvm/yield.o ukvm/tscclock.o ukvm/console.o ukvm/net.o ukvm/block.o abort.o cpu_x86_64.o cpu_vectors_x86_64.o ee_printf.o intr.o lib.o mem.o exit.o log.o cmdline.o
- objcopy -w -G solo5_\* -G _start\* ukvm/solo5.o ukvm/solo5.o
- gmake[1]: Leaving directory '/home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/kernel'
- /usr/local/bin/gmake -C ukvm
- gmake[1]: Entering directory '/home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/ukvm'
- ./ukvm-configure . blk net gdb dumpcore
- ukvm-configure: error: Unsupported compiler target: x86_64-unknown-freebsd14.0
- gmake[1]: *** No rule to make target 'ukvm-bin', needed by 'all'.  Stop.
- gmake[1]: Leaving directory '/home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/ukvm'
- gmake: *** [GNUmakefile:40: ukvm] Error 2
[ERROR] The compilation of solo5-kernel-ukvm.0.3.1 failed at "gmake ukvm".

#=== ERROR while compiling solo5-kernel-ukvm.0.3.1 ============================#
# context              2.2.0 | freebsd/x86_64 | ocaml-base-compiler.4.14.1 | file:///home/opam/opam-repository
# path                 ~/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1
# command              /usr/local/bin/gmake ukvm
# exit-code            2
# env-file             ~/.opam/log/solo5-kernel-ukvm-37941-19e6a3.env
# output-file          ~/.opam/log/solo5-kernel-ukvm-37941-19e6a3.out
### output ###
# [...]
# cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c log.c -o log.o
# cc -nostdlibinc -ffreestanding -mno-red-zone -mno-sse -mno-mmx -mno-aes -mno-avx -isystem /home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c cmdline.c -o cmdline.o
# ld -r -nostdlib -z max-page-size=0x1000 -static  -o ukvm/solo5.o ukvm/kernel.o ukvm/platform.o ukvm/platform_intr.o ukvm/time.o ukvm/platform_lifecycle.o ukvm/yield.o ukvm/tscclock.o ukvm/console.o ukvm/net.o ukvm/block.o abort.o cpu_x86_64.o cpu_vectors_x86_64.o ee_printf.o intr.o lib.o mem.o exit.o log.o cmdline.o
# objcopy -w -G solo5_\* -G _start\* ukvm/solo5.o ukvm/solo5.o
# gmake[1]: Leaving directory '/home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/kernel'
# /usr/local/bin/gmake -C ukvm
# gmake[1]: Entering directory '/home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/ukvm'
# ./ukvm-configure . blk net gdb dumpcore
# ukvm-configure: error: Unsupported compiler target: x86_64-unknown-freebsd14.0
# gmake[1]: *** No rule to make target 'ukvm-bin', needed by 'all'.  Stop.
# gmake[1]: Leaving directory '/home/opam/.opam/4.14.1/.opam-switch/build/solo5-kernel-ukvm.0.3.1/ukvm'
# gmake: *** [GNUmakefile:40: ukvm] Error 2



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build solo5-kernel-ukvm 0.3.1
+- 
+- The following changes have been performed
| - install conf-pkg-config 2
+- 

<><> solo5-kernel-ukvm.0.3.1 troubleshooting ><><><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
# Run eval $(opam env) to update the current shell environment

The former state can be restored with:
    /usr/local/bin/opam switch import "/home/opam/.opam/4.14.1/.opam-switch/backup/state-20240704102857.export"
'opam install -vy solo5-kernel-ukvm.0.3.1' failed.
jail: /usr/bin/su -l opam -c cd '/' && env OPAMCRITERIA='+removed' OPAMEXTERNALSOLVER='builtin-0install' OPAMUTF8='never' OPAMPRECISETRACKING='1' '/usr/bin/env' 'bash' '-c' '
opam remove -y "solo5-kernel-ukvm.0.3.1"
opam install -vy "solo5-kernel-ukvm.0.3.1"
res=$?
if [ $res = 31 ]; then
    if opam show -f x-ci-accept-failures: "solo5-kernel-ukvm.0.3.1" | grep -q '\''"freebsd"'\''; then
        echo "This package failed and has been disabled for CI using the '\''x-ci-accept-failures'\'' field."
        exit 69
    fi
fi


exit $res
': failed
"jail" "-c" "name=obuilder_77890_137" "mount.fstab=/tmp/obuilder-jail-e3e72b/fstab" "mount.devfs" "path=/obuilder/result/645ede8f26219679a58a9e62e8524af927108579ee9eaf3554c3916dec613374/rootfs" "host=inherit" "ip6=inherit" "ip4=inherit" "command=/usr/bin/su" "-l" "opam" "-c" "cd '/' && env OPAMCRITERIA='+removed' OPAMEXTERNALSOLVER='builtin-0install' OPAMUTF8='never' OPAMPRECISETRACKING='1' '/usr/bin/env' 'bash' '-c' '
opam remove -y "solo5-kernel-ukvm.0.3.1"
opam install -vy "solo5-kernel-ukvm.0.3.1"
res=$?
if [ $res = 31 ]; then
    if opam show -f x-ci-accept-failures: "solo5-kernel-ukvm.0.3.1" | grep -q '\''"freebsd"'\''; then
        echo "This package failed and has been disabled for CI using the '\''x-ci-accept-failures'\'' field."
        exit 69
    fi
fi


exit $res
'" failed with exit status 1
Failed: Build failed