小编Bra*_*ram的帖子

为什么 21.10 构建的二进制文件与 21.04 安装不兼容?

我不明白为什么在 21.10 上构建的二进制文件与 21.04 系统不兼容。

该二进制文件也链接到libc.so.621.04 操作系统版本上。

相同的二进制文件,在 21.10 系统上:

$ ldd turboledzd
    linux-vdso.so.1 (0x00007ffdc2595000)
    libhidapi-hidraw.so.0 => /lib/x86_64-linux-gnu/libhidapi-hidraw.so.0 (0x00007fdd64057000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdd63e2f000)
    libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007fdd63e06000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fdd64085000)
Run Code Online (Sandbox Code Playgroud)

在21.04系统上:

$ ldd turboledzd 
./turboledzd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./turboledzd)
    linux-vdso.so.1 (0x00007fff9c570000)
    libhidapi-hidraw.so.0 => /lib/x86_64-linux-gnu/libhidapi-hidraw.so.0 (0x00007f37ec402000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f37ec216000)
    libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f37ec1ed000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f37ec423000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f37ec1cb000)
Run Code Online (Sandbox Code Playgroud)

我的问题:

如果21.04 与21.10libc.so.6不兼容,那么为什么不调用 21.10 上的 libc libc.so.6libc.so.7

或者,更好的是,为什么它不与称为libglibc.so.2.34- 如果这是依赖项的东西联系起来?

compatibility versions shared-library glibc

12
推荐指数
3
解决办法
4411
查看次数

安装 32 位 libnvidia-gl 和 64 位版本

因为 linux 的 Steam 客户端只有 32 位二进制文​​件,所以我想在我的 64 位 Ubuntu 操作系统上安装libnvidia-gl:i386

但是,如果我这样做,包管理器想要卸载 cuda-11。但是,我需要 cuda-11。

如何在不干扰 cuda 的情况下让 64 位和 32 位版本的 libnvidia-gl 共存?

$ sudo apt install libnvidia-gl-455:i386
...
The following additional packages will be installed:
  libnvidia-common-455 libnvidia-compute-455 libnvidia-decode-455 libnvidia-encode-455 libnvidia-fbc1-455
The following packages will be REMOVED:
  cuda-11-1 cuda-demo-suite-11-1 cuda-drivers cuda-drivers-455 cuda-runtime-11-1 libnvidia-gl-455 libnvidia-ifr1-455 nvidia-driver-455
The following NEW packages will be installed:
  libnvidia-gl-455:i386
The following packages will be upgraded:
  libnvidia-common-455 libnvidia-compute-455 libnvidia-decode-455 libnvidia-encode-455 libnvidia-fbc1-455
5 upgraded, 1 newly …
Run Code Online (Sandbox Code Playgroud)

nvidia steam cuda

6
推荐指数
2
解决办法
534
查看次数

nvcc fatal:未为选项“gpu-architecture”定义值“sm_86”

当我尝试将 CUDA 与 Blender 2.82.a+dfsg-1 一起使用时,出现以下错误:

Compiling CUDA kernel ...
"nvcc" -arch=sm_86 --cubin "/usr/share/blender/scripts/addons/cycles/source/kernel/kernels/cuda/kernel.cu" -o "/home/bram/.cache/cycles/kernels/cycles_kernel_sm86_673C3180FADE8EDF0E80E61994C4DC92.cubin" -m64 --ptxas-options="-v" --use_fast_math -DNVCC -I"/usr/share/blender/scripts/addons/cycles/source" 
nvcc fatal   : Value 'sm_86' is not defined for option 'gpu-architecture'
CUDA kernel compilation failed, see console for details.
Run Code Online (Sandbox Code Playgroud)

根据 nvidia-smi 的报告,我的系统上安装了 CUDA 11.1

$ nvidia-smi 
Sun Dec 20 19:34:48 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.38       Driver Version: 455.38       CUDA Version: 11.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap| …
Run Code Online (Sandbox Code Playgroud)

blender cuda

6
推荐指数
1
解决办法
1万
查看次数

