Closed cschwan closed 1 year ago
In principle, you can add the compiled library also as an attachment to releases, from which it would be simpler to collect even for external users.
I.e. use something like gh release upload
in make-release.sh
.
@AleCandido that's the idea, eventually.
I'm currently still experimenting a bit with the binaries to see whether they're really usable everywhere. I suspect they're not, depending on the (g)libc versions available during compilation/execution and some other paths and OS/distribution-specific things that I havent't figured out yet. Another problem is that the .pc
file has its installation path hardcoded into it, meaning the user must change the prefix
accordingly. For that we probably want some small installation script asking for the installation directory. I'm thinking of something similar to what rustup is using.
I'm currently still experimenting a bit with the binaries to see whether they're really usable everywhere. I suspect they're not, depending on the (g)libc versions available during compilation/execution and some other paths and OS/distribution-specific things that I havent't figured out yet.
For this usually it should be sufficient to use an old enough Linux distribution. That's the goal of the manylinux
wheel type of Python packages: support many Linux distributions, by compiling using only features available to all of them.
You might consider using their containers https://github.com/pypa/manylinux https://quay.io/organization/pypa
Another problem is that the
.pc
file has its installation path hardcoded into it, meaning the user must change theprefix
accordingly. For that we probably want some small installation script asking for the installation directory. I'm thinking of something similar to what rustup is using.
This I'm aware of, and usually distributions solve this problem by using system-wide paths (most commonly /usr
). LHAPDF and other programs solve the problem only supporting installation from source.
That's part of the pain of distributing C/C++ code.
(the other option I'm aware of is giving up on pkg-config
, and rely on user env vars, but I'm not sure is preferable)
prefix
field in the.pc
file? If yes, we need an installer that does it.