Conversation
|
Hello, |
…e command-line: - Moved the initialization of globals into a def initialize so that it can use make_parser(). Updated main() to call initialize(). - Added an argument definition for --debug in make_parser(). - Added globals: release_flag, debug_flag, configuration and configuration_lower. - Updated all hardcoded "release" strings to reference configuration/configuration_lower. Updated external invocations of POSIX shell utilities in build.py to use Python abstractions instead so that it can run on Windows.
…ntu installation.
…tu 25.10 installation. Fixed PATH variable export in the Flutter section.
…hich copies target/{debug|release}/liblibrustdesk.dylib into a common directory platform/flutter/macos/librustdesk.
Updated the source path for the liblibrustdesk.dylib file reference to pull it from this common folder.
Updated .gitignore to exclude the intermediate platform/macos/librustdesk.
Updated BUILDING.md with changes for OS X.
…rename of rustdesk.exe to RustDesk.exe on Windows in build.py.
c8eb1df to
2af2ded
Compare
…e flags set after checking for --debug above the call to make_parser in initialize() in build.py , since they can affect what the parser supports.
Added missing 'f' formatted string literal prefix character to the initialization of flutter_build_dir.
Switched flutter invocations to use {debug_flag} instead of {release_flag}.
|
I've observed it working on Windows. I tried running through the steps afresh in my test Linux VM (from a clean baseline), and I ran into an apparent Rust compiler bug (an Internal Compilation Error during |
|
Here's the build on Windows with this branch: |
|
Okay I got unblocked on that. There was a mistake in the flags to |
workingjubilee
left a comment
There was a problem hiding this comment.
Yeah, I encountered that build error, heh.
… or a newer, incompatible GCC version in BUILDING.md to recommend setting the CC and CXX environment variables, rather than updating alternatives or adjusting a system-wide symlink in `/usr/bin`.
|
Some build instructions used by NixOS |
These are not instructions for a human 😛 There are some interesting things in there 🙂 |
Co-authored-by: Jubilee <workingjubilee@gmail.com>

This PR adds a file BUILDING.md which details the steps needed to take an unconfigured system and get it set up to reliably build RustDesk. The sequence has been tested on Windows, multiple times on Linux, and sort-of on OS X.
There is also a small adjustment to
build.pyso that it can be leveraged to do Debug builds as well as Release builds. This allows the process of building and running locally to very closely mirror the C.I. and release processes.For OS X, I managed to get access to an OS X VM and the build runs to completion.
flutter rundoesn't show any errors, but the application window never appears. I don't know how to diagnose this. I do wonder if it has something to do with code signing, since the project file references a specific Team that I am of course not a part of for certificates. I'm well out of my depth in this area, though.The key change for OS X is that
project.pbxprojhardcodes its reference toliblibrustdesk.dylibto thetarget/releasedirectory. This makes me suspect that actually presently nobody runs RustDesk debug builds on OS X. But, in order to makeflutter runwork with a debug build of the Rust code, I came up with a way to make the project work with both configurations. I updated the reference toliblibrustdesk.dylibto pull it from an intermediate directory, and I added a Script Build Phase that stages the appropriate Rust build output file into that common intermediate location.