Try solve path issue
MODIFY
WalletWasabi/Helpers/EnvironmentHelpers.cs
WalletWasabi/Helpers/EnvironmentHelpers.cs
@@ -52,7 +52,7 @@ namespace WalletWasabi.Helpers
/// https://stackoverflow.com/a/47918132/2061103
/// </summary>
/// <param name="cmd"></param>
- public static void BashExec(string cmd)
+ public static void BashExec(string cmd, bool waitForExit = true)
{
var escapedArgs = cmd.Replace("\"", "\\\"");
@@ -70,7 +70,11 @@ namespace WalletWasabi.Helpers
};
process.Start();
+
+ if (waitForExit)
+ {
process.WaitForExit();
}
}
}
+}

MODIFY
WalletWasabi/TorSocks5/TorProcessManager.cs
WalletWasabi/TorSocks5/TorProcessManager.cs
@@ -36,19 +36,19 @@ namespace WalletWasabi.TorSocks5
return;
}
+ var torDir = Path.Combine(AppContext.BaseDirectory, "tor");
var torPath = "";
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
- torPath = @"tor\Tor\tor.exe";
+ torPath = $@"{torDir}\Tor\tor.exe";
}
else // Linux or OSX
{
- torPath = @"tor/Tor/tor";
+ torPath = $@"{torDir}/Tor/tor";
}
if (!File.Exists(torPath))
{
- var torDir = Path.Combine(AppContext.BaseDirectory, "tor");
var torDaemonsDir = $"TorDaemons";
try
@@ -94,6 +94,8 @@ namespace WalletWasabi.TorSocks5
}
}
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
var torProcessStartInfo = new ProcessStartInfo(torPath)
{
Arguments = $"SOCKSPort {TorSocks5EndPoint.Port}",
@@ -102,6 +104,11 @@ namespace WalletWasabi.TorSocks5
RedirectStandardOutput = true
};
Process torProcess = Process.Start(torProcessStartInfo);
+ }
+ else // Linux and OSX
+ {
+ EnvironmentHelpers.BashExec($"LD_LIBRARY_PATH=$LD_LIBRARY_PATH:={torDir}/Tor && export LD_LIBRARY_PATH && .{torPath}");
+ }
await Task.Delay(1000);
if (!await IsTorRunningAsync(TorSocks5EndPoint))

Try solve path issue