Giter Club home page Giter Club logo

topiary-opam's Introduction

OPAM Package for Topiary

This repository provides an OPAM package for Topiary. In particular, issues with Topiary itself should be reported there while issues with Topiary's packaging in OPAM should be reported here.

Context

Topiary is written in Rust and is therefore not an OCaml project per se. However, as it allows formatting OCaml (among other languages), it does belong to its ecosystem and, therefore, it makes sense to package it via OPAM.

This is actually not so complicated. OPAM “is a source-based package manager for OCaml”, which prevents using it to distribute precompiled binaries, but it is actually OCaml agnostic, meaning it is possible to call cargo build in an OPAM package.

The difficulty is then that such a package depends on the presence of Rust on the system in the right version. Additionally, Cargo tends to download Rust dependencies when building which cannot possibly happen in the OPAM sandbox. One way around this is to provide another repository containing Topiary and all its dependencies as well as what is necessary to get the OPAM package working. This is where you are.

Credits are due to all the participants of this OCaml discuss thread for their encouragements and their ideas and to the people behind tezos-rust-libs on which this package is based.

Availability

The compilation of Topiary depends on the presence of Rust on the system in a recent enough version. Currently, Rust 1.70.0 is required. Our continuous integration keeps track of several distributions whose Rust version is listed here for convenience:

Distribution Rust Version
Alpine
Archlinux
CentOS
Debian
Fedora
openSUSE
Ubuntu

How this works

This repository is made of the following building blocks:

  • topiary/ is a Git submodule pointing to Topiary's Git at a certain commit (in general at a certain tag). The file .gitmodules declares the submodule to Git.

  • Cargo.toml and Cargo.lock define a Cargo workspace containing only Topiary. This allows working with Cargo to vendor dependencies without changing the content of the topiary/ directory.

  • vendor/ is a directory filled automatically by Cargo and containing all the dependencies of Topiary, vendored. This is a way to provide all the dependencies at upfront and to avoid having Cargo download them during the installation. The file .cargo/config.toml contains a configuration that tells Cargo to look into vendor/ instead of its usual sources.

  • make-topiary-wrapper.sh is a Shell script creating a wrapper around Topiary that provides it with the right environment. In particular, Topiary needs to be made aware of where it can find its “language files”.

  • topiary.opam contains the definition of the OPAM package for Topiary.

How to develop

Make sure you have Rust and Cargo. This repository comes with a Nix flake, so simply running:

$ nix develop

should provide you with everything you need. Alternatively, on a Nix machine, you can use:

$ nix shell nixpkgs#{cargo,rustc}

Use OPAM's pinning mechanism to inform it of the development version of Topiary.

