[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

cross compilation: dev packages depending on rustc



(I'm not subscribed so please keep me in CC)

Hi,

when trying to cross-build rust-process-viewer for amd64, I get a dependency
resolution error that looks like this:

The following packages have unmet dependencies:
 librust-gdk4-dev:amd64 : Depends: rustc:amd64 (>= 1.70) but it is not installable
 librust-gtk4-macros-dev:amd64 : Depends: rustc:amd64 (>= 1.70) but it is not installable
 librust-gtk4-dev:amd64 : Depends: rustc:amd64 (>= 1.70) but it is not installable
 librust-glib-dev:amd64 : Depends: rustc:amd64 (>= 1.70) but it is not installable
 librust-libadwaita-dev:amd64 : Depends: rustc:amd64 (>= 1.70) but it is not installable
 librust-cairo-rs-dev:amd64 : Depends: rustc:amd64 (>= 1.70) but it is not installable
 librust-graphene-rs-dev:amd64 : Depends: rustc:amd64 (>= 1.70) but it is not installable
 librust-gsk4-dev:amd64 : Depends: rustc:amd64 (>= 1.70) but it is not installable

Taking librust-gtk4-dev as an example, it appears that some rust dev-packages
have a dependency on rustc added to them. This cannot work for cross
compilation as this will pull in the host-architecture rust package and we need
the build-architecture rustc. This is also why source packages like rust-gtk4
have a build dependency on rustc:native. The :native qualifier ensures that the
build architecture is selected for rustc. But :native does only work with
build-dependencies and not for binary package dependencies.

I was wondering what this dependency on rustc is for and why it is necessary.
If packages shipping C header files would depend on gcc, the same thing would
happen.

Can you shed some light on the situation?

Thanks!

cheers, josch

Attachment: signature.asc
Description: signature


Reply to: