trifid/docs/tfclient/why_not_this_os.md

12 lines
1.6 KiB
Markdown
Raw Normal View History

2023-06-24 01:01:13 +00:00
# Why cant tfclient support XXXXX?
2023-07-27 21:35:26 +00:00
There are limits to what operating systems and architectures tfclient can support. As you may know, tfclient is based upon the [Nebula](https://github.com/slackhq/nebula) project, maintained by Slack and Defined Networking. tfclient can only support architectures and operating systems that [Nebula itself supports](https://github.com/slackhq/nebula/releases/).
2023-06-24 01:01:13 +00:00
In addition, tfclient, being written in Rust, can only function in environments [where Rust compiles well](https://doc.rust-lang.org/nightly/rustc/platform-support.html). For example, this rules out MIPS - `rustc` currently does not function correctly on that architecture, and thus tfclient cannot, and likely never will support that architecture.
2023-07-27 21:35:26 +00:00
Finally, tfclient generally requires a functioning CGo compiler, in order to properly link to Nebula. If this is not available, but tfclient itself compiles fine, this is known as a 'Tier 2' platform - you must compile and run Nebula separately, and tfclient will be unable to manage it other than providing it's config.
2023-06-24 01:01:13 +00:00
Did Nebula add a new architecture, and we missed it? Rust supports a new architecture in a new release? [Let us know!](https://lists.e3t.cc/~core/trifid-devel) We love adding support for new systems whenever we can.
2023-07-27 21:35:26 +00:00
Did we miss an architecture? If your architecture is supported by Nebula, Rust, and CGo, but you still get linking errors or segfaults when trying to build tfclient, we might have missed you - [get in touch](https://lists.e3t.cc/~core/trifid-devel) and we will work with you to get your system supported :D