-
-
Notifications
You must be signed in to change notification settings - Fork 95
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
chore: update iroh from 0.33.0 to 0.34.0 #6687
base: main
Are you sure you want to change the base?
Conversation
4688eea
to
9ee4ee3
Compare
@dignifiedquire @flub What is the transition plan for raw keys? I enable EDIT: the answer is that |
When I try to build this for Android, I get the following error:
|
9ee4ee3
to
169c84f
Compare
For me it compiles successfully. I am using NDK that is pinned in the nix flake. EDIT:
The changes in dependencies are replacing nix-ff443a8fa36385d6 is the version nix 0.26.4 according to ./aarch64-linux-android/debug/deps/nix-ff443a8fa36385d6.d So iroh probably started using something from rtnetlink 0.13.1 that was not used before.
Inside of nix 0.26.4 rtnetlink 0.13.1 also does not call Maybe the problem is I bisected iroh to the commit that broke the build: n0-computer/iroh@7acfe39 This commit updated netwatch from 0.3 to 0.4 and portmapper from 0.3 to 0.4. |
In the end I did this. Cloned iroh-gossip, checked out tag v0.34.0 (96173fd30934a49021a015a97b90fe43d5c88969), patched: diff --git a/Cargo.toml b/Cargo.toml
index d75a009..10975bf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -52,7 +52,7 @@ anyhow = { version = "1", optional = true }
futures-lite = { version = "2.3", optional = true }
futures-concurrency = { version = "7.6.1", optional = true }
futures-util = { version = "0.3.30", optional = true }
-iroh = { version = "0.34", default-features = false, optional = true }
+iroh = { path = "../iroh/iroh", default-features = false, optional = true }
tokio = { version = "1", optional = true, features = ["io-util", "sync"] }
tokio-util = { version = "0.7.12", optional = true, features = ["codec"] }
tracing = "0.1"
@@ -69,7 +69,7 @@ clap = { version = "4", features = ["derive"], optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["io-util", "sync", "rt", "macros", "net", "fs"] }
clap = { version = "4", features = ["derive"] }
-iroh = { version = "0.34", default-features = false, features = ["metrics", "test-utils"] }
+iroh = { path = "../iroh/iroh", default-features = false, features = ["metrics", "test-utils"] }
rand_chacha = "0.3.1"
testresult = "0.4.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] } Cloned iroh, checkout out v0.34.0, patched: diff --git a/iroh-net-report/Cargo.toml b/iroh-net-report/Cargo.toml
index 3d690a866..4a310f5d4 100644
--- a/iroh-net-report/Cargo.toml
+++ b/iroh-net-report/Cargo.toml
@@ -41,8 +41,8 @@ url = { version = "2.4" }
# non-wasm-in-browser dependencies
[target.'cfg(not(all(target_family = "wasm", target_os = "unknown")))'.dependencies]
hickory-resolver = "=0.25.0-alpha.5"
-netwatch = { version = "0.4" }
-portmapper = { version = "0.4", default-features = false }
+netwatch = { path = "../../net-tools/netwatch" }
+portmapper = { path = "../../net-tools/portmapper", default-features = false }
surge-ping = "0.8.0"
[dev-dependencies]
diff --git a/iroh/Cargo.toml b/iroh/Cargo.toml
index 2564b21fe..ba33728e3 100644
--- a/iroh/Cargo.toml
+++ b/iroh/Cargo.toml
@@ -43,7 +43,7 @@ http = "1"
iroh-base = { version = "0.34.0", default-features = false, features = ["key", "relay"], path = "../iroh-base" }
iroh-relay = { version = "0.34", path = "../iroh-relay", default-features = false }
n0-future = "0.1.2"
-netwatch = { version = "0.4" }
+netwatch = { path = "../../net-tools/netwatch" }
pin-project = "1"
pkarr = { version = "2", default-features = false, features = [
"async",
@@ -103,7 +103,7 @@ parse-size = { version = "=1.0.0", optional = true } # pinned version to avoid b
hickory-resolver = { version = "=0.25.0-alpha.5" }
igd-next = { version = "0.15.1", features = ["aio_tokio"] }
netdev = { version = "0.31.0" }
-portmapper = { version = "0.4", default-features = false }
+portmapper = { path = "../../net-tools/portmapper", default-features = false }
quinn = { package = "iroh-quinn", version = "0.13.0", default-features = false, features = ["platform-verifier", "runtime-tokio", "rustls-ring"] }
tokio = { version = "1", features = [
"io-util", Cloned net-tools, checked out 5bc90c98121e6462d8b0f98cd65a2140d1fcf332 (tag portmapper-v0.4.1), patched: diff --git a/netwatch/src/interfaces/linux.rs b/netwatch/src/interfaces/linux.rs
index 4d5c117..65c6d82 100644
--- a/netwatch/src/interfaces/linux.rs
+++ b/netwatch/src/interfaces/linux.rs
@@ -25,8 +25,6 @@ pub enum Error {
MissingDestinationField,
#[error("mask field is missing")]
MissingMaskField,
- #[error("netlink")]
- Netlink(#[from] rtnetlink::Error),
}
pub async fn default_route() -> Option<DefaultRouteDetails> { And now it compiles on Android with |
This fixes compilation of Delta Chat in debug mode for Android 5 (API level 21) using NDK 27. Without this change symbols like `process_vm_writev` which are not actually used are pulled in and break linking step. They are only optimized out in release mode. See <chatmail/core#6687> for details.
Made a PR with a fix: n0-computer/net-tools#17 |
This fixes compilation of Delta Chat in debug mode for Android 5 (API level 21) using NDK 27. Without this change symbols like `process_vm_writev` which are not actually used are pulled in and break linking step. They are only optimized out in release mode. See <chatmail/core#6687> for details.
f351d62
to
bf499a5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can confirm now that this a) compiles and b) a backup transfer between this and DC Desktop 1.56.0 (core v1.157.3) works fine in both direction.
What does not work is transferring the backup if the laptop is in the phone's Wi-Fi hotspot. This also doesn't work with the the latest Android release (1.56.0, core v1.157.3) & the latest Desktop release, so it's not introduced by the PR here. But this used to work in the past and we recommend it in the FAQ, so we need to investigate why it doesn't work anymore.
Not sure if we should merge this already rather than wait for the fix to be released, you are free to decide.
This fixes compilation of Delta Chat in debug mode for Android 5 (API level 21) using NDK 27. Without this change symbols like `process_vm_writev` which are not actually used are pulled in and break linking step. They are only optimized out in release mode. See <chatmail/core#6687> for details.
17d5324
to
63ece62
Compare
No description provided.