解决Ubuntun 12.04编译Mesa10.3 WARNING: 'aclocal-1.14' is missing on your system

在Ubuntu 12.04上安装Mesa时遇到'aclocal-1.14'缺失的警告,导致编译失败。通过安装autotools相关库(autotools-dev, automake, autoconf, m4, perl, libperl5.14)并运行'autoreconf -ivf'命令解决了问题。之后执行'./configure'和'make',编译过程中的其他错误如libtoolize和msgfmt可以通过安装libtool和libltdl-dev以及liblocale-msgfmt-perl库来解决。" 84754030,7703649,RobotFramework自动化测试实践,"['RobotFramework', '自动化测试', '测试框架']

安装Mesa时,最后一个错误报“WARNING: 'aclocal-1.14' is missing on your system.”,虽然是个Warning,但是无法进行下一步make,所以必须解决。根据warning给的提示以及网上搜的信息判断,这是一个时间戳变化导致的系统以为文件被修改,所以需要重新编译几个脚本文件。实际上我从官网下载来的源文件压缩包我根本没动过,应该是解压过程中系统版本不一样或者时间差导致的文件时间戳发生了变化而已(能想到这个,因为我从本机往US的服务器传文件时,解压缩时总是会提示文件的时间戳变为什么什么了,也就是常说的timestamp skew)。这错误比较少见,相关资料实在太少。能Google的都被我Google了,最后还是让我找到了解决方案,记录在这供后来人借鉴以节约时间。


该错误详情:

test@test:/usr/local/src/Mesa_build$ sudo make

CDPATH="${ZSH_VERSION+.}:" && cd /install/Mesa-10.3.5 && /bin/bash /install/Mesa-10.3.5/bin/missing aclocal-1.14 -I m4

/install/Mesa-10.3.5/bin/missing: line 81: aclocal-1.14: command not found

WARNING: 'aclocal-1.14' is missing on your system.

      You should only need it if you modified 'acinclude.m4' or

      'configure.ac' or m4 files included by 'configure.ac'.

      The 'aclocal' program is part of the GNU Automake package:

      <http://www.gnu.org/software/automake>

      It also requires GNU Autoconf, GNU m4 and Perl in order to run:

      <http://www.gnu.org/software/autoconf>

      <http://www.gnu.org/software/m4/>

      <http://www.perl.org/>

make: *** [/install/Mesa-10.3.5/aclocal.m4] Error 127


很自然的就想到按提示去装那几个autotools,就如这里建议的:http://stackoverflow.com/questions/24233721/build-m4-autoconf-automake-libtool-on-unix

You do not need to install the autotools. Most likely, the problem is caused by a timestamp skew and some files in the pcre tarball have been unpacked with incorrect timestamps. (This often happens if you unpack the tarball on a network drive.)Trying to recreate the configure script using the autotools is not the simplest solution.


解决方法如下:

  1. 用Synaptic Package Manager搜索安装这些库(显然有些是重复的,当时不清楚用哪个索性全添加了):

   autotools-dev

   automake

   autoconf2.13

   

