-
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No package for Arch Linux / AUR #10
Comments
Would something like this PKGBUILD file suffice?
|
That almost works on my system. I get some linking errors:
It builds fine if I go into the build directory and do cmake --build . manually. I tried building with/without some of the makepkg conf flags and couldn't get it to change / trigger. Not sure what's going on. |
Strange indeed. Apparently that is due to some "optimization" that is enabled by default when using Icons are missing, though. Nothing critical, but looks a bit ugly and spams the debug log. Tracked in #11. |
I get a compilation error now. I'm guessing this is just from an API change by a dependency and when I ran it pulled a slightly different version. You might consider checking the Cargo.lock into version control since this is implicitly the end deliverable.
|
The same error happens on my machine. I assume publishing the Actually, I do not even understand the problem. This project is not much more than a thin C wrapper around
Provided I read the error message correctly, there is some disagreement between |
I’m not sure what you’re asking. Generally this kind of compilation error is due to a code issue. It could happen if broken code was merged into git. However usually projects try to prevent this. The most likely reason for it to happen when attempting to build a working git commit from another machine is that the later build ends up using slightly different versions of the dependencies. Cargo is only supposed to fetch n the newest version to a point where the interface will not be broken, however not every project adheres correctly to semver, and most projects are not super careful about specifying dependencies and checking the policies of the dependencies’ versioning. The error message is complaining that a type does not implement one of the standard async interfaces. The Compat and Upgraded in the names of the types makes it look like this may be some kind of compatibility layer to maintain backwards compatibility. Perhaps either it overlooked implementing the trait, or something about the type prevented a generic impl from taking effect, or it’s pulling in a different version of futures so even though both it and the calling code are specifying a Sink trait, they’re technically two different types in the build due to the divergent versions. Specifying Cargo.lock will address all of these, because it ensures that exactly the same dependency tree is used for other people building the code as the original CI build that checked it. However it’s only recommended for end products (binaries), because if it’s specified on intermediate libraries it limits the ability of the dependency resolver to find a mutually correct dependency for multiple libraries, which can lead to issues like the divergent versions issue that I mentioned above. It is possible it’s also because of a genuinely broken commit or some feature flags that aren’t (un)set by default which should be. I’m just saying, generally speaking, for this kind of situation where pulling code will result in l slightly different dependency versions, slightly broken dependencies are not uncommon. sorry for the long explanation, I wanted to completely explain the issue rather than linking to a few different sources to give the necessary context. |
Thank you for providing an explanation. I now understand that in the But where would I get that |
Looks like the upstream library fixed this in the last 24 hours. I did |
Nice. 👍 Thank you for investigating this problem! |
Currently there isn't a package for Arch Linux or AUR.
The text was updated successfully, but these errors were encountered: