Linux manim安装

ERROR

No package ‘pangocairo’ found

Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [31 lines of output]
      Package pangocairo was not found in the pkg-config search path.
      Perhaps you should add the directory containing `pangocairo.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'pangocairo' found

看报错信息, 是pangocairo的问题, 手动下载编译安装
从官网下载pango-1.51.0.
解压后进入文件夹内
在这里插入图片描述
可知是使用mesonninjia构建的.
首先下载

pip3 install meson ninja

构建的一般过程如下:

# 通过--prefix指定install路径, 不然默认装到系统路径(无权限) 
  meson setup $builddir --prefix=${path to install}
  ninja -C $builddir
  ninja -C $builddir install

可在文件夹下新建一个build作为$builddir, install位置可以就设为pango-1.51.0文件夹.
按步骤安装完毕后, 在.bashrc中写入pangocairo.pc所在的位置
先查找

$ find ./ -name "pangocairo.pc"
./lib/x86_64-linux-gnu/pkgconfig/pangocairo.pc
./build/meson-private/pangocairo.pc

所以在.bashrc中写入

# pkg-config path
export PKG_CONFIG_PATH="/path/to/pango-1.51.2/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH"

source ~/.bashrc再次进行pip install manim即可.

Original error: libpangocairo-1.0.so.0: cannot open shared object file: No such file or directory

类似地, 在.bashrc加入环境变量

# 修改为对应的pango路径
export LD_LIBRARY_PATH="/pango/path/pango-1.51.2/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH"

ImportError: /lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined symbol: ffi_type_uint32, version LIBFFI_BASE_7.0

根据comment, 设置环境变量

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7

Unknown encoder ‘libx264’

卸载重装ffmpeg即可

FileNotFoundError: [Errno 2] No such file or directory: ‘xdg-open’

视频已经成功生成, 应该是在服务器终端无法自动打开的意思?
这个comment说更新sededu, 下载之后好像不起作用.
参考这个, 尝试手动安装xdg-utils.
下载xdg-utils-v1.2.1

./configure --prefix=/path/to/install
make && make install -j8

/usr/bin/xmlto: not found/home/stlinpeiyang/lpy22/software/xmlto-0.0.28

安装xmlto

尝试从这里尝试安装xmlto

./configure --prefix=/path/to/install
make && make install -j8

没问题, 填入环境变量再次尝试安装xdg
失败 暂时no way

直接安装deb包

从这里下载xdg-utils_1.1.3
使用

# 应该要使用绝对路径才有效
dpkg -x xdg-utils_1.1.3-2ubuntu1_all.deb /path/to/install

然后就会在路径下生成usr/bin等文件夹和文件

(py_LLM) user@ubuntu:~/lpy22/software$ ls .local/usr/bin/
browse            xdg-desktop-menu  xdg-icon-resource  xdg-open         xdg-settings
xdg-desktop-icon  xdg-email         xdg-mime           xdg-screensaver

然后加入环境变量.

安装cairo

下载文件cairo-1.18.0

 error: unknown type name ‘pixman_dither_t’; did you mean ‘pixman_filter_t’?
  954 |     pixman_dither_t pixman_dither = _cairo_dither_to_pixman_dither (source->dither);
      |     ^~~~~~~~~~~~~~~
      |     pixman_filter_t
../src/cairo-image-surface.c:954:37: error: implicit declaration of function ‘_cairo_dither_to_pixman_dither’ [-Werror=implicit-function-declaration]
  954 |     pixman_dither_t pixman_dither = _cairo_dither_to_pixman_dither (source->dither);
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/cairo-image-surface.c:955:5: error: implicit declaration of function ‘pixman_image_set_dither’; did you mean ‘pixman_image_set_filter’? [-Werror=implicit-function-declaration]
  955 |     pixman_image_set_dither (surface->pixman_image, pixman_dither);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
      |     pixman_image_set_filter
cc1: some warnings being treated as errors
[171/722] Compiling C object src/libcairo.so.2.11800.0.p/cairo-pdf-surface.c.o
ninja: build stopped: subcommand failed.

遂放弃.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/485978.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

青少年扁平足也需要手术?家长可千万不要忽视!

近日,在门诊遇到一位年轻妈妈带着孩子来看诊,反应孩子从一年前体育活动时就莫名喊双脚疼,长时间走路或者站立疼痛会加重,休息了就好些,担心孩子脚是不是有什么问题。医生听了先给孩子做了查体,后又让孩子脱…

基于ArUco码测量蓝色区域长度

基于ArUco码测量蓝色区域长度 ,并把各个参数画在图上

【郭林保大夫】——这些事情做到了,想患上帕金森都难!

郭林保大夫说:帕金森病的发病原因尚不完全清楚,但可能与多种因素有关,包括遗传因素、环境因素、神经系统老化等。具体病因可能是这些因素相互作用的结果。病情后期,严重程度会因个体差异而异。一些患者可能出现严重的运动障碍&…

JVM系列之JVM体系(一)

一、前言 为什么要学习了解Java虚拟机 1.我们需要更加清楚的了解Java底层是如何运作的,有利于我们更深刻的学习好Java。 2.对我们调试错误提供很宝贵的经验。 3.这是合格的Java程序必须要了解的内容。 基于此,我打算出一个Java虚拟机的系列&#xf…

电脑哥的励志创业路:蹭别人的电脑做抖店

我是王路飞。 没有一步到位的创业项目,也没有一击必中的解决方法,有的只是需要时刻解决的当下问题。 做事/创业/成长/生活/人生,都不要追求百分百的圆满,不要抱有一帆风顺的幻想,不要期待十全十美的结果。 它们的第…

windows一键快速安装python方法

正常我们安装python的时候,需要先去下载python压缩包,然后再一步步安装,今天发现一个windows10下,一键安装python的方法; 电脑环境:windows10以上 安装方法: 0:在应用商店搜索pyt…

OpenHarmony使用智能指针管理动态分配内存对象

概述 智能指针是行为类似指针的类,在模拟指针功能的同时提供增强特性,如针对具有动态分配内存对象的自动内存管理等。 自动内存管理主要是指对超出生命周期的对象正确并自动地释放其内存空间,以避免出现内存泄漏等相关内存问题。智能指针对…

【数据结构取经之路】队列循环队列

目录 引言 队列的性质 队列的基本操作 初始化 判空 销毁 队列的长度 插入 删除 返回队头元素 循环队列 假溢出 空与满的判定 实现 初始化 插入 判空 销毁 删除 返回队列长度 返回队列头元素 判满 引言 队列和栈一样,也是数据结构的一种&…

python初级2条件与循环笔记

两个课堂小练习: 1、(计算圆柱体的体积) 编写一个读取圆柱的半径和高并利用公式计算圆柱体底面积和体积的程序 iimport math reval(input("enter the r")) heval(input("enter the h")) arear*r*math.pi print("the area ",area,…

java 三元搜索 - 迭代与递归(Ternary Search)

计算机系统使用不同的方法来查找特定数据。有多种搜索算法,每种算法更适合特定情况。例如,二分搜索将信息分为两部分,而三元搜索则执行相同的操作,但分为三个相等的部分。值得注意的是,三元搜索仅对排序数据有效。在本…

SELinux详解

文章目录 SELinux详解什么是SELinux当初设计的目标:避免资源的误用传统的文件权限与账号主要的关系:自主访问控制(DAC)以策略规则制定特定进程读取特定文件:强制访问控制(MAC) SELinux的运行模式安全上下文进程与文件SELinux类型字段的相关性…

代码随想录算法训练营第五十一天|309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费、股票问题总结

309.最佳买卖股票时机含冷冻期 刷题https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown/description/文章讲解https://programmercarl.com/0309.%E6%9C%80%E4%BD%B3%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E6%97%B6%E6%9C%BA%E5%90%AB%E5%86%B7%E5%8…

java第一次作业(二)

先写思路,再写代码,思路清晰,才能写对代码 7-6 求12...n的和 思路: 运用expression的字符串输出 重点: expression输出 代码: import java.util.Scanner; public class Main {public static void main…

Vue.js前端开发零基础教学(三)

目录 2.6 计算属性 2.7侦听器 2.8 样式绑定 2.8.1 绑定class属性 2.8.2 绑定style属性 2.9 阶段案例——学习计划表 2.6 计算属性 概念:Vue提供了计算属性来描述依赖响应式数据的复杂逻辑。 计算属性可以实时监听数据的变化,返回一个计算…

爬虫Day3

用到的网页--豆瓣电影Top250 需要爬取信息: 数据保存在网页源代码中,是服务加载方式。先拿到网页源代码--request。再通过re提取想要的信息---re。 新知识:用csv存数据,可以用excel表格展示数据 import csv result obj.findite…

AI大模型引领未来智慧科研暨ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

浅谈WPF之MVVM工具包

在之前的WPF示例中,都会用到一个MVVM框,也是一个比较常的MVVM框架,就是MVVM工具包【CommunityToolkit.Mvvm】,今天专门以一个简单的小例子,简述一下MVVM工具包的常见用法,仅供学习分享使用,如有…

Docker 安装 Nginx 容器,反向代理

Docker官方镜像https://hub.docker.com/ 寻找Nginx镜像 下载Nginx镜像 docker pull nginx #下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest ) docker pull nginx:xxx #下载指定版本的Nginx镜像 (xxx指具体版本号)检查当前所有Docker下载的镜像 docker…

Spring Security之认证过滤器

前言 上回我们探讨了关于Spring Security,着实复杂。这次咱们聊的认证过滤器就先聊聊认证功能。涉及到多方协同的功能,咱分开聊。也给小伙伴喘口气,嘻嘻。此外也是因为只有登录认证了,才有后续的更多功能集成的可能。 认证过滤器…

unity学习(69)——多人位置同步

简单的很,每个客户端向服务器发送位置信息,服务器再把这些位置信息发送给其他客户端。 1.客户端发送。 1.1在SocketModel脚本中添加一个新的类MoveDTO public class MoveDTO {public string Id{get; set;}public int Dir{get;set;}public Assets.Mode…