VLC4Android 每次只编译一个库的原因,好像是缺少autopoint

每次只编译一个库的原因,好像是缺少autopoint

root@Ubuntu32:/home/zhangbin/vlc/android/android# sh compile.sh 

For an ARMv6 device without FPU, you need a build without FPU:
$ export NO_FPU=1
For an ARMv5 device or the Android emulator, you need an ARMv5 build:
$ export NO_ARMV6=1


If you plan to use a release build, run 'compile.sh release'
VLC source found
Building tools
You are ready to build VLC and its contribs
Building the contribs
Guessing build system... i686-linux-gnu
Creating configuration file... config.mak
Bootstrap completed.  这好像是vlc的bootstrap


Run "make" to start compilation.



Other targets:
 * make install      same as "make"
 * make prebuilt     fetch and install prebuilt binaries
 * make list         list packages
 * make fetch        fetch required source tarballs
 * make fetch-all    fetch all source tarballs
 * make distclean    clean everything and undo bootstrap
 * make mostlyclean  clean everything except source tarballs
 * make clean        clean everything
 * make package      prepare prebuilt packages
make: Nothing to be done for `fetch'.
mkdir -p -- /home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/share/aclocal && cd gnutls && autoreconf -fiv -I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/share/aclocal
touch -r .ffmpeg .dep-ffmpeg

cd postproc && 

CC="arm-linux-androideabi-gcc --sysroot=/home/zhangbin/android/android-ndk-r8e/platforms/android-9/arch-arm"

 CXX="arm-linux-androideabi-g++ 

--sysroot=/home/zhangbin/android/android-ndk-r8e/platforms/android-9/arch-arm"

 LD="arm-linux-androideabi-ld" AR="arm-linux-androideabi-ar" 

RANLIB="arm-linux-androideabi-ranlib"

STRIP="arm-linux-androideabi-strip" 

PATH="/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/bin:/home/zhangbin/vlc/android/android/vlc/extras/tools/build/bin:/home/zhangbin/vlc/android/android/vlc/extras/tools/build/bin:/home/zhangbin/android/android-ndk-r8e/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-  这是NDK的工具啊x86/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/zhangbin/android/android-sdk-linux/platform-tools:/home/zhangbin/android/android-sdk-linux/tools"   这SDK的工具

vlc的extra工具,这几个工具,我好像又在系统里头自己装了下???

cmake yasm ragel



root@Ubuntu32:/home/zhangbin/vlc/android/android# apt-get install ragel  安装ragel 库。
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  ragel
0 upgraded, 1 newly installed, 0 to remove and 121 not upgraded.
Need to get 980 kB of archives.
After this operation, 2,221 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/universe ragel i386 6.7-1build1 [980 kB]
Fetched 980 kB in 6s (147 kB/s)                                                                                                                               
Selecting previously unselected package ragel.
(Reading database ... 176015 files and directories currently installed.)
Unpacking ragel (from .../ragel_6.7-1build1_i386.deb) ...
Processing triggers for man-db ...
Setting up ragel (6.7-1build1) ...
root@Ubuntu32:/home/zhangbin/vlc/android/android# 


CPPFLAGS="-g-mfpu=vfpv3-d16 -mcpu=cortex-a8 -mthumb -mfloat-abi=softfp-O2

-I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include 

-I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include

-I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include"


 CFLAGS=" -g -mfpu=vfpv3-d16 -mcpu=cortex-a8 -mthumb -mfloat-abi=softfp -O2

 -I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include 

-I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include

 -I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include 

-g" 


CXXFLAGS=" -g -mfpu=vfpv3-d16 -mcpu=cortex-a8 -mthumb -mfloat-abi=softfp -O2

-I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include -I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include

 -I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include -g" 


LDFLAGS=" -L/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/lib" 

/configure \         这是在配置postproc么???

--extra-cflags="-g -mfpu=vfpv3-d16 -mcpu=cortex-a8 -mthumb -mfloat-abi=softfp -O2 -I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include -I/home/zhangbin/android/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include"  \

--extra-ldflags=" -L/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/lib" 这居然是contrib里的,难道是系统库?

原来是编译好的vlc的系统静态库都放在这个目录下,作为链接用。


--cc="arm-linux-androideabi-gcc   交叉编译工具链

--sysroot=/home/zhangbin/android/android-ndk-r8e/platforms/android-9/arch-arm"  

这是工具链的sysroot,里头都是android系统相关的库。


我感觉这是ffmpeg的configure指令啊??

--disable-debug 

--enable-gpl 

--enable-postproc   这个库不是ffmpeg的???

--enable-small

 --enable-cross-compile 

--cross-prefix=arm-linux-androideabi-

 --disable-runtime-cpudetect

--arch=arm --cpu=cortex-a8 --enable-neon   这三个很重要啊

--target-os=linux

 --enable-pic 

--enable-pthreads \

--prefix="/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi" 

--enable-static --disable-shared  编译静态库。

autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
Can't exec "autopoint": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 345.  需要autopoint啊。
autoreconf: failed to run autopoint: No such file or directory
autoreconf: autopoint is needed because this package uses Gettext

make: *** [.gnutls] Error 1


root@Ubuntu32:/home/zhangbin/vlc/android/android# apt-get install gettext  已经安装过了。
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gettext is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 121 not upgraded.
root@Ubuntu32:/home/zhangbin/vlc/android/android# 



make: *** Waiting for unfinished jobs....
install prefix            /home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi
source path               .
C compiler                arm-linux-androideabi-gcc --sysroot=/home/zhangbin/android/android-ndk-r8e/platforms/android-9/arch-arm
ARCH                      arm (cortex-a8)

big-endian                no
runtime cpu detection     no
ARMv5TE enabled           yes
ARMv6 enabled             yes
ARMv6T2 enabled           yes
ARM VFP enabled           yes

IWMMXT enabled            no
NEON enabled              no    这个怎么没有被启用呢????NEON 啊。。
debug symbols             no
optimize for size         yes   优化大小。
optimizations             yes

static                    yes
shared                    no
postprocessing support    yes   后处理,这个要,这个是软件的么??这是vlc的配置还是ffmpeg的呢???
threading support         pthreads


License: GPL version 2 or later

Creating config.mak and config.h...


继续编译postproc啊。。。为啥还要make install-libs install-headers 呢?

cd postproc && make install-libs install-headers
make[1]: Entering directory `/home/zhangbin/vlc/android/android/vlc/contrib/android/postproc'
CC libpostproc/postprocess.o
INSTALL libpostproc/postprocess.h

