From 5c674f955663465ab795d6f83f762d1c1f172fe0 Mon Sep 17 00:00:00 2001 From: April Prichard Date: Fri, 7 Apr 2023 22:02:01 -0700 Subject: [PATCH 1/5] Create BUILDING.md Add instructions for using whisper-rs on Windows --- BUILDING.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 BUILDING.md diff --git a/BUILDING.md b/BUILDING.md new file mode 100644 index 0000000..d0258b9 --- /dev/null +++ b/BUILDING.md @@ -0,0 +1,29 @@ + +# Running on Windows using MSYS2 + +The following is + +1. install msys2/mingw by following [https://code.visualstudio.com/docs/cpp/config-mingw](`https://code.visualstudio.com/docs/cpp/config-mingw`) + 1. Install g++ and make within msys2 ucrt64 + - `pacman -S --needed base-devel mingw-w64-x86_64-toolchain` + 2. Add the msys2 ucrt64 bin folder to path `C:\msys64\ucrt64\bin` +2. Install make by running `pacman -S make` in msys2 ucrt66 +3. Set rust to use msys2: by running `rustup toolchain install stable-x86_64-pc-windows-gnu` in Windows Powershell/Cmd +4. Add `.cargo/config` file in the project with the following contents: +``` +[target.x86_64-pc-windows-gnu] +linker = "C:\\msys64\\ucrt64\\bin\\gcc.exe" +ar = "C:\\msys64\\ucrt64\\bin\\ar.exe" +``` +5. Run `cargo run` in Windows Powershell/Cmd + +# Running on Windows using Microsoft Visual Studio C++ + +It has been reported that it is also possible to build whisper-rs using Visual Studio C++. + +Make sure you have installed and in the path: + +- Visual Studio C++ +- cmake + +You may need to clone the git repository instead of using the Cargo package. From e2eb013cfc5e0aef67a37c217b1eba3e0e0a456d Mon Sep 17 00:00:00 2001 From: April Prichard Date: Fri, 7 Apr 2023 22:06:38 -0700 Subject: [PATCH 2/5] Add BUILDING.md --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d05270b..a1af075 100644 --- a/README.md +++ b/README.md @@ -37,23 +37,25 @@ See [examples/basic_use.rs](examples/basic_use.rs) for more details. Lower level bindings are exposed if needed, but the above should be enough for most use cases. See the docs: https://docs.rs/whisper-rs/ for more details. +## Building + +See [BUILDING.md] for instructions for building whisper-rs on Windows and OSX M1. + ## Troubleshooting * I get an error about a lot of undefined symbols at compile time! * These symbols might be part of the C++ standard library. * Try linking against it with the `-Clink-args=-lstdc++` compiler flag: * `RUSTFLAGS="-Clink-args=-lstdc++" cargo build` -* Windows/macOS/Android aren't working! +* macOS/Android aren't working! * I don't have a way to test these platforms, so I can't really help you. - * If you can get it working, please open a PR! + * If you can get it working, please open a PR with any changes to make it work and build instructions in BUILDING.md! * I get a panic during binding generation build! * You can attempt to fix it yourself, or you can set the `WHISPER_DONT_GENERATE_BINDINGS` environment variable. This skips attempting to build the bindings whatsoever and copies the existing ones. They may be out of date, but it's better than nothing. * `WHISPER_DONT_GENERATE_BINDINGS=1 cargo build` * If you can fix the issue, please open a PR! -* M1 build info: - * See [this issue](https://github.com/tazz4843/whisper-rs/pull/2) for more info. ## License [Unlicense](LICENSE) From 78ac550d3bf1f37561ba1644db6960e4e27ef502 Mon Sep 17 00:00:00 2001 From: April Prichard Date: Fri, 7 Apr 2023 22:13:35 -0700 Subject: [PATCH 3/5] Add M1 instructions --- BUILDING.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index d0258b9..05cded6 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -1,7 +1,7 @@ # Running on Windows using MSYS2 -The following is +The following are instructions for building whisper-rs on Windows using the msys2 set of compilers. 1. install msys2/mingw by following [https://code.visualstudio.com/docs/cpp/config-mingw](`https://code.visualstudio.com/docs/cpp/config-mingw`) 1. Install g++ and make within msys2 ucrt64 @@ -9,7 +9,7 @@ The following is 2. Add the msys2 ucrt64 bin folder to path `C:\msys64\ucrt64\bin` 2. Install make by running `pacman -S make` in msys2 ucrt66 3. Set rust to use msys2: by running `rustup toolchain install stable-x86_64-pc-windows-gnu` in Windows Powershell/Cmd -4. Add `.cargo/config` file in the project with the following contents: +4. Add `.cargo/config.toml` file in the project with the following contents: ``` [target.x86_64-pc-windows-gnu] linker = "C:\\msys64\\ucrt64\\bin\\gcc.exe" @@ -27,3 +27,14 @@ Make sure you have installed and in the path: - cmake You may need to clone the git repository instead of using the Cargo package. + +# Running on M1 OSX + +To build on a M1 Mac, make sure to add the following to your project's `.cargo/config.toml`: + +``` +[target.aarch64-apple-darwin] +rustflags = "-lc++ -l framework=Accelerate" +``` + +See https://github.com/tazz4843/whisper-rs/pull/2 for more information. From bd567d7c7c80897fba6cfc29b0ff073c05d3146f Mon Sep 17 00:00:00 2001 From: April Prichard Date: Fri, 7 Apr 2023 22:14:16 -0700 Subject: [PATCH 4/5] Fix link? --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a1af075..d921c28 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ See the docs: https://docs.rs/whisper-rs/ for more details. ## Building -See [BUILDING.md] for instructions for building whisper-rs on Windows and OSX M1. +See [./BUILDING.md] for instructions for building whisper-rs on Windows and OSX M1. ## Troubleshooting From 33cb6c32aee6e5d7c4d6475e1743602ad4d9fb06 Mon Sep 17 00:00:00 2001 From: April Prichard Date: Fri, 7 Apr 2023 22:16:07 -0700 Subject: [PATCH 5/5] Link again --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d921c28..101fa32 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ See the docs: https://docs.rs/whisper-rs/ for more details. ## Building -See [./BUILDING.md] for instructions for building whisper-rs on Windows and OSX M1. +See [BUILDING.md](BUILDING.md) for instructions for building whisper-rs on Windows and OSX M1. ## Troubleshooting