Vector35 / Vector35/binaryninja-api

miniforge on windows fails to load

Open
#8,022 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Effort: Medium Impact: Low UI: Python Console
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

Trying to specify a python from miniforge (and potentially miniconda or other similar distributions on windows) can fail in binary ninja.

The main reason is that we don't specify the local library path for loading the dll and if the library links to other libraries in the same folder, it can fail. This is not the case for standard python.org downloads which is why we currently have this behavior.

To resolve this, first we need to update our documentation to describe the existing work-around (simply adding the appropriate path to your PATH environment variable) to the troubleshooting docs.

Alternatively, we could switch the loading of python.dll to use LoadLibraryEX with LOAD_WITH_ALTERED_SEARCH_PATH or SetDllDirectory but this requires much more testing to ensure it doesn't cause issues or break other existing python versions which this issue will track.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the troubleshooting documentation and add the existing PATH workaround for Miniforge-style Python installations on Windows. Done means users are told to add the appropriate library path to PATH; leave the LoadLibraryEx or SetDllDirectory alternative for separate investigation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.