INSTALL libpostproc/libpostproc.pc

postproc是ffmpeg的,而且需要libav库的支持。

In file included from /home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include/libavutil/log.h:26:0,  头文件。
                 from /home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include/libavutil/avassert.h:32,
                 from libpostproc/postprocess.c:78:
/home/zhangbin/vlc/android/android/vlc/contrib/arm-linux-androideabi/include/libavutil/attributes.h:36:0: warning: "av_always_inline" redefined [enabled by default]
In file included from libpostproc/postprocess.c:76:0:
./config.h:14:0: note: this is the location of the previous definition
AR libpostproc/libpostproc.a  生成了这个静态库
INSTALL libpostproc/libpostproc.a
make[1]: Leaving directory `/home/zhangbin/vlc/android/android/vlc/contrib/android/postproc'   源码存放路径

touch .postproc  这是创建啥呢???


root@Ubuntu32:/home/zhangbin/vlc/android/android# apt-get install autopoint  安装autopoint 
Reading package lists... Done 
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  autopoint
0 upgraded, 1 newly installed, 0 to remove and 121 not upgraded.
Need to get 604 kB of archives.
After this operation, 684 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main autopoint all 0.18.1.1-5ubuntu3 [604 kB]
Fetched 604 kB in 3s (175 kB/s)    
Selecting previously unselected package autopoint.
(Reading database ... 175347 files and directories currently installed.)
Unpacking autopoint (from .../autopoint_0.18.1.1-5ubuntu3_all.deb) ...
Processing triggers for man-db ...

Setting up autopoint (0.18.1.1-5ubuntu3) ...



root@Ubuntu32:/home/zhangbin/vlc/android/android# apt-get install cmake  安装cmake
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  cmake-data emacsen-common libxmlrpc-core-c3
The following NEW packages will be installed:
  cmake cmake-data emacsen-common libxmlrpc-core-c3
0 upgraded, 4 newly installed, 0 to remove and 121 not upgraded.
Need to get 5,348 kB of archives.
After this operation, 13.9 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main libxmlrpc-core-c3 i386 1.16.33-3.1ubuntu5.1 [179 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main emacsen-common all 1.4.22ubuntu1 [16.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main cmake-data all 2.8.7-0ubuntu5 [754 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main cmake i386 2.8.7-0ubuntu5 [4,399 kB]
Fetched 5,348 kB in 23s (227 kB/s)                                            
Selecting previously unselected package libxmlrpc-core-c3.
(Reading database ... 175354 files and directories currently installed.)
Unpacking libxmlrpc-core-c3 (from .../libxmlrpc-core-c3_1.16.33-3.1ubuntu5.1_i386.deb) ...
Selecting previously unselected package emacsen-common.
Unpacking emacsen-common (from .../emacsen-common_1.4.22ubuntu1_all.deb) ...
Selecting previously unselected package cmake-data.
Unpacking cmake-data (from .../cmake-data_2.8.7-0ubuntu5_all.deb) ...
Selecting previously unselected package cmake.
Unpacking cmake (from .../cmake_2.8.7-0ubuntu5_i386.deb) ...
Processing triggers for man-db ...
Setting up libxmlrpc-core-c3 (1.16.33-3.1ubuntu5.1) ...
Setting up emacsen-common (1.4.22ubuntu1) ...
emacsen-common: Handling install of emacsen flavor emacs
Setting up cmake-data (2.8.7-0ubuntu5) ...
emacsen-common: Handling install of emacsen flavor emacs
Setting up cmake (2.8.7-0ubuntu5) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

root@Ubuntu32:/home/zhangbin/vlc/android/android# 



root@Ubuntu32:/home/zhangbin/ffmpeg# apt-get install yasm  安装yasm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  yasm
0 upgraded, 1 newly installed, 0 to remove and 121 not upgraded.
Need to get 604 kB of archives.
After this operation, 1,667 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main yasm i386 1.1.0-1 [604 kB]
Fetched 604 kB in 4s (148 kB/s)
Selecting previously unselected package yasm.
(Reading database ... 176055 files and directories currently installed.)
Unpacking yasm (from .../archives/yasm_1.1.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up yasm (1.1.0-1) ...
root@Ubuntu32:/home/zhangbin/ffmpeg# 


================================================

vlc用的这个postproc不在ffmpeg中,看来这个ffmpeg比较老了。




新版的1.2是有的:



=========================================================================================

#!/bin/sh


if [ -z "$ANDROID_NDK" -o -z "$ANDROID_ABI" ]; then
    echo "Please set the ANDROID_NDK environment variable with its path.\n"
    echo "ANDROID_ABI should match your ABI: armeabi-v7a, armeabi or ..."
    exit 1
fi


# Must use android-9 here. Any replacement functions needed are in the vlc-android/jni  必须是9,函数都在 vlc-android/jni  中。
# folder.
ANDROID_API=android-9  这个是指啥


VLC_SOURCEDIR=..   VLC源码目录


CFLAGS="-g -O2 -fstrict-aliasing -funsafe-math-optimizations"
if [ -n "$HAVE_ARM" ]; then
    CFLAGS="${CFLAGS} -mlong-calls"     ARM平台的话,编译选项如下。
fi


LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined"   链接选项。


if [ -n "$HAVE_ARM" ]; then
    if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then      ARMV7A是有neon的,链接是呀有a8这样的。
        EXTRA_PARAMS=" --enable-neon"
        LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
    fi
fi


CPPFLAGS="-I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/include -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}/include"
LDFLAGS="$LDFLAGS -L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++${CXXSTL}/libs/${ANDROID_ABI}"


SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-$PLATFORM_SHORT_ARCH
ANDROID_BIN=`echo $ANDROID_NDK/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/\`uname|tr A-Z a-z\`-*/bin/`
CROSS_COMPILE=${ANDROID_BIN}/${TARGET_TUPLE}-


