Windows GNU (requires GCC)
Prerequisites
- Make sure
cargois installed. Check usingcargo -Vin Command Prompt (cmd) or PowerShell. If you see one of the following:'cargo' is not recognized as an internal or external command, operable program or batch file.cargo : The term 'cargo' is not recognized as the name of a cmdlet, function, script file, or operable program.- Click here to follow the installation steps.
- Download the source code from GitHub:
- If git is installed, run
git clone https://github.com/TeamFlos/phira.gitto clone the repository. - If git is not installed, go to the Phira repository page, click the Code button, select
Download ZIP, and extract to any local directory. - GitHub should be your primary source. Use a Git mirror or accelerator only if GitHub is genuinely inaccessible for you.
- To build a specific version, go to the release page and download
Source code(zip)from Assets. - Warning: To avoid hard-to-diagnose build issues, we recommend using a path that contains only ASCII characters.
- If git is installed, run
- perl — check using
perl -vin cmd or PowerShell. If not installed, openMSYS2 UCRT64and runpacman -S perl. - For static library files, download from ESA or EdgeOne and extract to the project root. If prompted to overwrite, click overwrite.
Building
- Open cmd or PowerShell and navigate to the project root (e.g.,
D:\phira\). - Run
cargo build -r --bin phira-main. If building an older version, the terminal may hang for a long time atopenssl-sys(build)— this is normal, do not exit. - After the build, find the compiled binary in
.\target\release\. - Copy all files from
.\assets\to.\target\release\assets\. The build is now complete. Runphira-main.exeto check that resource files are intact.
- Note: At the time this document was written, the repository did not include a complete set of resource files. If the program crashes on startup, download any package from the Releases page and copy the missing resource files from there.
32-bit Build
- Open cmd or PowerShell and navigate to the project root (e.g.,
D:\phira\). - Download the static library above and extract to
phira\prpr-avc\static-lib, or build it yourself. - Run
cargo build --target=i686-pc-windows-gnu --release --package phira-main. Atopenssl-sys(build), this will take a very long time — do not exit. - After the build, find the compiled binary in
.\target\release\. - Copy all files from
.\assets\to.\target\release\assets\. Runphira-main.exeto check that resource files are intact.
- Note: At the time this document was written, the repository did not include a complete set of resource files. If the program crashes on startup, download any package from the Releases page and copy the missing resource files from there.
About the Static Library
- Moved to the Static Library page.
Troubleshooting
Q. Error: failed to send request: connection timed out
A. Check your network first and make sure GitHub is accessible. Mirrors should be treated as a fallback, not the default source.
Q. Error: failed to send request: unable to resolve server name or address
A. Check or change your DNS settings, then flush the DNS cache.
Q. Build error: error: failed to run custom build command for openssl-sys v0.9.99
A. Missing perl. Check that perl is correctly installed and try again.
Q. Build error: error occurred: Failed to find tool. Is gcc.exe installed? (see https://github.com/rust-lang/cc-rs#compile-time-requirements for help)
A. Check that MSYS2 is installed and that the environment variables are configured correctly.
Q. The following error appears:
Error building OpenSSL dependencies:
Command: "make" "depend"
Failed to execute: program not foundA. The make command is missing. Install it in the MSYS2 terminal with pacman -S make.
Q. Error contains: This perl implementation doesn't produce unix like paths
A. The perl in use is not compatible with gcc. Remove the existing perl from your environment variables or uninstall it.
Q. Error contains undefined reference to libiconv
A. There is an issue with libiconv. Install it in the MSYS2 terminal with pacman -S libiconv.
Q. Too complicated?
A. Try the MSVC build method instead — it's slightly simpler.