<think>我们遇到的问题是:在Ubuntu上运行Postman时显示错误信息:"/user.slice/user-1005.slice/session-c1.scope is not a snap cgroup"。这通常是因为Postman是通过Snap安装的,而当前会话的cgroup配置不符合Snap的预期。 解决方案: 1. 重新启动系统:有时简单的重启可以解决cgroup的临时问题。 2. 如果重启无效,尝试使用以下命令重新挂载cgroup: ```bash sudo systemctl restart snapd ``` 3. 如果问题仍然存在,可以尝试重新安装Postman: - 先卸载: ```bash sudo snap remove postman ``` - 再重新安装: ```bash sudo snap install postman ``` 4. 如果不想使用Snap安装,可以改用其他方式安装Postman: - 方法一:下载官方tar包解压运行 1. 访问 [Postman下载页面](https://www.postman.com/downloads/) 选择Linux版本(64位) 2. 解压下载的文件: ```bash tar -xzf Postman-linux-x64-*.tar.gz -C /opt ``` 3. 创建启动器: ```bash sudo ln -s /opt/Postman/Postman /usr/bin/postman ``` 4. 创建桌面快捷方式: ```bash cat > ~/.local/share/applications/postman.desktop <<EOL [Desktop Entry] Name=Postman Exec=/opt/Postman/Postman Icon=/opt/Postman/app/resources/app/assets/icon.png Terminal=false Type=Application Categories=Development; EOL ``` - 方法二:使用官方的APT仓库(如果有) 5. 检查Snap的cgroup配置: - 查看当前cgroup挂载情况:`mount | grep cgroup` - 确保有类似以下输出: ``` cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime) ``` 6. 更新系统和Snap: ```bash sudo apt update && sudo apt upgrade sudo snap refresh ``` 7. 如果问题仍然存在,可以尝试重新挂载cgroup2: ```bash sudo umount /sys/fs/cgroup/unified sudo mount -t cgroup2 none /sys/fs/cgroup/unified ``` 注意:操作cgroup需要谨慎,建议在专业人士指导下进行。 如果以上方法都无法解决,建议在Postman的官方论坛或GitHub仓库中搜索类似问题。 §§相关问题§§ 1. Ubuntu中Snap安装的应用常见问题有哪些? 2. 如何解决Snap应用的cgroup挂载错误? 3. 在Ubuntu中如何手动安装Postman? 4. 如何查看和修复Linux系统的cgroup配置? 5. 除了Snap,还有哪些在Ubuntu上安装Postman的方法?</think>### 解决 Ubuntu 中 Postman 报错 `/user.slice/user-1005.slice/session-c1.scope is not a snap cgroup` #### 问题原因 此错误通常发生在使用 Snap 安装的 Postman 上,表明系统 cgroup (控制组) 配置与 Snap 包管理器的预期不符。常见原因: 1. **系统更新后未重启** 2. **Snap 服务未正确启动** 3. **cgroup 文件系统挂载问题** 4. **用户会话与 Snap 环境冲突** #### 完整解决方案 ##### 方法一:重启系统 (首选) ```bash sudo reboot ``` - 90% 的情况可通过重启解决 - 重启会重建 cgroup 挂载点 ##### 方法二:手动重启 Snap 服务 ```bash # 停止 Snap 服务 sudo systemctl stop snapd # 清理无效挂载点 sudo umount /tmp/snap.* 2>/dev/null # 重启服务 sudo systemctl start snapd # 验证状态 systemctl status snapd ``` ##### 方法三:修复 cgroup 挂载 ```bash # 卸载现有 cgroup sudo umount /sys/fs/cgroup/* 2>/dev/null # 重新挂载 cgroup sudo mount -t cgroup2 none /sys/fs/cgroup # 重启 Snap sudo systemctl restart snapd ``` ##### 方法四:改用非 Snap 安装 1. 卸载 Snap 版: ```bash sudo snap remove postman ``` 2. 下载官方 .tar.gz 包: ```bash wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz ``` 3. 解压安装: ```bash sudo tar -xzf postman.tar.gz -C /opt sudo ln -s /opt/Postman/Postman /usr/local/bin/postman ``` 4. 创建桌面快捷方式: ```bash cat <<EOF > ~/.local/share/applications/postman.desktop [Desktop Entry] Name=Postman Exec=/opt/Postman/Postman Icon=/opt/Postman/app/resources/app/assets/icon.png Terminal=false Type=Application Categories=Development; EOF ``` #### 预防措施 ```bash # 1. 更新系统 sudo apt update && sudo apt upgrade -y # 2. 清理旧内核 (防止挂载冲突) sudo apt autoremove --purge # 3. 修复 Snap 环境 sudo snap repair ``` #### 验证修复 ```bash # 检查 cgroup 挂载 mount | grep cgroup # 检查 Snap 状态 snap services ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值