OSGeo / PROJ-data

Repository for proj datum grids (for use by PROJ 7 or later)
Other
70 stars 32 forks source link

proj-data is packaged incorrectly for cross-platform usage on Debian #94

Closed nyurik closed 1 year ago

nyurik commented 1 year ago

When using proj in a multi-architecture environment (compiling cross-platform), the proj-data debian package does not exist. Apparently this bug existed at least 5 years ago, see stackoverflow post

The question above has some hacky solutions on how to get around this issue, but clearly it would be better to solve it upstream... not certain if this is the right place.

I was trying to use https://github.com/cross-rs/cross 's docker image, and inside install proj with:

docker run --rm -it ghcr.io/cross-rs/aarch64-unknown-linux-gnu:latest

dpkg --add-architecture arm64
apt-get update

apt show libproj9:arm64
# shows     Depends: proj-data, libc6 (>= 2.17)

apt-get install -y libproj9:arm64
# The following packages have unmet dependencies:
#  libproj9:arm64 : Depends: proj-data:arm64 but it is not installable

apt-get install -y proj-data:arm64
# E: Package 'proj-data:arm64' has no installation candidate

Thanks!

rouault commented 1 year ago

Binary packaging, such as in Debian, is not under the control of here the upstream project. This should be reported to the Debian PROJ package manintainer. That said you may use the projsync utility to download the grids you need: https://proj.org/apps/projsync.html

nyurik commented 1 year ago

@rouault thanks! Would projsync somehow auto-satisfy the dependency on proj-data:arm64 on a x64 environment, so that when i install libproj9 afterwards, it will be like "yep, already have it, no need to install"? Unlikely?

The problem it seems is that libproj9 has proj-data:arm64 as a dependency, instead of depending on proj-data:any (per stackoverflow response).

sebastic commented 1 year ago

Please close this issue, as noted on the pkg-grass-devel list:

The upstream PROJ-data project is for the grid shift files, it is not related to the proj-data package which provides the resource files [0] for libproj.

[0] https://proj.org/resource_files.html

That post also points out the issue with the unmaintained proj package in Ubuntu and the EOL of xenial.

The Multi-Arch issue was fixed six years ago in proj (4.9.3-2~exp1) which is available in Ubuntu since bionic and in Debian since buster.