Vector35 / Vector35/debugger

Missing libncurses and libpanel on Archlinux

Open
#147 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug CI Impact: High
Dominant language
C++
Stars
331
Forks
33
PR merge metrics
No merged PRs in 30d

Description

When enabling the debugger on the latest version of archlinux, I get this error:

Plugin module '/home/user/binaryninja/plugins/libdebuggercore.so' failed to load
dlerror() reports: libncurses.so.6: cannot open shared object file: No such file or directory
Loaded native plugin arch_arm64
Loaded native plugin arch_armv7
Unable to initialize Python API. Select a valid Python Interpreter in Settings.
Native plugin pythonplugin failed to load
Plugin module '/home/user/binaryninja/plugins/libdebuggerui.so' failed to load
dlerror() reports: libdebuggercore.so.1: cannot open shared object file: No such file or directory
No scripting providers loaded. Plugins can not be installed.
No scripting providers loaded. Plugins can not be installed.
No scripting providers loaded. Plugins can not be installed.
No scripting providers loaded. Plugins can not be installed.
No scripting providers loaded. Plugins can not be installed.

The Python API and plugins also fail to load when the debugger is enabled.

The ncurses package for archlinux includes these files:

usr/lib/libncurses++.so
usr/lib/libncurses++w.so
usr/lib/libncurses++w.so.6
usr/lib/libncurses++w.so.6.3
usr/lib/libncurses++w_g.a
usr/lib/libncurses.so
usr/lib/libncursesw.so
usr/lib/libncursesw.so.6
usr/lib/libncursesw.so.6.3
usr/lib/libncursesw_g.a

but not libncurses.so.6

Running ldd on the binaries, libpanel.so.6 seems to be in a similar situation, as archlinux only has these:

usr/lib/libpanel.so
usr/lib/libpanelw.so
usr/lib/libpanelw.so.6
usr/lib/libpanelw.so.6.3
usr/lib/libpanelw_g.a

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 by reproducing the failure with the debugger enabled on Arch Linux and inspect libdebuggercore.so and libdebuggerui.so with ldd. Compare their required libncurses.so.6 and libpanel.so.6 dependencies with the libraries provided by Arch's ncurses package. Done means the debugger, Python API, and plugins load successfully on the reported environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
arch-linux, linux
Domain
devtools, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.