package solo5-kernel-virtio

  1. Overview
  2. Docs
On This Page
  1. Error log

solo5-kernel-virtio 0.2.2

Error log

The package failed to build. The error log from opam follows.

Opam plugin "depext" may require upgrading/reinstalling. Reinstall the plugin on the current switch? [Y/n] y
The following actions will be performed:
  - recompile opam-depext 1.2.3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved opam-depext.1.2.3  (cached)
-> removed   opam-depext.1.2.3
-> installed opam-depext.1.2.3
Done.

<><> opam-depext.1.2.3 installed successfully <><><><><><><><><><><><><><><><><>
=> opam-depext is unnecessary when used with opam >= 2.1. Please use opam install directly instead
# Run eval $(opam env) to update the current shell environment

<><> Carrying on to "opam depext -viy solo5-kernel-virtio.0.2.2 conf-pkg-config.2" 

Since version 2.1, opam now handles external dependencies alongside OCaml ones, and the `depext` plugin interface is provided for backwards compatibility only. Consider using your usual `opam install` command to install both OCaml and system dependencies, or `opam install <pkg> --depext-only` if you want to only install external dependencies.
# Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian
# The following system packages are needed:
pkg-config
The following actions will be performed:
  - install conf-pkg-config     2
  - install solo5-kernel-virtio 0.2.2
===== 2 to install =====

The following system packages will first need to be installed:
    pkg-config

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
Let opam run your package manager to install the required system packages?
(answer 'n' for other options) [Y/n] y
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "pkg-config"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libpkgconf3:amd64.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 18764 files and directories currently installed.)
- Preparing to unpack .../libpkgconf3_1.8.1-1_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-1) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../pkgconf-bin_1.8.1-1_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-1) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../pkgconf_1.8.1-1_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-1) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../pkg-config_1.8.1-1_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-1) ...
- Setting up libpkgconf3:amd64 (1.8.1-1) ...
- Setting up pkgconf-bin (1.8.1-1) ...
- Setting up pkgconf:amd64 (1.8.1-1) ...
- Setting up pkg-config:amd64 (1.8.1-1) ...
- Processing triggers for libc-bin (2.36-9+deb12u8) ...

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  2/6: [solo5-kernel-virtio.0.2.2: http]
Processing  3/6: [solo5-kernel-virtio.0.2.2: http] [conf-pkg-config: pkg-config]
Processing  3/6: [conf-pkg-config: pkg-config]
- 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
-   --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
-   --keep-system-cflags              keep -I/usr/include entries in cflags output
-   --keep-system-libs                keep -L/lib:/lib/i386-linux-gnu:/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnux32:/lib32:/libx32:/usr/lib:/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnux32:/usr/lib32:/usr/libx32 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
- 
- 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:
Processing  4/6: [conf-pkg-config: mkdir]
-> retrieved solo5-kernel-virtio.0.2.2  (https://github.com/Solo5/solo5/archive/v0.2.2.tar.gz)
+ /usr/bin/mkdir "-p" "/home/opam/.opam/5.1/lib/pkgconfig" (CWD=/home/opam/.opam/5.1/.opam-switch/build/conf-pkg-config.2)
-> installed conf-pkg-config.2
Processing  5/6: [solo5-kernel-virtio: make virtio]
+ /usr/bin/make "virtio" (CWD=/home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2)
- ./configure.sh
- /usr/bin/make -C kernel virtio
- make[1]: Entering directory '/home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/kernel'
- cc -nostdinc -ffreestanding -mno-red-zone -isystem /home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -DASM_FILE -c virtio/boot.S -o virtio/boot.o
- cc -nostdinc -ffreestanding -mno-red-zone -isystem /home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c virtio/kernel.c -o virtio/kernel.o
- cc -nostdinc -ffreestanding -mno-red-zone -isystem /home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c virtio/platform.c -o virtio/platform.o
- virtio/platform.c:50:5: error: 'solo5_console_write' alias between functions of incompatible types 'int(const char *, size_t)' {aka 'int(const char *, long unsigned int)'} and 'int(const char *, int)' [-Werror=attribute-alias=]
-    50 | int solo5_console_write(const char *, size_t)
-       |     ^~~~~~~~~~~~~~~~~~~
- virtio/platform.c:40:5: note: aliased declaration here
-    40 | int platform_puts(const char *buf, int n)
-       |     ^~~~~~~~~~~~~
- cc1: all warnings being treated as errors
- make[1]: *** [Makefile:70: virtio/platform.o] Error 1
- make[1]: Leaving directory '/home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/kernel'
- make: *** [Makefile:32: virtio] Error 2
[ERROR] The compilation of solo5-kernel-virtio.0.2.2 failed at "make virtio".

#=== ERROR while compiling solo5-kernel-virtio.0.2.2 ==========================#
# context              2.1.6 | linux/x86_64 | ocaml-base-compiler.5.1.1 | file:///src
# path                 ~/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2
# command              /usr/bin/make virtio
# exit-code            2
# env-file             ~/.opam/log/solo5-kernel-virtio-115-953817.env
# output-file          ~/.opam/log/solo5-kernel-virtio-115-953817.out
### output ###
# ./configure.sh
# /usr/bin/make -C kernel virtio
# make[1]: Entering directory '/home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/kernel'
# cc -nostdinc -ffreestanding -mno-red-zone -isystem /home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -DASM_FILE -c virtio/boot.S -o virtio/boot.o
# cc -nostdinc -ffreestanding -mno-red-zone -isystem /home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c virtio/kernel.c -o virtio/kernel.o
# cc -nostdinc -ffreestanding -mno-red-zone -isystem /home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/include-host -std=gnu99 -Wall -Wextra -Werror -O2 -g -D__SOLO5_KERNEL__ -c virtio/platform.c -o virtio/platform.o
# virtio/platform.c:50:5: error: 'solo5_console_write' alias between functions of incompatible types 'int(const char *, size_t)' {aka 'int(const char *, long unsigned int)'} and 'int(const char *, int)' [-Werror=attribute-alias=]
#    50 | int solo5_console_write(const char *, size_t)
#       |     ^~~~~~~~~~~~~~~~~~~
# virtio/platform.c:40:5: note: aliased declaration here
#    40 | int platform_puts(const char *buf, int n)
#       |     ^~~~~~~~~~~~~
# cc1: all warnings being treated as errors
# make[1]: *** [Makefile:70: virtio/platform.o] Error 1
# make[1]: Leaving directory '/home/opam/.opam/5.1/.opam-switch/build/solo5-kernel-virtio.0.2.2/kernel'
# make: *** [Makefile:32: virtio] Error 2



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build solo5-kernel-virtio 0.2.2
+- 
+- The following changes have been performed
| - install conf-pkg-config 2
+- 
# Run eval $(opam env) to update the current shell environment

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/5.1/.opam-switch/backup/state-20240912085215.export"
'opam --cli=2.1 install solo5-kernel-virtio.0.2.2 conf-pkg-config.2 --verbose --yes --confirm-level=unsafe-yes' failed.
OCaml

Innovation. Community. Security.