我正在尝试在 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) 鉴于 Guix 是一个 GNU 项目,因此不guix search spotify
返回任何内容也就不足为奇了。Spotify 提供 Debian 和 Snap 软件包;有没有一种方法可以自动将这些包之一,甚至包流本身转换为 Guix 包定义?更好的是,有人已经这样做了吗?
Guix 基于 Nix。我知道 Guix 使用 Scheme 并且在 repos 中只有免费软件。
它们之间的主要区别是什么?