Missing libstdc++.so.6 in my own packed python package

Hi,

I have been trying to build a custom python package. But I get that error when It’s runs. I think it’s a bad config. But I am not sure where!

Error: OSError: libstdc++.so.6: cannot open shared object file: No such file or directory

[START][2023-12-23 19:15:23] LSP logging initiated
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        'Traceback (most recent call last):\n  File "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/.autotools-language-server-wrapped", line 9, in <module>\n'
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        '    sys.exit(main())\n             ^^^^^^\n  File "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/lib/python3.11/site-packages/autotools_language_server/__main__.py", line 77, in main\n    parser = _get_parser("make")\n'
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        '             ^^^^^^^^^^^^^^^^^^^\n  File "tree_sitter_languages/core.pyx", line 19, in tree_sitter_languages.core.get_parser\n'
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        '  File "tree_sitter_languages/core.pyx", line 14, in tree_sitter_languages.core.get_language\n'
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        '  File "/nix/store/ghmism11sn542bmm10l7s8yvwg0ixqnr-python3.11-tree-sitter-0.20.4/lib/python3.11/site-packages/tree_sitter/__init__.py", line 131, in __init__\n'
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        "    self.lib = cdll.LoadLibrary(library_path)\n"
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        '               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "/nix/store/qp5zys77biz7imbk6yy85q5pdv7qk84j-python3-3.11.6/lib/python3.11/ctypes/__init__.py", line 454, in LoadLibrary\n'
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        "    return self._dlltype(name)\n"
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        '           ^^^^^^^^^^^^^^^^^^^\n  File "/nix/store/qp5zys77biz7imbk6yy85q5pdv7qk84j-python3-3.11.6/lib/python3.11/ctypes/__init__.py", line 376, in __init__\n'
[ERROR][2023-12-23 19:15:23] .../vim/lsp/rpc.lua:675    "rpc"   "/nix/store/qshnx9lwx0wf42kz40bgcjxzmb2cg4gs-python3.11-autotools-language-server-0.0.13/bin/autotools-language-server" "stderr"        "    self._handle = _dlopen(self._name, mode)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^\nOSError: libstdc++.so.6: cannot open shared object file: No such file or directory\n"

My config:

{ pkgs, ... }:

let
    tree-sitter-lsp = pkgs.python3.pkgs.buildPythonPackage rec {
        pname = "tree-sitter-lsp";
        version = "0.0.10";
        format = "pyproject";
        src = pkgs.fetchPypi {
            inherit pname version;
            hash = "sha256-88/rVY/yTcOEexZU6W9/l+LjLEo+QXl/thGRrp2CDGU=";
        };
        propagatedBuildInputs = with pkgs.python311Packages; [
            colorama
            jinja2
            jsonschema
            pygls
            tree-sitter
        ];
        nativeBuildInputs = with pkgs.python311Packages; [
            setuptools
            setuptools-generate
            setuptools-scm
        ];
    };

    tree-sitter-languages = pkgs.python3.pkgs.buildPythonPackage rec {
        pname = "tree-sitter-languages";
        version = "1.8.0";
        format = "wheel";
        src = pkgs.fetchurl {
            url = "https://files.pythonhosted.org/packages/7a/07/7ee99ec9222cf5f1505bfb34c95c8acddd49debad6848d9ff555e2b56817/tree_sitter_languages-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
            hash = "sha256-ltva/50xfRk0UbxbVmCYcXCWOB1nZ0+eZfuPDr6YyEc=";
        };
        propagatedBuildInputs = with pkgs.python311Packages; [
            tree-sitter
            tree-sitter-lsp
        ];
    };
in 
pkgs.python3.pkgs.buildPythonPackage rec {
    pname = "autotools-language-server";
    version = "0.0.13";
    format = "pyproject";
    src = pkgs.fetchPypi {
        inherit pname version;
        hash = "sha256-xYHGmDeVyXrDzVqmpqaAKylaVB+hj+grZBF+sHAvFQg=";
    };
    propagatedBuildInputs = with pkgs; [
        tree-sitter-languages
    ];
    nativeBuildInputs = with pkgs.python311Packages; [
        setuptools
        setuptools-generate
        setuptools-scm
    ];
}

How I called that file:

{ config, pkgs, inputs, ... }:

let
    autotools-language-server = import ./autotools-ls.nix { pkgs = pkgs; };
in
{
    programs.neovim = {
        enable = true;
        extraLuaConfig = builtins.readFile ./init.lua;
        package = pkgs.neovim-nightly;
        vimAlias = true;
        withPython3 = true;
        defaultEditor = true;
        extraPackages = with pkgs; [
            autotools-language-server
        ];

If you need anything further, please let me know!

Thanks for your help :pray:

I managed to fix that problem. By building tree-sitter-languages from source instead of wheel.

1 Like