Nixos
NixOS 建構錯誤:未找到“dbus/dbus.h”
我正在嘗試建構“nvidiaBeta”驅動程序,但無法建構 nvidia-settings 並出現錯誤
gtk+-2.x/ctkgridlicense.c:38:23:致命錯誤:dbus/dbus.h:沒有這樣的文件或目錄
我已經嘗試安裝各種 dbus 包,但我在我的 nix 商店中得到的最接近的東西是來自 dbus_cplusplus 派生的“dbus-c++/dbus.h”。在搜尋時,我讀到顯然我需要的內容應該包含在“dbus-libs”中,但它似乎在頻道 17.03 中不可用。
我似乎無法弄清楚應該在這個庫中提取哪個派生。我可以以某種方式解決這個問題並讓它使用我從 dbus_cplusplus 派生中得到的那個嗎?
正如已經提到的,Nix 在建構包時不會關心系統或使用者安裝的包,並且有問題的包需要顯式聲明其所有依賴項。
關於這個特定問題 - 該
dbus/dbus.h
文件可以在派生的dev
輸出中找到。dbus
Nix 還提供了用於覆蓋包定義的工具,我們可以使用這些工具來dbus.dev
輸入 nvidia 設置的建構輸入。將以下內容添加到configuration.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 系統上成功。