CPPFLAGS="$CPPFLAGS" \
CFLAGS="$CFLAGS ${VLC_EXTRA_CFLAGS}" \
CXXFLAGS="$CFLAGS" \
LDFLAGS="$LDFLAGS" \
CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \
CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \
NM="${CROSS_COMPILE}nm" \
STRIP="${CROSS_COMPILE}strip" \
RANLIB="${CROSS_COMPILE}ranlib" \
AR="${CROSS_COMPILE}ar" \
sh $VLC_SOURCEDIR/configure --host=$TARGET_TUPLE --build=x86_64-unknown-linux $EXTRA_PARAMS \   这到底是啥意思。
                --enable-live555 --enable-realrtsp \

                --enable-avformat \
                --enable-swscale \
                --enable-avcodec \
                --enable-opus \
                --enable-opensles \
                --enable-android-surface \
                --enable-mkv \
                --enable-taglib \
                --enable-dvbpsi \
                --disable-vlc --disable-shared \  禁用掉vlc??
                --disable-update-check \
                --disable-vlm \
                --disable-dbus \
                --disable-lua \
                --disable-vcd \
                --disable-v4l2 \  不支持摄像头啊。
                --disable-gnomevfs \
                --disable-dvdread \
                --disable-dvdnav \
                --disable-bluray \       不支持蓝光。
                --disable-linsys \
                --disable-decklink \
                --disable-libva \
                --disable-dv1394 \
                --disable-mod \
                --disable-sid \
                --disable-gme \
                --disable-tremor \
                --disable-mad \
                --disable-dca \
                --disable-sdl-image \
                --disable-zvbi \
                --disable-fluidsynth \
                --disable-jack \
                --disable-pulse \
                --disable-alsa \
                --disable-samplerate \
                --disable-sdl \
                --disable-xcb \
                --disable-atmo \
                --disable-qt \
                --disable-skins2 \
                --disable-mtp \
                --disable-notify \
                --enable-libass \
                --disable-svg \
                --disable-sqlite \
                --disable-udev \
                --enable-libxml2 \
                --disable-caca \
                --disable-glx \
                --disable-egl \
                --disable-goom \
                --disable-projectm \
                --disable-sout \          这是啥?
                --disable-vorbis \
                --disable-faad \
                --disable-x264 \
                --disable-schroedinger --disable-dirac \
                $*


