From b00ac632e378eb6fb6f2be60f91f015d104dd452 Mon Sep 17 00:00:00 2001 From: cosmic-snow <134004613+cosmic-snow@users.noreply.github.com> Date: Sun, 18 Jun 2023 20:08:43 +0200 Subject: [PATCH] Update python/README.md with troubleshooting info (#1012) - Add some notes about common Windows problems when trying to make a local build (MinGW and MSVC). Signed-off-by: cosmic-snow <134004613+cosmic-snow@users.noreply.github.com> --- gpt4all-bindings/python/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gpt4all-bindings/python/README.md b/gpt4all-bindings/python/README.md index 970ac00e..3badeea0 100644 --- a/gpt4all-bindings/python/README.md +++ b/gpt4all-bindings/python/README.md @@ -49,3 +49,18 @@ messages = [{"role": "user", "content": "Name 3 colors"}] gptj.chat_completion(messages) ``` + +## Troubleshooting a Local Build +- If you're on Windows and have compiled with a MinGW toolchain, you might run into an error like: + ``` + FileNotFoundError: Could not find module '<...>\gpt4all-bindings\python\gpt4all\llmodel_DO_NOT_MODIFY\build\libllmodel.dll' + (or one of its dependencies). Try using the full path with constructor syntax. + ``` + The key phrase in this case is _"or one of its dependencies"_. The Python interpreter you're using + probably doesn't see the MinGW runtime dependencies. At the moment, the following three are required: + `libgcc_s_seh-1.dll`, `libstdc++-6.dll` and `libwinpthread-1.dll`. You should copy them from MinGW + into a folder where Python will see them, preferably next to `libllmodel.dll`. + +- Note regarding the Microsoft toolchain: Compiling with MSVC is possible, but not the official way to + go about it at the moment. MSVC doesn't produce DLLs with a `lib` prefix, which the bindings expect. + You'd have to amend that yourself.