为什么安装 LAME 失败?

为什么安装 LAME 失败?

我想安装 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缺少权限。权限错误应该是“权限被拒绝”。

相关内容