bash:./configure:安装 FFMPEG 时没有此文件或目录

bash:./configure:安装 FFMPEG 时没有此文件或目录

我正在尝试在 Ubuntu 14.04 中安装 FFMPEG。我得到了安装帮助 FFMPEG 安装与此同时,我收到了一个错误

`bash: ./configure: No such file or directory`

当我尝试运行此命令时出现此错误

./configure   --prefix="$HOME/ffmpeg_build"   --extra-cflags="-I$HOME/ffmpeg_build/include"   --extra-ldflags="-L$HOME/ffmpeg_build/lib"   --bindir="$HOME/bin"   --enable-gpl   --enable-libass   --enable-libfaac   --enable-libfreetype   --enable-libmp3lame  --enable-libtheora   --enable-libvorbis   --enable-libvpx   --enable-libx264   --enable-nonfree   --enable-x11grab

输出如下ls -la

m-usman@muhammad-usman:~/ffmpeg_sources/ffmpeg-0.9.2$ ls -la 
drwxr-xr-x 16 m-usman m-usman   4096 Aug  6 14:25 . 
drwxrwxr-x 10 m-usman m-usman   4096 Aug  6 14:38 ..
-rw-r--r--  1 m-usman m-usman 162704 May  3  2012 avconv.c
-rw-r--r--  1 m-usman m-usman  36942 May  3  2012 cmdutils.c
-rw-r--r--  1 m-usman m-usman   1284 May  3  2012 cmdutils_common_opts.h
-rw-r--r--  1 m-usman m-usman  11858 May  3  2012 cmdutils.h
-rw-r--r--  1 m-usman m-usman   3275 May  3  2012 common.mak
-rw-rw-r--  1 m-usman m-usman    421 Aug  6 14:34 config.fate
-rw-rw-r--  1 m-usman m-usman 137030 Aug  6 14:34 config.log
-rwxr-xr-x  1 m-usman m-usman 114524 May  3  2012 configure
-rw-r--r--  1 m-usman m-usman  18092 May  3  2012 COPYING.GPLv2
-rw-r--r--  1 m-usman m-usman  35147 May  3  2012 COPYING.GPLv3
-rw-r--r--  1 m-usman m-usman  26528 May  3  2012 COPYING.LGPLv2.1
-rw-r--r--  1 m-usman m-usman   7651 May  3  2012 COPYING.LGPLv3
-rw-r--r--  1 m-usman m-usman   1038 May  3  2012 CREDITS
drwxr-xr-x  3 m-usman m-usman   4096 May  3  2012 doc
-rw-r--r--  1 m-usman m-usman  68481 May  3  2012 Doxyfile
-rw-r--r--  1 m-usman m-usman 185387 May  3  2012 ffmpeg.c
-rw-r--r--  1 m-usman m-usman 107664 May  3  2012 ffplay.c
drwxr-xr-x  2 m-usman m-usman   4096 May  3  2012 ffpresets
-rw-r--r--  1 m-usman m-usman  41085 May  3  2012 ffprobe.c
-rw-r--r--  1 m-usman m-usman 159009 May  3  2012 ffserver.c
-rw-r--r--  1 m-usman m-usman    564 May  3  2012 INSTALL
drwxr-xr-x 13 m-usman m-usman  24576 May  3  2012 libavcodec
drwxr-xr-x  2 m-usman m-usman   4096 May  3  2012 libavdevice
drwxr-xr-x  4 m-usman m-usman   4096 May  3  2012 libavfilter
drwxr-xr-x  2 m-usman m-usman  12288 May  3  2012 libavformat
drwxr-xr-x 10 m-usman m-usman   4096 May  3  2012 libavutil
drwxr-xr-x  2 m-usman m-usman   4096 May  3  2012 libpostproc
drwxr-xr-x  2 m-usman m-usman   4096 May  3  2012 libswresample
drwxr-xr-x  7 m-usman m-usman   4096 May  3  2012 libswscale
-rw-r--r--  1 m-usman m-usman   2005 May  3  2012 LICENSE
-rw-r--r--  1 m-usman m-usman  19678 May  3  2012 MAINTAINERS
-rw-r--r--  1 m-usman m-usman   4459 May  3  2012 Makefile
drwxr-xr-x  2 m-usman m-usman   4096 May  3  2012 mt-work
drwxr-xr-x  2 m-usman m-usman   4096 May  3  2012 presets
-rw-r--r--  1 m-usman m-usman    164 May  3  2012 README
-rw-r--r--  1 m-usman m-usman      6 May  3  2012 RELEASE
-rw-r--r--  1 m-usman m-usman   3383 May  3  2012 subdir.mak
drwxr-xr-x  4 m-usman m-usman   4096 May  3  2012 tests
drwxr-xr-x  2 m-usman m-usman   4096 May  3  2012 tools
-rw-r--r--  1 m-usman m-usman      6 May  3  2012 VERSION
-rwxr-xr-x  1 m-usman m-usman   1419 May  3  2012 version.sh

我该如何修复它?

答案1

权限看起来不错

-rwxr-xr-x  1 m-usman m-usman 114524 May  3  2012 configure

但有些东西阻止了它的执行。这种情况可能由多种原因造成,最常见的有:

  1. 建筑学不匹配。例如,我的 Bash shell 显示在此处:

    $ file /bin/bash
    /bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x5bb332752cc304fa7fbb838bdf7d7766ffc7a8a1, stripped
    

    无法在 RaspberryPi (ARM) 或任何 32 位 (x86) 系统上运行:

    $ uname -a
    Linux raspberry 3.12.20 #1 PREEMPT Thu May 29 01:23:51 CEST 2014 armv6l GNU/Linux
    

    这似乎不是问题,因为据我所记得,configure文件是 shell 脚本,但在其他情况下也可能如此,所以我认为指出这一点也很有用。

  2. 安装选项阻止执行文件。您可以使用mount不带选项的命令来检查这一点。在下面的例子中,我可以运行~/executable.bin但不能/run/shm/file.sh

    tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1593900k)
    /dev/sda5 on /home type ext4 (rw,nosuid,nodev,nodiratime,relatime,user_xattr,barrier=1,data=ordered,discard)
    
  3. 其他更高级的场景例如

    3.1 SELinux 限制

    同样,事实并非如此,输出ls -l将在权限列中显示一个点(-rwxr-xr-x.

    3.2 ulimit 约束

    这不是你的问题,而且消息错误可能会有所不同(如果你认为这只会给答案增加噪音,请随意编辑帖子并删除此条目)。

PS:如果您也提供输出mount,我们将检查选项#2。

答案2

您无需执行复杂的编译过程即可在 Ubuntu 中安装 FFMPEG。FFMPEG 的所有软件包均位于官方 Ubuntu 存储库中。

您可以将它们安装为:

sudo apt-get install ffmpeg ffmpeg-doc winff-doc winff-gtk2 checkinstall yasm texi2html libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev frei0r-plugins-dev libdc1394-22 libdc1394-22-dev libgsm1 libgsm1-dev libopenjpeg-dev libschroedinger-1.0-0 libschroedinger-dev libschroedinger-doc libspeex-dev libvdpau-dev vflib3-dev librtmp-dev libva-dev libjack-jackd2-dev libass4 libass-dev libmodplug1 libmodplug-dev libvo-aacenc0 libvo-aacenc-dev libvo-amrwbenc0 libvo-amrwbenc-dev libopenal1 libopenal-dev libavcodec-extra-53 libavdevice-extra-53 libavfilter-extra-2 libavformat-extra-53 libavutil-extra-51 libpostproc-extra-52 libswscale-extra-2 libx264-dev libx264-123 x264 libxvidcore4 winff

** 从列表中删除 14.04 不可用的软件包(将在安装中提及)

相关内容