$ opam pin add --no-action topiary.dev /path/to/this/repository
[topiary.dev] synchronised (file:///path/to/this/repository)
topiary is now pinned to git+file:///path/to/this/repository#branch-name (version dev)

From the root of this repository, . suffices; OPAM will make an absolute link out of this. After this, you can simply rely on OPAM's usual commands and you will get access to a new version of Topiary, dev:

$ opam show topiary

<><> topiary: information on all versions <><><><><><><><><><><><><><><><><><><>
name         topiary
all-versions 0.1.0  0.2.0  0.2.1  0.2.2  0.2.3  dev

<><> Version-specific details <><><><><><><><><><><><><><><><><><><><><><><><><>
version     dev
pin         git+file:///path/to/this/repository#branch-name
[...]

$ opam install topiary

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[topiary.dev] synchronised (git+file:///path/to/this/repository#branch-name)

The following actions will be performed:
  ∗ install topiary dev*

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
⬇ retrieved topiary.dev  (no changes)
∗ installed topiary.dev
Done.

If your working directory is not clean, you might want to add --working-dir (or -w for short) to your commands; otherwise, OPAM only picks up on the Git index and not the work tree. Be careful, though, as this might hide some subtle bugs due to some files not being committed.

How to update

  • Update the Git submodule containing Topiary. Make sure it is checked out at a tag of your choosing:

    $ cd topiary
    $ git fetch
    remote: Enumerating objects: 299, done.
    [...]
    From ssh://github.com/tweag/topiary
     * [new tag] v0.1.0 -> v0.1.0
    $ git checkout v0.1.0
    HEAD is now at c4fe76c GraphViz visualisation support (#326)
    $ cd ..
  • Commit this update:

    $ git add topiary/
    $ git commit -m 'Bump submodule to v0.1.0'
    [main 3bb3a28] Bump submodule to v0.1.0
     1 file changed, 1 insertion(+), 1 deletion(-)
  • Remove the previous local Cargo configuration and vendoring:

    $ rm .cargo/config.toml
    $ rm -R vendor/

    Otherwise, the next step will yield an error, something in the lines of: “failed to get <whatever> as a dependency of package topiary”.

  • Update the Cargo.toml file. This usually consists in copying the content of topiary/Cargo.toml file, except for the workspace.members attribute. This step should include bumping the version number.

  • Update the Cargo.lock file. Again, this usually consists in copying the one from topiary/Cargo.lock.

  • Regenerate the vendor/ directory:

    $ cargo vendor
      Downloaded hermit-abi v0.1.19
      Downloaded is-terminal v0.4.7
      Downloaded instant v0.1.12
    [...]
       Vendoring indexmap v1.9.3 (~/.cargo/registry/src/github.com-1ecc6299db9ec823/indexmap-1.9.3) to vendor/indexmap
       Vendoring instant v0.1.12 (~/.cargo/registry/src/github.com-1ecc6299db9ec823/instant-0.1.12) to vendor/instant
       Vendoring io-lifetimes v1.0.10 (~/.cargo/registry/src/github.com-1ecc6299db9ec823/io-lifetimes-1.0.10) to vendor/io-lifetimes
       Vendoring is-terminal v0.4.7 (~/.cargo/registry/src/github.com-1ecc6299db9ec823/is-terminal-0.4.7) to vendor/is-terminal
    [...]
    To use vendored sources, add this to your .cargo/config.toml for this project:
    
    [source.crates-io]
    replace-with = "vendored-sources"
    
    [...]
    
    [source.vendored-sources]
    directory = "vendor"

    Note in particular the last lines about adding something to the local Cargo configuration.

  • Recreate the local Cargo configuration with the content given by cargo vendor.

    $ nano .cargo/config.toml
  • Commit this update:

    $ git add Cargo.toml Cargo.lock .cargo/
    $ git add --force vendor/
    $ git commit -m 'Update Cargo dependencies'
    [main 95d67dc] Update Cargo dependencies
     8 files changed, 125 insertions(+), 57 deletions(-)

    Note that we use --force when adding vendor/ because we otherwise risk ignoring files due to .gitignore which Cargo will still expect.

  • Adapt the OPAM package or the other files if necessary and commit the changes.

  • Open a new pull request and check that the continuous integration is happy with the current status of things. Merge the pull request in question.

  • Add a tag mimmicking that of Topiary (eg. v0.1.0 for Topiary's v0.1.0).

  • Create an archive containing all the content of this repository at that tag:

    $ git-archive-all source-code-with-submodules.tar.xz

    This will be necessary to provide a downloadable archive that contains the files from all the submodules.

  • Create a release for the tag in question. Link to the corresponding release in Topiary. Attach the archive.

  • Compute the MD5 and SHA512 sums of the archive in question:

    $ md5sum source-code-with-submodules.tar.xz
    cd825a17db25cb94fd876eef055090e4  source-code-with-submodules.tar.xz
    $ sha512sum source-code-with-submodules.tar.xz
    ae6946aaba0f784773cca71019f73aa62d9b976646ea25e451c220f45da49e6c7e4147e2dd57e3c4764a9038946c38b9de33ce5d463c46ea3f3271d5b98dd46f  source-code-with-submodules.tar.xz
  • Send the new package to the OPAM repository. The src field of the url object should be:

    https://github.com/tweag/topiary-opam/releases/download/<tag>/source-code-with-submodules.tar.xz
    

topiary-opam's People

Contributors

niols avatar dependabot[bot] avatar

Watchers

 avatar  avatar

topiary-opam's Issues

Support for openSUSE

Currently, the CI fails on openSUSE (currently: Leap 15.4) because it does not manage to link Topiary properly. The error looks like (source):

#    Compiling tempfile v3.5.0
#    Compiling test-log v0.2.11
#    Compiling topiary v0.1.0 (/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/topiary)
# error: linking with `gcc-11` failed: exit status: 1
#   |
#   = note: LC_ALL="C" PATH="/usr/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/opam/.opam/5.0/bin:/home/opam/.opam/plugins/bin:/home/opam/.opam/5.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "gcc-11" "-m64" "/tmp/rustc8BFqQE/symbols.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.0.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.1.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.10.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.11.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.12.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.13.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.14.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.15.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.2.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.3.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.4.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.5.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.6.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.7.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.8.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.topiary.073b53b5-cgu.9.rcgu.o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5.588muo10ha9vcex1.rcgu.o" "-Wl,--as-needed" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-b6f10bc723431305/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-bash-72fdd45737c69925/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-bash-72fdd45737c69925/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-json-325830f263b8ebe1/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-nickel-d3a3792940a8fa19/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-nickel-d3a3792940a8fa19/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-ocaml-9e3ddb62842082f1/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-ocaml-9e3ddb62842082f1/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-query-a31afbf434d64838/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-rust-d2609252bef4355e/out" "-L" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/build/tree-sitter-toml-c758df5587ed733d/out" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libenv_logger-6285f4b2e9b3dd1d.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libis_terminal-e610381422458dc8.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libhumantime-0c3926ace4f9cc41.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libclap-2afb73e132abf4f3.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libatty-1570ad3a3e824faa.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libstrsim-ba23ce3e9796ead5.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtermcolor-759092259a8a60f3.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtextwrap-e8265aa734f79698.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libclap_lex-f77095534267d335.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libos_str_bytes-0a96ddf3933166c4.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libindexmap-535eaf6d953ee755.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libhashbrown-68833d8edfbcac8f.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libonce_cell-242761cfa61830b6.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtempfile-e829f4852a0df50a.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libfastrand-2d8264aeb878e935.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/librustix-daa3f2540b13000b.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libio_lifetimes-241b5ae39480abf6.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/liblibc-00ddf58016ed8942.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libbitflags-f1e4def3aa173e98.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/liblinux_raw_sys-3ec2fe4443c20e48.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtopiary-5f3c9f5f8119f535.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtree_sitter_toml-cec8116c024f805a.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtree_sitter_rust-712a9fc3874ab482.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtree_sitter_ocaml-b70d05ce4eca1db4.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtree_sitter_nickel-bd01ad421157b6d4.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtree_sitter_json-4227b69f32b70fa8.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtree_sitter_bash-b361ded52eed6aaa.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libserde_json-48ec075a3f597116.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libryu-8b2d802e5d5710c3.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libitoa-80c1fb2dee77f9a8.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtree_sitter_query-f005885b15432697.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/liblog-ef0ee7b55da68709.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libcfg_if-9f34995242117ec0.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libserde-fb43532004dc75a2.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libouroboros-f78aa9282867883a.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libaliasable-ad3c3373e5780914.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libtree_sitter-e5c9c3f09f6e48d3.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libregex-e32acda49f5d0fff.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libaho_corasick-946968792e270c29.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libmemchr-96a5aac79e6f30a9.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libregex_syntax-62d22be3309e3423.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libpretty_assertions-931129840a8c7498.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libdiff-571e3f355d1f930d.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libyansi-1ce9c67a44f78f92.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libitertools-651926703a8215d6.rlib" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/libeither-da6de8ef81fa973b.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c266b767adc238fa.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-4e665e75680ab157.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2c268935c0e4de54.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-d9cae8cab2e83955.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-b2569218908dc233.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-203954dd6c0e107d.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-2fe75cb9569b7e17.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-3a0e05c7e7662186.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d9688773c74d81f0.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-a45a078b6939c4df.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-421b6baf7f55c0fc.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-03023f0b8bf8613c.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-4a1e30b30971ca35.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-8410dc88caeded97.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-edc7f4c69f535936.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-780f699b6c2a38fc.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-0bb4166fbd0f93e1.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-b535de449084a84e.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a76914323e41775b.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lstdc++" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/opam/.opam/5.0/.opam-switch/build/topiary.dev/target/release/deps/topiary-45f0bdecae8a29e5" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs"
#   = note: /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
#           /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
#           /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
#           collect2: error: ld returned 1 exit status
#           
# 
# error: could not compile `topiary` due to previous error

This is in fact independent from the packaging in OPAM. To reproduce

$ docker run -it opensuse/leap

In the image:

$ zypper install cargo git gcc gcc-c++
Retrieving repository 'Update repository of openSUSE Backports' metadata >
Building repository 'Update repository of openSUSE Backports' cache .....>
Retrieving repository 'Non-OSS Repository' metadata --------------------->
Note: Received 1 new package signing key from repository "Non-OSS Reposit>

  Those additional keys are usually used to sign packages shipped by the >
  validate those packages upon download and installation the new keys wil>
  database.

  New:
  Key Fingerprint:  4E98 E675 19D9 8DC7 362A 5990 E3A5 C360 307E 3D54
[...]
(51/54) Installing: openssh-clients-8.4p1-150300.3.18.2.x86_64 ..........>
(52/54) Installing: perl-Git-2.35.3-150300.10.27.1.x86_64 ...............>
(53/54) Installing: git-core-2.35.3-150300.10.27.1.x86_64 ...............>
(54/54) Installing: git-2.35.3-150300.10.27.1.x86_64 ....................>
$ git clone https://github.com/tweag/topiary
$ cd topiary
$ cargo build
warning: /topiary/Cargo.toml: unused manifest key: workspace.package.name
    Updating git repository `https://github.com/tweag/tree-sitter-facade`
    Updating crates.io index
    Updating git repository `https://github.com/tree-sitter/tree-sitter-bash`
    Updating git submodule `https://git.savannah.gnu.org/git/bash.git`
[...]
  Downloaded strsim v0.8.0
  Downloaded anstream v0.2.6
  Downloaded serde_spanned v0.6.1
[...]
   Compiling proc-macro2 v1.0.56
   Compiling quote v1.0.26
   Compiling unicode-ident v1.0.8
   Compiling cc v1.0.79
[...]
   Compiling topiary v0.1.0 (/topiary/topiary)
   Compiling topiary-playground v0.0.1 (/topiary/topiary-playground)
   Compiling topiary-cli v0.1.0 (/topiary/topiary-cli)
error: linking with `gcc-11` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/usr/lib/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "gcc-11" "-m64" "/tmp/rustciD2s4I/symbols.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.112dfmiekeshor0.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.1dwg2ojtk8q3t488.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.1jq3zgn4614wr2s7.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.1mk49xv2zo6a9t3r.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.1qtva2baq81d1jn2.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.25u97jjmummcnypv.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.2665z00041we9gx9.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.2eenbqp2fzi1mn8o.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.2j0wa2t0cip5aesh.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.2rnza9fpd8jgsgao.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.2v2cghrq9lanacqy.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.2z3hsh8w19rr82uy.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.2zfeb72sco01pe2b.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.33vsnptjt4hufsvu.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.33zt7o50ld9257yg.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.3529uetiyja73fo5.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.36i6djbqqd80qqnh.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.3e76c7itdcoibduq.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.3gfv3ihy9uyv2q4b.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.3ja6df9pzsibtkyo.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.3jz880p5xfwmkd4t.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.3k5xu9emxbhincdg.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.3m3z295adut6swh6.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.3o9tgonml54qjdu6.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.40hn1dsk9hz7dgp.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.429irc1d0qasy6su.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.460j9ldzp19j5cex.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.46cr88vjjattpzdn.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.48n7hl3m8gt30w9m.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.49amzrs2yxw9rg3j.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.4dk4pcmy9ifw35ir.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.4h1s88i59s6qr11u.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.4ik3e7xq43e69rn2.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.4lv2pk74s2a43b2i.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.4oac7x4miper0z9s.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.4uqwbh2f7ra4urj7.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.4xpidugrso4wmode.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.4yv3qdph40ospyi2.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.5573crckrj1x3xhf.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.59ijmiipxqgn968i.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.bp6s3rf6mto0yhs.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.c6rt659arv4moxt.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.lb19urnh6a1ba92.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.lz7h6a1x89uj5qu.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.mk1fjfk96hqe7cg.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.n7nbtyjt0puki0l.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.ue30f9e3omu95ko.rcgu.o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39.10k17fhoo0wh236v.rcgu.o" "-Wl,--as-needed" "-L" "/topiary/target/debug/deps" "-L" "/topiary/target/debug/build/tree-sitter-bash-7dd492de736d1b77/out" "-L" "/topiary/target/debug/build/tree-sitter-bash-7dd492de736d1b77/out" "-L" "/topiary/target/debug/build/tree-sitter-58e35725f5b20f79/out" "-L" "/topiary/target/debug/build/tree-sitter-json-c05663340a275ef7/out" "-L" "/topiary/target/debug/build/tree-sitter-nickel-8fe39fe248822eaa/out" "-L" "/topiary/target/debug/build/tree-sitter-nickel-8fe39fe248822eaa/out" "-L" "/topiary/target/debug/build/tree-sitter-ocaml-8510a22a588bd221/out" "-L" "/topiary/target/debug/build/tree-sitter-ocaml-8510a22a588bd221/out" "-L" "/topiary/target/debug/build/tree-sitter-query-9eff7c3b0ab6a2e3/out" "-L" "/topiary/target/debug/build/tree-sitter-rust-4811c3d7b12051cc/out" "-L" "/topiary/target/debug/build/tree-sitter-toml-7a457e82365b6e11/out" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/topiary/target/debug/deps/libtopiary-1f5b7998f7b513ef.rlib" "/topiary/target/debug/deps/libtree_sitter_query-fdf3d929eebc7f85.rlib" "/topiary/target/debug/deps/libtree_sitter_toml-cde0083466548cb5.rlib" "/topiary/target/debug/deps/libtree_sitter_rust-7d20f299ce5d93c4.rlib" "/topiary/target/debug/deps/libtree_sitter_ocaml-bad06610a0173e4c.rlib" "/topiary/target/debug/deps/libtree_sitter_nickel-a662bcd007ec918c.rlib" "/topiary/target/debug/deps/libtree_sitter_json-bfd6010d872048fe.rlib" "/topiary/target/debug/deps/libtree_sitter_bash-4aad0c782bff6880.rlib" "/topiary/target/debug/deps/libserde_json-e30afe722cee7891.rlib" "/topiary/target/debug/deps/libryu-d079eaac8a0a4f26.rlib" "/topiary/target/debug/deps/libitoa-c8739cce31267ad0.rlib" "/topiary/target/debug/deps/libtoml-883ab3718eb2acdf.rlib" "/topiary/target/debug/deps/libtoml_edit-50f46983957858f5.rlib" "/topiary/target/debug/deps/libserde_spanned-fed78e355481e3fc.rlib" "/topiary/target/debug/deps/libindexmap-31d2ce7aa34fa289.rlib" "/topiary/target/debug/deps/libhashbrown-1ad9ff035a5f095e.rlib" "/topiary/target/debug/deps/libwinnow-2703811806d31efd.rlib" "/topiary/target/debug/deps/libtoml_datetime-7ff0a719c14c922f.rlib" "/topiary/target/debug/deps/libtokio-b3bb4a48e8ec945e.rlib" "/topiary/target/debug/deps/libnum_cpus-7dca7b3c1347cec0.rlib" "/topiary/target/debug/deps/liblibc-9943ca4ccb49e15a.rlib" "/topiary/target/debug/deps/libpin_project_lite-140b386f0dba8c8d.rlib" "/topiary/target/debug/deps/liblog-5b4d91712b7db196.rlib" "/topiary/target/debug/deps/libcfg_if-2606f8b029ba0700.rlib" "/topiary/target/debug/deps/libserde-7e6df43787753031.rlib" "/topiary/target/debug/deps/libtree_sitter_facade-2925d9e92bca59c3.rlib" "/topiary/target/debug/deps/libtree_sitter-064ef2e1decca543.rlib" "/topiary/target/debug/deps/libregex-e1f61092f4be51a7.rlib" "/topiary/target/debug/deps/libaho_corasick-6ca25498afcbc687.rlib" "/topiary/target/debug/deps/libmemchr-f9fe3737860d10a8.rlib" "/topiary/target/debug/deps/libregex_syntax-1553c7f628d0e77e.rlib" "/topiary/target/debug/deps/libpretty_assertions-5d937cac9ef3818b.rlib" "/topiary/target/debug/deps/libdiff-c95c2e215a6e5c3e.rlib" "/topiary/target/debug/deps/libyansi-5235d270000a6ce2.rlib" "/topiary/target/debug/deps/libitertools-beb3a97f3ad4b417.rlib" "/topiary/target/debug/deps/libeither-6ed65d9439c86c61.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c266b767adc238fa.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-4e665e75680ab157.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2c268935c0e4de54.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-d9cae8cab2e83955.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-b2569218908dc233.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-203954dd6c0e107d.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-2fe75cb9569b7e17.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-3a0e05c7e7662186.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d9688773c74d81f0.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-a45a078b6939c4df.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-421b6baf7f55c0fc.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-03023f0b8bf8613c.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-4a1e30b30971ca35.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-8410dc88caeded97.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-edc7f4c69f535936.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-780f699b6c2a38fc.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-0bb4166fbd0f93e1.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-b535de449084a84e.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a76914323e41775b.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lstdc++" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/topiary/target/debug/build/topiary-playground-bc3bad740b8eeb39/build_script_build-bc3bad740b8eeb39" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
          /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
          /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
          collect2: error: ld returned 1 exit status
          

error: could not compile `topiary-playground` due to previous error
warning: build failed, waiting for other jobs to finish...
error: linking with `gcc-11` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/usr/lib/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "gcc-11" "-m64" "/tmp/rustcgY7aQD/symbols.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.10k0fdwfmisymx5p.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.10p24s9heh3t1o33.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.10w2br06dju79bq7.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.12bnnr2dcj2n54gu.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1388bgd3coa02xz3.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.13zt3zkr6ca2ff9j.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.18rd3lpkr5929vjt.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1acz77m4inaa6v2v.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1anu29mrcflpd8ox.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1cjheimnuodu7ri3.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1csqgqd9xvmcc0ym.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1cu3rljhvjiyta7s.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1ei0lyde58z0dqvn.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1g08m6qnipos5i5s.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1j4slwduf0legy8f.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1kid4948bc3mla5q.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1lqbq7d2zmerfzfe.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1m3gjw7as3wjq69j.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1nhc1n3923drb027.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1ogbys8lt69pxyuv.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1p3qd5dkik2g9d4z.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1pcgoun2ddoqq42z.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1rkr17o1w117dias.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1torok3izf05pymn.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1ucgiba5sntkhz8.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1wqmlc2aai691r0g.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1xcgq6cojkgkdmej.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1xksdnppbidvbfdv.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1xnijgz0vkijj94d.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1ydztgcf67lezwwo.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1z6awq63o3jraptc.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.1zrfh7qtnlzxibkz.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.214u8engclfvdhgv.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.22fj1kz325s905df.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.23s87rtjeyjzacc0.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.23xi048e48eva008.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.241notgnf0flj74s.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.243vfkq5zat81wlr.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2649k6pb2mvli2vq.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.28cqusw9ufamslzy.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.29ayt5bti25cqyn.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.29f6pzvf5h53y3kb.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2atuzumrp60jsub7.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2aw538axrng5ln7e.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2be3gcw9f98te97s.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2dr4y93w30dt9p6a.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2dslv07pdfj6od58.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2hmu5jfpfc4pkxik.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2ijltrv8qqidhuza.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2j1vp29vo1tbowab.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2l59upa82fc63cps.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2ltqwlb73u15nnow.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2pb3i8f4jqh13d5n.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2rtok4yvve0hti2j.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2tytu6y7t3rwkhb1.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2ucwl7on80qwi4pn.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.2vcqncdrt5yubhuk.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.30zswt4rucor00j8.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.32iwmapx47o6wh9r.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.34l0hvhadfjvh0w4.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.34slyd1dzg30x66s.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.38xnj9k9e24au36o.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.390bm2lxgtbecsi8.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3925o6ffn152cztn.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3c3l8ps28r8pcwlp.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3dydafvh21ukz35k.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3e6wlxoz23em4rv3.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3e9pva7j2x1e271h.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3iagyr3ib96po0du.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3ivb93y5erkzqao7.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3jazhwu1zbse8lhh.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3jmjc4bmxbdt8nfn.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3m50toouz8npfmzk.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3neob8j14nuho2x1.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3qb5gd5mme218u2w.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3tnmlf6ldlvs6dtu.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3uedcder20dxkew6.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3xpv4fkyt6vcwcfa.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.40cfiwce9qpg5le1.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.40ypo26wmwo1dkat.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.41eu35euj4joj0ai.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4560rm03ssx7e8fz.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.45he7m03et5yeo5k.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.46qhzwayqyfocabx.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.47saabnw9mn60zpo.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.48wxbwhvyjqzvwyh.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.49v92dlddc7y2rnt.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4a4nyuci2m98sx2t.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4bcj6xdaxy09h4c.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4bpsutcsa2mdaame.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4d9f79qw83os514i.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4eis91roajlqd2xd.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4g1cgshuivnxfsx9.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4i7154s2k57ebzay.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4k0mxqcr0g9foakt.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4l29kkzuj2531mv0.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4llas4xcxoqi8omm.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4lscna13daf8yb72.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4n7htk81zb62d7hm.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4oceug8ygigtc08e.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4okf1ybr6jwei0vb.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4p4oqp31do3by3b5.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4ph4qqcql6v98yll.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4r8zxr0ijnker2lb.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4rk030gol5d240l.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4vt098tkhwr1b6ev.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4wgr4r2gojlqup3t.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4worbk47eutw20ll.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4x5gxjl4xeirex0o.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4xrnmkjbuubgl4qu.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4xws17s7ru8mnjna.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4y2du6f2hxd5bdhq.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.4zzch1kzdkg1zx9l.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.526g9gyveybrl4e.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.53siwyneqyoiy98z.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.54la3zu7va4q5wj9.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.54oeb85g5c4ekdbb.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.5bi4r4c3oouqhjls.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.5erce64ixk5rqxql.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.5fz2impwwbg4rj1k.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.5whcmqtkq8ej5bx.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.86kn8fecl0qq8xj.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.ah08zjuxgpa8d8n.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.amdf4rnsdtqk9c9.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.at3aqmbakiw3ddo.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.azskltx8wppj7m4.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.eo2n9wfbbp7p3fh.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.exwbjkadeio8frc.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.h7oociq1qnk411x.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.hlcls66h05pr1hu.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.ltk9m7jyauhdx5l.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.lzkncrmss99bdlv.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.m11013lk2gsnnkl.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.n3w4vhvra54rsuy.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.nt1ld5kfzgds6hc.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.o7gekxqopo323mx.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.sfjhrdrdaxvx5xo.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.sk21yu4yv9d5paz.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.wnthjl9khudig7f.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.wwdf5i6a0kz2o18.rcgu.o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb.3ngz2csar9hmi94s.rcgu.o" "-Wl,--as-needed" "-L" "/topiary/target/debug/deps" "-L" "/topiary/target/debug/build/tree-sitter-bash-7dd492de736d1b77/out" "-L" "/topiary/target/debug/build/tree-sitter-bash-7dd492de736d1b77/out" "-L" "/topiary/target/debug/build/tree-sitter-58e35725f5b20f79/out" "-L" "/topiary/target/debug/build/tree-sitter-json-c05663340a275ef7/out" "-L" "/topiary/target/debug/build/tree-sitter-nickel-8fe39fe248822eaa/out" "-L" "/topiary/target/debug/build/tree-sitter-nickel-8fe39fe248822eaa/out" "-L" "/topiary/target/debug/build/tree-sitter-ocaml-8510a22a588bd221/out" "-L" "/topiary/target/debug/build/tree-sitter-ocaml-8510a22a588bd221/out" "-L" "/topiary/target/debug/build/tree-sitter-query-9eff7c3b0ab6a2e3/out" "-L" "/topiary/target/debug/build/tree-sitter-rust-4811c3d7b12051cc/out" "-L" "/topiary/target/debug/build/tree-sitter-toml-7a457e82365b6e11/out" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/topiary/target/debug/deps/libenv_logger-9efe643d5dacf862.rlib" "/topiary/target/debug/deps/libtermcolor-b28148915e30c6ae.rlib" "/topiary/target/debug/deps/libhumantime-aae01410c5475e71.rlib" "/topiary/target/debug/deps/libclap-e91c57ed25dc1a7a.rlib" "/topiary/target/debug/deps/libonce_cell-b7e3ee6159ad0e89.rlib" "/topiary/target/debug/deps/libclap_builder-1269a95a682fd839.rlib" "/topiary/target/debug/deps/libstrsim-0d676f05736edcb0.rlib" "/topiary/target/debug/deps/libanstream-31dec896d9cceecf.rlib" "/topiary/target/debug/deps/libconcolor_query-cdde62627e5475c5.rlib" "/topiary/target/debug/deps/libis_terminal-8fdf5d803282c827.rlib" "/topiary/target/debug/deps/libanstyle-c3b6864246c6e3f1.rlib" "/topiary/target/debug/deps/libconcolor_override-1a9625adc842f0a8.rlib" "/topiary/target/debug/deps/libanstyle_parse-e4189c394d73b0a6.rlib" "/topiary/target/debug/deps/libutf8parse-c987db9ae5088639.rlib" "/topiary/target/debug/deps/libclap_lex-5b26303b49c4b273.rlib" "/topiary/target/debug/deps/libtempfile-46363ab4ac728faa.rlib" "/topiary/target/debug/deps/libfastrand-a2aa7658c2ba0369.rlib" "/topiary/target/debug/deps/librustix-e94c47e624ca3d6f.rlib" "/topiary/target/debug/deps/libio_lifetimes-916061d90ada64bf.rlib" "/topiary/target/debug/deps/libbitflags-6e9df601fdf105fa.rlib" "/topiary/target/debug/deps/liblinux_raw_sys-100e87dc12780b79.rlib" "/topiary/target/debug/deps/libtopiary-1f5b7998f7b513ef.rlib" "/topiary/target/debug/deps/libtree_sitter_query-fdf3d929eebc7f85.rlib" "/topiary/target/debug/deps/libtree_sitter_toml-cde0083466548cb5.rlib" "/topiary/target/debug/deps/libtree_sitter_rust-7d20f299ce5d93c4.rlib" "/topiary/target/debug/deps/libtree_sitter_ocaml-bad06610a0173e4c.rlib" "/topiary/target/debug/deps/libtree_sitter_nickel-a662bcd007ec918c.rlib" "/topiary/target/debug/deps/libtree_sitter_json-bfd6010d872048fe.rlib" "/topiary/target/debug/deps/libtree_sitter_bash-4aad0c782bff6880.rlib" "/topiary/target/debug/deps/libserde_json-e30afe722cee7891.rlib" "/topiary/target/debug/deps/libryu-d079eaac8a0a4f26.rlib" "/topiary/target/debug/deps/libitoa-c8739cce31267ad0.rlib" "/topiary/target/debug/deps/libtoml-883ab3718eb2acdf.rlib" "/topiary/target/debug/deps/libtoml_edit-50f46983957858f5.rlib" "/topiary/target/debug/deps/libserde_spanned-fed78e355481e3fc.rlib" "/topiary/target/debug/deps/libindexmap-31d2ce7aa34fa289.rlib" "/topiary/target/debug/deps/libhashbrown-1ad9ff035a5f095e.rlib" "/topiary/target/debug/deps/libwinnow-2703811806d31efd.rlib" "/topiary/target/debug/deps/libtoml_datetime-7ff0a719c14c922f.rlib" "/topiary/target/debug/deps/libtokio-b3bb4a48e8ec945e.rlib" "/topiary/target/debug/deps/libnum_cpus-7dca7b3c1347cec0.rlib" "/topiary/target/debug/deps/liblibc-9943ca4ccb49e15a.rlib" "/topiary/target/debug/deps/libpin_project_lite-140b386f0dba8c8d.rlib" "/topiary/target/debug/deps/liblog-5b4d91712b7db196.rlib" "/topiary/target/debug/deps/libcfg_if-2606f8b029ba0700.rlib" "/topiary/target/debug/deps/libserde-7e6df43787753031.rlib" "/topiary/target/debug/deps/libtree_sitter_facade-2925d9e92bca59c3.rlib" "/topiary/target/debug/deps/libtree_sitter-064ef2e1decca543.rlib" "/topiary/target/debug/deps/libregex-e1f61092f4be51a7.rlib" "/topiary/target/debug/deps/libaho_corasick-6ca25498afcbc687.rlib" "/topiary/target/debug/deps/libmemchr-f9fe3737860d10a8.rlib" "/topiary/target/debug/deps/libregex_syntax-1553c7f628d0e77e.rlib" "/topiary/target/debug/deps/libpretty_assertions-5d937cac9ef3818b.rlib" "/topiary/target/debug/deps/libdiff-c95c2e215a6e5c3e.rlib" "/topiary/target/debug/deps/libyansi-5235d270000a6ce2.rlib" "/topiary/target/debug/deps/libitertools-beb3a97f3ad4b417.rlib" "/topiary/target/debug/deps/libeither-6ed65d9439c86c61.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c266b767adc238fa.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-4e665e75680ab157.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-2c268935c0e4de54.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-d9cae8cab2e83955.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-b2569218908dc233.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-203954dd6c0e107d.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-2fe75cb9569b7e17.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-3a0e05c7e7662186.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d9688773c74d81f0.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-a45a078b6939c4df.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-421b6baf7f55c0fc.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-03023f0b8bf8613c.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-4a1e30b30971ca35.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-8410dc88caeded97.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-edc7f4c69f535936.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-780f699b6c2a38fc.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-0bb4166fbd0f93e1.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-b535de449084a84e.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a76914323e41775b.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lstdc++" "-lstdc++" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/topiary/target/debug/deps/topiary-ff5e702e3e891edb" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
          /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
          /usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++: No such file or directory
          collect2: error: ld returned 1 exit status
          

error: could not compile `topiary-cli` due to previous error

This is due to the absence of libstdc++ on openSUSE Leap. See this page which, at time of writing this, says that “there is no official package available for openSUSE Leap 15.4”. (There is one in openSUSE Tumbleweed though.) The CI being based on ocaml/opam Docker images, themselves based on opensuse/leap ones (source), it is bound to fail.

Things will probably solve themselves as new version of openSUSE Leap get released? I will also request for openSUSE Tumbleweed images in ocurrent/ocaml-dockerfile; we will see what happens. I will keep the issue open for documentation purposes.

OPAM in CI is not sandboxed

which completely defeats the purpose of this CI, when one of the main difficulties of packaging Topiary in OPAM is precisely to make it manage to compile in the OPAM sandbox.

cf #1 for more context.

Get rid of `opam depext`

For now, the CI Dockerfile relies on opam depext to install Topiary and its system dependencies. However, the opam depext plugin has been included in opam install and deprecated for a while now, but somehow it has not reached the Docker images yet. At some point, one should try again to get rid of it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.