Skip to content

Linux nvim 0.12.4 and 0.12.5 packages have invalid DT_NEEDED libunibilium.so.. #57

Description

@lutianyu2001

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Description

The current Linux nvim packages for both 0.12.4 and 0.12.5 appear to contain an invalid DT_NEEDED entry for unibilium.

I reproduced the issue with both versions using both Pixi and Conda.

For nvim 0.12.4 (h6367a8b_0):

$ readelf -d "$CONDA_PREFIX/bin/nvim" | grep unibilium
0x0000000000000001 (NEEDED)             Shared library: [libunibilium.so..]

$ nvim --version
nvim: error while loading shared libraries: libunibilium.so..: cannot open shared object file: No such file or directory

The installed unibilium library itself is correct:

$ readelf -d "$CONDA_PREFIX/lib/libunibilium.so.4.0.2" | grep SONAME
0x000000000000000e (SONAME)             Library soname: [libunibilium.so.4]

I also directly extracted the original .conda artifact without installing it:

$ cph x nvim-0.12.4-h6367a8b_0.conda --dest /tmp/nvim-conda-raw
$ readelf -d /tmp/nvim-conda-raw/bin/nvim | grep unibilium
0x0000000000000001 (NEEDED)             Shared library: [libunibilium.so..]

Therefore, the invalid DT_NEEDED entry is already present in the published .conda artifact and is not introduced by Conda, Pixi, or Rattler during installation.

Scope

I also reproduced the same problem with nvim 0.12.5. So this issue affects at least:

  • nvim 0.12.4
  • nvim 0.12.5

Expected

DT_NEEDED: libunibilium.so.4

Actual

DT_NEEDED: libunibilium.so..

Temporary Fix

As a temporary workaround, replacing the invalid dependency fixes the executable:

NVIM_BIN="$(readlink -f "$(command -v nvim)")"
patchelf --replace-needed 'libunibilium.so..' 'libunibilium.so.4' "$NVIM_BIN"

After that, nvim starts normally.

Installed packages

# Name                     Version          Build            Channel
_openmp_mutex              4.5              20_gnu           conda-forge
libgcc                     16.2.0           ha9f2e26_4       conda-forge
libgomp                    16.2.0           he0feb66_4       conda-forge
libiconv                   1.18             h0cb94f2_3       conda-forge
libstdcxx                  16.2.0           h934c35e_4       conda-forge
libtree-sitter             0.25.9           h280c20c_0       conda-forge
libutf8proc                2.11.3           hfe17d71_0       conda-forge
libuv                      1.52.1           h280c20c_1       conda-forge
lua-lpeg                   1.1.0            h280c20c_5       conda-forge
luajit-openresty           2.1_20260824     hebe6cf0_0       conda-forge
luv                        1.51.0           h73b1eb8_1       conda-forge
nvim                       0.12.4           h6367a8b_0       conda-forge
patchelf                   0.19.1           hee9eb32_1       conda-forge
unibilium                  2.1.4            hebe6cf0_0       conda-forge

Environment info

active environment : nvim-test
    active env location : /scratch16/lflorea1/slu/PRGM/miniforge3/envs/nvim-test
            shell level : 1
       user config file : /home/tlu47/.condarc
 populated config files : /scratch16/lflorea1/slu/PRGM/miniforge3/.condarc
                          /home/tlu47/.condarc
          conda version : 26.7.1
    conda-build version : not installed
         python version : 3.14.6.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=sapphirerapids
                          __conda=26.7.1=0
                          __glibc=2.28=0
                          __linux=4.18.0=0
                          __unix=0=0
       base environment : /scratch16/lflorea1/slu/PRGM/miniforge3  (writable)
      conda av data dir : /scratch16/lflorea1/slu/PRGM/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /scratch16/lflorea1/slu/PRGM/miniforge3/pkgs
                          /home/tlu47/.conda/pkgs
          notices cache : /home/tlu47/.cache/conda/notices
       envs directories : /scratch16/lflorea1/slu/PRGM/miniforge3/envs
                          /home/tlu47/.conda/envs
    temporary directory : /tmp
               platform : linux-64
             user-agent : conda/26.7.1 requests/2.34.2 CPython/3.14.6 Linux/4.18.0-477.21.1.el8_8.x86_64 rocky/8.8 glibc/2.28 solver/libmamba conda-libmamba-solver/26.7.0 libmambapy/2.5.0
                UID:GID : 6078:1083
             netrc file : None
           offline mode : False

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions