Flatpak和snapd包在其他发行版上可用,因为它们各自的包管理器是为在多个发行版上安装而构建的 [1][2]。Guix 包管理器也是如此吗?
我记得听说 Guix 软件包可以(或将要)安装在 Debian 上,但我找不到参考。
我正在尝试在 GuixSD v1.0.0 和 gcc 8.3.0 上编译Xash3D。
如下所示,ld
(GNU Linker)给我错误,ctr1.o 和 ctri.o 丢失。这些文件存在于 /gnu/store/{specicProgramName} 内多个目录下的其他位置,但是,令人惊讶的是,我无法建立到其他库所在的 ~/.guix_profile 的符号链接,即使具有 root 访问权限也是如此。它们有多个版本,大小不同,因此我假设它们仅与各自的程序兼容。此外。~/.guix_profile 似乎模拟了 Unix 系统的根目录,但是在 GuixSD 中,根目录和 ~/.guix_profile 都缺少 /usr,所以我不知道在哪里链接 c 对象,即使我有实际文件。
在本质上,ld
找不到 crt1.o、crti.o 和 libgcc_s.so,并且很可能就像以前一样,在链接或安装这 2 个 c 对象和 libgcc 后,cmake 将停止,并出现有关其他其他错误的进一步错误依赖关系。
无论如何,这是通过以下命令打印/记录的内容(这是安装 Xash3D 的推荐方法)
sudo cmake -DHL_SDK_DIR=../hlsdk -DXASH_SDL=yes -DXASH_VGUI=yes -DCMAKE_C_FLAGS="-m32" -DCMAKE_CXX_FLAGS="-m32" -DCMAKE_EXE_LINKER_FLAGS="-m32" ../ && sudo make
Run Code Online (Sandbox Code Playgroud)
-- The C compiler identification is GNU 9.1.0
-- The CXX compiler identification is GNU 9.1.0
-- Check for working …
Run Code Online (Sandbox Code Playgroud) 我刚刚在我的 Arch Linux 上安装了 GUIX,但是,我仍然很难理解一些概念。我知道配置文件是从中选择的包/gnu/store
,我可以通过获取<profile-dir>/etc/profile
. 但是,我不明白为什么我似乎有两个“默认”配置文件,作为符号链接存储在我的主目录中:
~/.guix-profile -> /var/guix/profiles/per-user/user/guix-profile
~/.config/guix/current -> /var/guix/profiles/per-user/user/current-guix
我能够找到一些信息,但还不够:
.guix-profile
您可以为其分配所需的角色。通常你会安装你想要一直使用的包的清单。
或者,您可以将它保留为“无清单”,用于您将只使用几天以上的一次性包装。这种方式可以方便地运行
guix install package-foo
和guix upgrade package-bar
(来自 GUIX 说明书)
.config/guix/current
:
运行 guix pull 的结果是一个
~/.config/guix/current
包含最新 Guix的配置文件。(“调用guix pull
”)
这两个配置文件有什么区别?为什么我需要这两个?我是否需要在登录时同时提供两者?