Skip to content
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

Build failure for ppc64 #353

Closed
1 task done
dutyrok opened this issue Aug 24, 2023 · 11 comments · Fixed by #356
Closed
1 task done

Build failure for ppc64 #353

dutyrok opened this issue Aug 24, 2023 · 11 comments · Fixed by #356
Assignees
Labels
bug Something isn't working
Milestone

Comments

@dutyrok
Copy link
Contributor

dutyrok commented Aug 24, 2023

Is there an existing issue for this?

  • I have searched the existing issues.

What's the problem?

Hello. I get an error while has tried to build sniffnet 1.2.2 for ppc64 using ALT Linux Sisyphus. See logs. It occurs due to ring which 0.16.2 version doesn't support this arch.

How did you install the app?

built locally by cloning the repository

Operating System

Linux

Additional context

Version 1.1.3 has been built for ppc64 successfully. Logs.

@GyulyVGC
Copy link
Owner

So, if I understood correctly it's an upstream problem related to ring, right?

In this case, how could I help you?
The only solution would be to manually downgrade ring in the lock file... did you try it?

@dutyrok
Copy link
Contributor Author

dutyrok commented Aug 24, 2023

So, if I understood correctly it's an upstream problem related to ring, right?
Yes, it is ring's problem.

The only solution would be to manually downgrade ring in the lock file... did you try it?
I haven't tried to do this way. But I think the version should be changed to a larger one, because of supporting, as I understood, was added later then 0.16.2. I will check it as soon as I can.

@GyulyVGC
Copy link
Owner

I've run a cargo update this morning, I'll check better later if a newer version came out

@dutyrok
Copy link
Contributor Author

dutyrok commented Aug 24, 2023

Ring is not a direct dependency of sniffnet, as I understood. It is needed for rustls. I don't know a way to update version of such package without updating sources of rustls yet. Is it possible?

@GyulyVGC
Copy link
Owner

Actually nope.
Yesterday a new version of reqwest, the crate using rustls, was released and Sniffnet is already up to date.
I think we have to wait until they release a new version with ring updated.

@GyulyVGC GyulyVGC added the bug Something isn't working label Aug 25, 2023
@dutyrok
Copy link
Contributor Author

dutyrok commented Aug 25, 2023

Ok, Thanks for help.

@GyulyVGC
Copy link
Owner

By the way, ring 0.16.20 is the latest version https://crates.io/crates/ring/versions

So we are already up to date

@GyulyVGC
Copy link
Owner

GyulyVGC commented Aug 25, 2023

One more note: version 1.1.3 compiled successfully because it used reqwest without the rustls-tls feature.

If you place this line

reqwest = { version = "0.11.20", features = ["json", "blocking"] }

in place of the current reqwest import, you should be able to compile without problems.

The rustls-tls feature was needed because of other issues with some Debian distros.

@dutyrok
Copy link
Contributor Author

dutyrok commented Aug 25, 2023

Yes, it solves the problem (log). But I also want to check if sniffnet works on qemu ppc64 virt system.
I modify Cargo.toml the next way (also do cargo update to refresh Cargo.lock):

--- a/Cargo.toml
+++ b/Cargo.toml
@@ -44,9 +44,14 @@ maxminddb = "0.23.0"
 confy = "0.5.1"
 serde = { version = "1.0.183", default_features = false, features = ["derive"] }
 rodio = { version = "0.17.1", default_features = false, features = ["mp3"] }
-reqwest = { version = "0.11.18", default-features = false, features = ["json", "blocking", "rustls-tls"] }
 dns-lookup = "2.0.2"
 
+[target.'cfg(target_arch = "powerpc64")'.dependencies]
+reqwest = { version = "0.11.20", features = ["json", "blocking"] }
+
+[target.'cfg(not(target_arch = "powerpc64"))'.dependencies]
+reqwest = { version = "0.11.20", default-features = false, features = ["json", "blocking", "rustls-tls"] }
+

Will these changes be accepted by you, if I create a pull request?

@GyulyVGC
Copy link
Owner

Yeah, looks good to me 👍

@dutyrok
Copy link
Contributor Author

dutyrok commented Aug 25, 2023

Ok, I will do a pull request as soon as check it on virt system.

dutyrok added a commit to dutyrok/sniffnet that referenced this issue Aug 26, 2023
Disable rustls-tls features of reqwest dependency for ppc64 because of ruslts
needs ring, which the latest stable version doesn't support this arch.
dutyrok added a commit to dutyrok/sniffnet that referenced this issue Aug 26, 2023
Disable rustls-tls features of reqwest dependency for ppc64 because of ruslts
needs ring, which the latest stable version doesn't support this arch.
dutyrok added a commit to dutyrok/sniffnet that referenced this issue Aug 26, 2023
Disable rustls-tls features of reqwest dependency for ppc64 because of ruslts
needs ring, which the latest stable version doesn't support this arch.
@GyulyVGC GyulyVGC linked a pull request Aug 27, 2023 that will close this issue
@GyulyVGC GyulyVGC added this to the v1.3.0 milestone Aug 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants