[pbs-devel] building proxmox-backup-qemu

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Dec 1 11:04:45 CET 2020


On November 30, 2020 8:11 pm, Niko Fellner wrote:
>> I just added it to the build-depends as well.
>> [...]
>> diff --git a/Cargo.toml b/Cargo.toml
>> [...]
>> with proxmox-backup checked out next to proxmox-backup-qemu
> 
> Thanks, I've applied your patch, and obviously the cbindgen package was installed, but I still get the same error. Here is my log:
> 
> 
> After successfully building the latest proxmox-backup in ~/proxmox-backup:
>> root at debian:~/proxmox-backup# cd ~ && \
>> git clone git://git.proxmox.com/git/proxmox-backup-qemu.git && \
>> cd proxmox-backup-qemu && nano Cargo.toml
> 
> I applied your patch (change proxmox version to "0.8.0" and use proxmox-backup from path = "../proxmox-backup" instead of git://git.proxmox.com...).
> 
>> root at debian:~/proxmox-backup-qemu# mk-build-deps -ir
>> dh_testdir
>> dh_testroot
>> dh_prep
>> dh_testdir
>> dh_testroot
>> dh_install
>> dh_installdocs
>> dh_installchangelogs
>> dh_compress
>> dh_fixperms
>> dh_installdeb
>> dh_gencontrol
>> dh_md5sums
>> dh_builddeb
>> dpkg-deb: Paket »proxmox-backup-qemu-build-deps« wird in »../proxmox-backup-qemu-build-deps_1.0.2-1_all.deb« gebaut.
>> The package has been created.
>> Attention, the package has been created in the current directory,
>> not in ".." as indicated by the message above!
>> Vormals nicht ausgewähltes Paket proxmox-backup-qemu-build-deps wird gewählt.
>> (Lese Datenbank ... 247817 Dateien und Verzeichnisse sind derzeit installiert.)
>> Vorbereitung zum Entpacken von proxmox-backup-qemu-build-deps_1.0.2-1_all.deb ...
>> Entpacken von proxmox-backup-qemu-build-deps (1.0.2-1) ...
>> Paketlisten werden gelesen... Fertig
>> Abhängigkeitsbaum wird aufgebaut.       
>> Statusinformationen werden eingelesen.... Fertig
>> Abhängigkeiten werden korrigiert ...Starting pkgProblemResolver with broken count: 0
>> Starting 2 pkgProblemResolver with broken count: 0
>> Done
>>  Fertig
>> Starting pkgProblemResolver with broken count: 0
>> Starting 2 pkgProblemResolver with broken count: 0
>> Done
>> Die folgenden zusätzlichen Pakete werden installiert:
>>   cbindgen librust-bincode-dev
>> Vorgeschlagene Pakete:
>>   librust-bincode+i128-dev
>> Die folgenden NEUEN Pakete werden installiert:
>>   cbindgen librust-bincode-dev
>> 0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
>> 1 nicht vollständig installiert oder entfernt.
>> Es müssen 1.331 kB an Archiven heruntergeladen werden.
>> Nach dieser Operation werden 5.264 kB Plattenplatz zusätzlich benutzt.
>> Möchten Sie fortfahren? [J/n] Y
>> Holen:1 http://deb.debian.org/debian buster/main amd64 cbindgen amd64 0.14.4-1~deb10u1 [1.316 kB]
>> Holen:2 http://deb.debian.org/debian buster/main amd64 librust-bincode-dev amd64 1.0.1-1 [14,6 kB]

these are from stock Debian Buster repos, not from our devel repo which 
contains newer versions of many of our dependencies, and the toolchain 
itself.

>> Es wurden 1.331 kB in 0 s geholt (6.094 kB/s).  
>> Vormals nicht ausgewähltes Paket cbindgen wird gewählt.
>> (Lese Datenbank ... 247821 Dateien und Verzeichnisse sind derzeit installiert.)
>> Vorbereitung zum Entpacken von .../cbindgen_0.14.4-1~deb10u1_amd64.deb ...
>> Entpacken von cbindgen (0.14.4-1~deb10u1) ...
>> Vormals nicht ausgewähltes Paket librust-bincode-dev:amd64 wird gewählt.
>> Vorbereitung zum Entpacken von .../librust-bincode-dev_1.0.1-1_amd64.deb ...
>> Entpacken von librust-bincode-dev:amd64 (1.0.1-1) ...
>> cbindgen (0.14.4-1~deb10u1) wird eingerichtet ...
>> librust-bincode-dev:amd64 (1.0.1-1) wird eingerichtet ...
>> proxmox-backup-qemu-build-deps (1.0.2-1) wird eingerichtet ...
>> Trigger für man-db (2.8.5-2) werden verarbeitet ...
> 
>> root at debian:~/proxmox-backup-qemu# make
>> cargo build 
>> error: no matching package named `cbindgen` found
>> location searched: registry `https://github.com/rust-lang/crates.io-index`
>> perhaps you meant: bindgen
>> required by package `proxmox-backup-qemu v1.0.2 (/root/proxmox-backup-qemu)`
>> make: *** [Makefile:22: all] Fehler 101
> 
>> root at debian:~/proxmox-backup-qemu# apt-get install cbindgen
>> Paketlisten werden gelesen... Fertig
>> Abhängigkeitsbaum wird aufgebaut.       
>> Statusinformationen werden eingelesen.... Fertig
>> cbindgen ist schon die neueste Version (0.14.4-1~deb10u1).
>> cbindgen wurde als manuell installiert festgelegt.
>> 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
> 
>> root at debian:~/proxmox-backup-qemu# cargo build
>> error: no matching package named `cbindgen` found
>> location searched: registry `https://github.com/rust-lang/crates.io-index`
>> perhaps you meant: bindgen
>> required by package `proxmox-backup-qemu v1.0.2 (/root/proxmox-backup-qemu)`
> 
>> root at debian:~/proxmox-backup-qemu# cat /etc/apt/sources.list.d/proxmox-devel.list 
>> deb http://download.proxmox.com/debian/devel/ buster main
> 
>> root at debian:~/proxmox-backup-qemu# ls -a /usr/share/cargo/registry/c
>> cc-1.0.50/               clang-sys-0.29.3/        crossbeam-channel-0.4.2/
>> cexpr-0.4.0/             clap-2.33.0/             crossbeam-utils-0.7.2/
>> cfg-if-0.1.10/           crc32fast-1.2.0/         
>> root at debian:~/proxmox-backup-qemu# ls -a /usr/share/cargo/registry/c^C
> 
> Is the "location searched: registry `https://github.com/rust-lang/crates.io-index`" correct?

yes. the repo contains a .cargo/config file that says "all stuff that 
you want from crates.io is actually available in 
/usr/share/cargo/registry", which is where all the packaged crates put 
their source code. cargo still "thinks" it's talking to crates.io ;)

you need to
1.) enable our devel repo
2.) upgrade the installed toolchain and crate packages
3.) install librust-cbindgen-dev in addition to cbindgen (the latter is
the binary, the former contains the source code to satisfy cargo that 
the crate is available)
4.) possibly install other librust-*-dev packages referenced by 
Cargo.toml, if it still complains on make




More information about the pbs-devel mailing list