<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ES-MX" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="DE">I originally posted this question in #3163#c9, but here my question is better placed:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE">> This is because for restore, the binary is actually created from our patched<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> QEMU source code which just links against the Rust library, see<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> 'pbs-restore.c' in our QEMU sources (i.e. clone pve-qemu repo, then apply<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> the patches in 'debian/patches/series' to the 'qemu' submodule).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE">So if I want to build the "pbs-restore" binary, I need to make "pve-qemu":<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE">> cd ~ && git clone git://git.proxmox.com/git/pve-qemu.git && \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> cd pve-qemu && apt-get install libaio-dev libcap-ng-dev libfdt-dev \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> libglusterfs-dev libiscsi-dev libjemalloc-dev libjpeg-dev libnuma-dev \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> libpci-dev libpixman-1-dev librbd-dev libsdl1.2-dev libseccomp-dev \<o:p></o:p></span></p>
<p class="MsoNormal">> libspice-protocol-dev libspice-server-dev libusb-1.0-0-dev \<o:p></o:p></p>
<p class="MsoNormal">> libusbredirparser-dev texi2html texinfo xfslibs-dev && \<o:p></o:p></p>
<p class="MsoNormal">> mk-build-deps -ir && make<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Which results in the binaries "/pve-qemu-kvm-5.1.0/pbs-restore" and "pve-qemu-kvm-5.1.0/debian/pve-qemu-kvm/usr/bin/pbs-restore" (What's their difference?)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Making pve-qemu requires "libproxmox-backup-qemu0".<o:p></o:p></p>
<p class="MsoNormal">"libproxmox-backup-qemu0" is either supplied by installing PVE...<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">> echo 'deb http://download.proxmox.com/debian/pve buster pvetest' >> \<o:p></o:p></p>
<p class="MsoNormal">> /etc/apt/sources.list.d/proxmox-devel.list && \<o:p></o:p></p>
<p class="MsoNormal"><span lang="DE">> apt-get update && apt-get dist-upgrade -y && \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> apt-get install proxmox-ve<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE">... or by building it from source. I am interested about building it myself, of course. I guess this repository is what I need:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">https://git.proxmox.com/?p=proxmox-backup-qemu.git;a=summary<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">But when I do ...<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE">> cd ~ && git clone git://git.proxmox.com/git/proxmox-backup-qemu.git && \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> cd proxmox-backup-qemu && \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> # checkout a commit which seems to be compatible for v1.0.3, see #3173#c1 \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> git checkout 1e45883f00ca8b0dd04c84f4ae33752e69cfc5bb && \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> # need to install PVE too meet the dependencies for the next one: \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> mk-build-deps -ir && \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> # I can't meet all dependencies for the next one: \<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> make<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE">...with the "make" I get the following error message:
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE">> error: no matching package named `cbindgen` found<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> location searched: registry `https://github.com/rust-lang/crates.io-index`<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> perhaps you meant: bindgen<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> required by package `proxmox-backup-qemu v1.0.0 (/root/proxmox-backup-qemu)`<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">> make: *** [Makefile:22: all] Fehler 101<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE">Where do I get "cbindgen" from? What's the correct way to build proxmox-backup-qemu?<o:p></o:p></span></p>
</div>
</body>
</html>