<think>好的,用户现在遇到了在MX Linux环境下安装MXE构建所需的依赖项的问题,需要我的帮助。首先,我需要确定用户的具体需求。他提到的依赖项包括autopoint、gdk-pixbuf-csource、gperf、intltoolize、libtool、lzip、mako-render、ruby等。这些工具可能涉及不同的软件包,我需要逐一对应到MX Linux的软件源中。 接下来,我要考虑MX Linux是基于Debian的系统,所以通常可以使用apt来安装软件包。但用户可能已经尝试过常规方法,遇到问题,所以才来寻求帮助。我需要检查每个依赖项对应的包名,比如autopoint通常属于gettext包,intltoolize属于intltool,gdk-pixbuf-csource可能在gdk-pixbuf2.0-bin中,等等。另外,有些工具可能属于开发包,比如libtool,可能需要安装libtool-bin或者直接包含在build-essential里。 然后,用户提到的参考文章是关于MX Linux 21中文版安装的补充依赖包,里面可能提到了特定的仓或安装步骤。我需要参考该文章的建议,但也要确保给出的命令适用于当前的MX Linux版本,避免过时的信息。比如,可能需要启用某些仓或使用backports源。 还有一个问题是,用户可能在使用MXE构建跨平台应用,所以可能需要一些额外的或工具,比如Ruby的版本或特定版本的Mako。这时候,可能需要使用gem或pip来安装,但需要确认系统是否已经安装了这些包管理器,或者是否需要通过系统包管理来安装。 另外,用户可能遇到的常见问题包括依赖冲突、仓未启用、软件包名称不同等。需要提醒用户更新软件源,安装基础构建工具,再逐个安装所需的依赖。如果某些包在默认仓中没有,可能需要添加第三方仓或通过源码编译安装。 最后,我需要组织步骤,先建议更新系统,然后安装基础工具如build-essential,再列出每个依赖项对应的安装命令,并提醒用户验证安装是否成功。同时,考虑到用户可能对Linux不太熟悉,需要给出具体的命令示例,并建议在遇到问题时如何排查,比如使用apt search来查找包名。</think>在MX Linux系统中安装MXE构建所需依赖项,可按照以下步骤操作: ### 安装步骤 1. **更新软件源** ```bash sudo apt update && sudo apt upgrade -y ``` 2. **安装基础编译工具链** ```bash sudo apt install build-essential automake autoconf libtool pkg-config -y ``` 3. **安装指定依赖包** ```bash sudo apt install \ gettext autopoint \ gdk-pixbuf2.0-bin \ gperf \ intltool \ lzip \ python3-mako \ ruby \ libxml2-utils \ libgtk-3-dev \ libssl-dev \ libjpeg-dev \ zlib1g-dev -y ``` 4. **验证安装** ```bash which autopoint gdk-pixbuf-csource gperf intltoolize libtool lzip mako-render ruby ``` ### 注意事项 1. MX Linux基于Debian体系,建议启用`non-free`仓获取完整软件包支持[^1] 2. 若遇依赖冲突,可使用`apt --fix-broken install`自动修复 3. 对`ruby`等语言工具,建议通过`gem install bundler`管理附加组件
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等风来不如迎风去

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值