为 Ubuntu 软件中心开发 OpenGLES2 应用程序

我有一款适用于 iOS 和 Android 的游戏,现在我想将其移植到 Ubuntu。我计划将它与 Ubuntu 软件中心一起分发。最好通过应用内购买免费。

我的代码库目前基于 OpenGL ES2 并用 C++ 编写。我可以重写为 OpenGL,但必须拥有可编程着色器。固定管道 OpenGL 是不够的。

是否有一个功能可以让您在 Ubuntu 软件中心指定 OpenGL 要求?我想确保只有具有兼容硬件的 Ubuntu 用户才能下载我的游戏。

我可以使用任何 API 来获取合适的 OpenGL 上下文,还是我只希望为此使用 glx?还是必须使用 GTK?

software-center opengl application-development

5
推荐指数
1
解决办法
235
查看次数

如何阻止 apparmor 在日志中喷出

我尽量保持 dmesg 干净,这样我就可以在噪音中看到信号。然而,我对应用程序盔甲在日志中发送的垃圾邮件感到恼火:

[74339.538450] audit: type=1400 audit(1620404490.953:75): apparmor="DENIED" operation="open" profile="snap.chromium.chromium" name="/run/udev/data/c509:6" pid=33938 comm="ThreadPoolForeg" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Run Code Online (Sandbox Code Playgroud)

如何阻止创建这些消息?

dmesg apparmor

3
推荐指数
1
解决办法
1010
查看次数

libpulse-dev安装问题

Ubuntu 21.10 中似乎存在问题libpulse-dev,因为如果我想在完全最新的系统上安装 libsdl2-dev,我会得到:

以下软件包具有未满足的依赖关系:

libpulse-dev :依赖:libpulse0 (= 1:15.0+dfsg1-1ubuntu2) 但要安装 1:15.0+dfsg1-1ubuntu2.1

# dpkg --get-selections | grep hold
root@gamer2:/# apt update
Hit:1 https://repo.steampowered.com/steam stable InRelease
Hit:2 http://ca.archive.ubuntu.com/ubuntu impish InRelease                             
Hit:3 http://ca.archive.ubuntu.com/ubuntu impish-updates InRelease                     
Hit:4 http://security.ubuntu.com/ubuntu impish-security InRelease
Hit:5 http://ca.archive.ubuntu.com/ubuntu impish-backports InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
root@gamer2:/# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, …
Run Code Online (Sandbox Code Playgroud)

dependencies development pulseaudio software-installation

3
推荐指数
1
解决办法
1944
查看次数

debian/changelog 是否必须特定于版本?

我想创建一个适合多个操作系统版本的 debian 源代码包。

\n

最初,我的目标是动能,并采用以下变更日志格式:

\n
gfxi (1.3-1) kinetic; urgency=medium\n\n  * Add install and uninstall targets to Makefile.\n\n...\n
Run Code Online (Sandbox Code Playgroud)\n

手册中:

\n
 distributions lists one or more space-separated distributions where this version should be\n       installed when it is uploaded; it is copied to the Distribution field in the .changes\n       file.  distributions must be terminated by a semicolon (U+003B \xe2\x80\x98;\xe2\x80\x99).\n
Run Code Online (Sandbox Code Playgroud)\n

所以我将更改日志条目更改为:

\n
gfxi (1.3-2) jammy kinetic lunar; urgency=medium\n\n  * Add jammy and lunar releases.\n...\n
Run Code Online (Sandbox Code Playgroud)\n

debuild -S命令成功,但是当我使用 …

launchpad ppa source-packages changelog

3
推荐指数
1
解决办法
663
查看次数

无法升级到 22.10

我正在按照本指南升级我的 Ubuntu 操作系统。

我的系统是最新的,版本为 22.04,因此我希望能够升级到 22.10,但我没有:

软件更新对话框

此外,我的软件更新设置设置为“有新版本时通知我”。

升级设置

然而,事实并非如此。

如何强制将我的22.04升级到22.10版本?

upgrade

-4
推荐指数
1
解决办法
878
查看次数