我想安装 ffmpeg 并启用 mp3lame本教程. 在步骤 2 中,我收到错误
未找到 libfaac
在步骤 5 中,安装 lame 时出现以下日志中的错误。为什么会失败?我该怎么办?
reach121@youngib:~/lame-3.98.4$ sudo checkinstall --pkgname=lame-ffmpeg --pkgversion="3.98.4" --backup=no --default --deldoc=yes
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@youngib ]
1 - Summary: [ Package created with checkinstall 1.6.2 ]
2 - Name: [ lame-ffmpeg ]
3 - Version: [ 3.98.4 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ lame-3.98.4 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ lame-ffmpeg ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
Enter a number to change any of them or press ENTER to continue:
Installing with make install...
========================= Installation results ===========================
Making install in mpglib
make[1]: Entering directory `/home/reach121/lame-3.98.4/mpglib'
make[2]: Entering directory `/home/reach121/lame-3.98.4/mpglib'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/reach121/lame-3.98.4/mpglib'
make[1]: Leaving directory `/home/reach121/lame-3.98.4/mpglib'
Making install in libmp3lame
make[1]: Entering directory `/home/reach121/lame-3.98.4/libmp3lame'
Making install in i386
make[2]: Entering directory `/home/reach121/lame-3.98.4/libmp3lame/i386'
make[3]: Entering directory `/home/reach121/lame-3.98.4/libmp3lame/i386'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/reach121/lame-3.98.4/libmp3lame/i386'
make[2]: Leaving directory `/home/reach121/lame-3.98.4/libmp3lame/i386'
Making install in vector
make[2]: Entering directory `/home/reach121/lame-3.98.4/libmp3lame/vector'
make[3]: Entering directory `/home/reach121/lame-3.98.4/libmp3lame/vector'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/reach121/lame-3.98.4/libmp3lame/vector'
make[2]: Leaving directory `/home/reach121/lame-3.98.4/libmp3lame/vector'
make[2]: Entering directory `/home/reach121/lame-3.98.4/libmp3lame'
make[3]: Entering directory `/home/reach121/lame-3.98.4/libmp3lame'
test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib"
/bin/bash ../libtool --mode=install /usr/bin/install -c 'libmp3lame.la' '/usr/local/lib/libmp3lame.la'
/usr/bin/install -c .libs/libmp3lame.lai /usr/local/lib/libmp3lame.la
/usr/bin/install -c .libs/libmp3lame.a /usr/local/lib/libmp3lame.a
chmod 644 /usr/local/lib/libmp3lame.a
ranlib /usr/local/lib/libmp3lame.a
PATH="$PATH:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/reach121/lame-3.98.4/libmp3lame'
make[2]: Leaving directory `/home/reach121/lame-3.98.4/libmp3lame'
make[1]: Leaving directory `/home/reach121/lame-3.98.4/libmp3lame'
Making install in frontend
make[1]: Entering directory `/home/reach121/lame-3.98.4/frontend'
make[2]: Entering directory `/home/reach121/lame-3.98.4/frontend'
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
/bin/bash ../libtool --mode=install /usr/bin/install -c 'lame' '/usr/local/bin/lame'
/usr/bin/install -c lame /usr/local/bin/lame
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/reach121/lame-3.98.4/frontend'
make[1]: Leaving directory `/home/reach121/lame-3.98.4/frontend'
Making install in Dll
make[1]: Entering directory `/home/reach121/lame-3.98.4/Dll'
make[2]: Entering directory `/home/reach121/lame-3.98.4/Dll'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/reach121/lame-3.98.4/Dll'
make[1]: Leaving directory `/home/reach121/lame-3.98.4/Dll'
Making install in debian
make[1]: Entering directory `/home/reach121/lame-3.98.4/debian'
make[2]: Entering directory `/home/reach121/lame-3.98.4/debian'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/reach121/lame-3.98.4/debian'
make[1]: Leaving directory `/home/reach121/lame-3.98.4/debian'
Making install in doc
make[1]: Entering directory `/home/reach121/lame-3.98.4/doc'
Making install in html
make[2]: Entering directory `/home/reach121/lame-3.98.4/doc/html'
make[3]: Entering directory `/home/reach121/lame-3.98.4/doc/html'
make[3]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/share/doc/lame/html" || /bin/mkdir -p "/usr/local/share/doc/lame/html"
/bin/mkdir: cannot create directory `/usr/local/share/doc': No such file or directory
make[3]: *** [install-pkghtmlDATA] Error 1
make[3]: Leaving directory `/home/reach121/lame-3.98.4/doc/html'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/reach121/lame-3.98.4/doc/html'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/reach121/lame-3.98.4/doc'
make: *** [install-recursive] Error 1
**** Installation failed. Aborting package creation.
Cleaning up...OK
Bye.
reach121@youngib:~/lame-3.98.4$
答案1
从我的评论中复制
这是最奇怪的错误……通常这是忘记在 mkdir 命令中使用“-p”的标志。您可以尝试手动运行该命令吗?test -z“/usr/local/share/doc/lame/html”|| /bin/mkdir -p“/usr/local/share/doc/lame/html”;另外,您能告诉我列出的路径中存在哪些目录吗?
最终发现问题在于 /usr/share 的权限不当。
答案2
这个问题已经在问库本图。
基本上,如果构建过程提示缺少 X 包,则需要安装其开发包。对于libfaac
,这是libfaac-dev
在 Ubuntu 下。
“没有这样的文件或目录”/usr/local/share/doc
不是权限错误,它表示/usr/local/share
缺少权限。权限错误应该是“权限被拒绝”。