NixOS ビルドエラー: 'dbus/dbus.h' が見つかりません。

NixOS ビルドエラー: 'dbus/dbus.h' が見つかりません。

"nvidiaBeta"ドライバをビルドしようとしていますが、nvidia設定をビルドできず、エラーが発生します。

gtk+-2.x/ctkgridlicense.c:38:23: 致命的なエラー: dbus/dbus.h: そのファイルやディレクトリはありません。

さまざまなdbusパッケージをインストールしようとしましたが、nixストアから入手した最も近いのは、dbus_cplusplusフォークの「dbus-c ++ / dbus.h」でした。検索中に明らかに必要なものが「dbus-libs」に含まれるべきであることを読んでいましたが、チャンネル17.03では利用できないようです。

このライブラリにどの派生物を導入すべきかわからないようです。どういうわけかこの問題を解決し、dbus_cplusplusフォークで得られた問題を使用することができますか?

ベストアンサー1

すでに述べたように、Nixはパッケージをビルドするときにシステムやユーザーがインストールしたパッケージを気にせず、関連パッケージはすべての依存関係を明示的に宣言する必要があります。

この特定の質問に関連して、ファイルは派生結果にありますdbus/dbus.h。 Nixは、nvidiaで設定したビルド入力を入力するために使用できるパッケージ定義を上書きするツールも提供しています。以下を追加してください。devdbusdbus.devconfiguration.nix

nixpkgs.config.packageOverrides = pkgs:
{
  linuxPackages = pkgs.linuxPackages.extend(self: super: {
    nvidia_x11_beta = super.nvidia_x11_beta // {
      settings = super.nvidia_x11_beta.settings.overrideAttrs(old: {
        buildInputs = old.buildInputs ++ [ pkgs.dbus.dev ];
      });
    };
  });
};

17.03 システムでビルドが成功する可能性があります。

おすすめ記事