问题
I am trying to compile Xuggler for Raspberry Pi(Running on Debian OS aka Raspbian),
I followed the 'Basic Build Instructions' available here for compiling Xuggler.
After I successfully installed all the prerequisites and set the correct paths, I ran the following command:
ant run-tests
After sometime I am facing the following error and the ant build fails:
{scroll at the end of log to see the issue}
[exec] Making all in libspeex
[exec] make[2]: Entering directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex'
[exec] Incarcerated package must be reconfigured; regenerating out of date captive Makefile from: ../../../../../captive/libspeex/csrc/configure
[exec] /bin/mkdir -p csrc
[exec] cd csrc && sh ../incarcerate
[exec] checking for a BSD-compatible install... /usr/bin/install -c
[exec] checking whether build environment is sane... yes
[exec] checking for a thread-safe mkdir -p... /bin/mkdir -p
[exec] checking for gawk... no
[exec] checking for mawk... mawk
[exec] checking whether make sets $(MAKE)... yes
[exec] checking build system type... armv6l-unknown-linux-gnu
[exec] checking host system type... armv6l-unknown-linux-gnu
[exec] checking how to print strings... printf
[exec] checking for style of include used by make... GNU
[exec] checking for gcc... gcc
[exec] checking whether the C compiler works... yes
[exec] checking for C compiler default output file name... a.out
[exec] checking for suffix of executables...
[exec] checking whether we are cross compiling... no
[exec] checking for suffix of object files... o
[exec] checking whether we are using the GNU C compiler... yes
[exec] checking whether gcc accepts -g... yes
[exec] checking for gcc option to accept ISO C89... none needed
[exec] checking dependency style of gcc... none
[exec] checking for a sed that does not truncate output... /bin/sed
[exec] checking for grep that handles long lines and -e... /bin/grep
[exec] checking for egrep... /bin/grep -E
[exec] checking for fgrep... /bin/grep -F
[exec] checking for ld used by gcc... /usr/bin/ld
[exec] checking if the linker (/usr/bin/ld) is GNU ld... yes
[exec] checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
[exec] checking the name lister (/usr/bin/nm -B) interface... BSD nm
[exec] checking whether ln -s works... yes
[exec] checking the maximum length of command line arguments... 805306365
[exec] checking whether the shell understands some XSI constructs... yes
[exec] checking whether the shell understands "+="... yes
[exec] checking how to convert armv6l-unknown-linux-gnu file names to armv6l-unknown-linux-gnu format... func_convert_file_noop
[exec] checking how to convert armv6l-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
[exec] checking for /usr/bin/ld option to reload object files... -r
[exec] checking for objdump... objdump
[exec] checking how to recognize dependent libraries... pass_all
[exec] checking for dlltool... false
[exec] checking how to associate runtime and link libraries... printf %s\n
[exec] checking for archiver @FILE support... @
[exec] checking for strip... strip
[exec] checking for ranlib... ranlib
[exec] checking command to parse /usr/bin/nm -B output from gcc object... ok
[exec] checking for sysroot... no
[exec] checking for mt... mt
[exec] checking if mt is a manifest tool... no
[exec] checking how to run the C preprocessor... gcc -E
[exec] checking for ANSI C header files... yes
[exec] checking for sys/types.h... yes
[exec] checking for sys/stat.h... yes
[exec] checking for stdlib.h... yes
[exec] checking for string.h... yes
[exec] checking for memory.h... yes
[exec] checking for strings.h... yes
[exec] checking for inttypes.h... yes
[exec] checking for stdint.h... yes
[exec] checking for unistd.h... yes
[exec] checking for dlfcn.h... yes
[exec] checking for objdir... .libs
[exec] checking if gcc supports -fno-rtti -fno-exceptions... no
[exec] checking for gcc option to produce PIC... -fPIC -DPIC
[exec] checking if gcc PIC flag -fPIC -DPIC works... yes
[exec] checking if gcc static flag -static works... yes
[exec] checking if gcc supports -c -o file.o... yes
[exec] checking if gcc supports -c -o file.o... (cached) yes
[exec] checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
[exec] checking dynamic linker characteristics... GNU/Linux ld.so
[exec] checking how to hardcode library paths into programs... immediate
[exec] checking whether stripping libraries is possible... yes
[exec] checking if libtool supports shared libraries... yes
[exec] checking whether to build shared libraries... no
[exec] checking whether to build static libraries... yes
[exec] checking whether to enable maintainer-specific portions of Makefiles... no
[exec] checking whether byte ordering is bigendian... no
[exec] checking for an ANSI C-conforming const... yes
[exec] checking for inline... inline
[exec] checking for C/C++ restrict keyword... __restrict
[exec] checking for C99 variable-size arrays... yes
[exec] checking alloca.h usability... yes
[exec] checking alloca.h presence... yes
[exec] checking for alloca.h... yes
[exec] checking getopt.h usability... yes
[exec] checking getopt.h presence... yes
[exec] checking for getopt.h... yes
[exec] checking for alloca... yes
[exec] checking for SSE in current arch/CFLAGS... no
[exec] checking for ELF visibility... yes
[exec] checking sys/soundcard.h usability... yes
[exec] checking sys/soundcard.h presence... yes
[exec] checking for sys/soundcard.h... yes
[exec] checking sys/audioio.h usability... no
[exec] checking sys/audioio.h presence... no
[exec] checking for sys/audioio.h... no
[exec] checking for Ogg... yes
[exec] checking for sin in -lm... yes
[exec] checking for getopt_long... yes
[exec] checking for main in -lwinmm... no
[exec] checking for pkg-config... /usr/bin/pkg-config
[exec] checking pkg-config is at least version 0.9.0... yes
[exec] checking size of short... 0
[exec] checking size of int... 0
[exec] checking size of long... 0
[exec] configure: creating ./config.status
[exec] config.status: creating Makefile
[exec] config.status: creating libspeex/Makefile
[exec] config.status: creating src/Makefile
[exec] config.status: creating doc/Makefile
[exec] config.status: creating Speex.spec
[exec] config.status: creating include/Makefile
[exec] config.status: creating include/speex/Makefile
[exec] config.status: creating speex.pc
[exec] config.status: creating speexdsp.pc
[exec] config.status: creating win32/Makefile
[exec] config.status: creating win32/libspeex/Makefile
[exec] config.status: creating win32/speexenc/Makefile
[exec] config.status: creating win32/speexdec/Makefile
[exec] config.status: creating symbian/Makefile
[exec] config.status: creating win32/VS2003/Makefile
[exec] config.status: creating win32/VS2003/tests/Makefile
[exec] config.status: creating win32/VS2003/libspeex/Makefile
[exec] config.status: creating win32/VS2003/libspeexdsp/Makefile
[exec] config.status: creating win32/VS2003/speexdec/Makefile
[exec] config.status: creating win32/VS2003/speexenc/Makefile
[exec] config.status: creating win32/VS2005/Makefile
[exec] config.status: creating win32/VS2005/libspeex/Makefile
[exec] config.status: creating win32/VS2005/speexdec/Makefile
[exec] config.status: creating win32/VS2005/speexenc/Makefile
[exec] config.status: creating win32/VS2005/libspeexdsp/Makefile
[exec] config.status: creating win32/VS2005/tests/Makefile
[exec] config.status: creating win32/VS2008/libspeexdsp/Makefile
[exec] config.status: creating win32/VS2008/Makefile
[exec] config.status: creating win32/VS2008/speexdec/Makefile
[exec] config.status: creating win32/VS2008/tests/Makefile
[exec] config.status: creating win32/VS2008/libspeex/Makefile
[exec] config.status: creating win32/VS2008/speexenc/Makefile
[exec] config.status: creating include/speex/speex_config_types.h
[exec] config.status: creating ti/Makefile
[exec] config.status: creating ti/speex_C54_test/Makefile
[exec] config.status: creating ti/speex_C55_test/Makefile
[exec] config.status: creating ti/speex_C64_test/Makefile
[exec] config.status: creating config.h
[exec] config.status: executing depfiles commands
[exec] config.status: executing libtool commands
[exec] Type "make; make install" to compile and install Speex
[exec] Incarcerated package configured: ../../../../../captive/libspeex
[exec] Incarcerating package ../../../../../captive/libspeex to fake DESTDIR=/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/stage
[exec] make[3]: Entering directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc'
[exec] make all-recursive
[exec] make[4]: Entering directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc'
[exec] Making all in libspeex
[exec] make[4]: *** [all-recursive] Error 1
[exec] make[3]: *** [all] Error 2
[exec] make[4]: Leaving directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc'
[exec] make[3]: Leaving directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc'
[exec] Out of date files; re-running make
[exec] make[3]: Entering directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc'
[exec] make all-recursive
[exec] make[4]: Entering directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc'
[exec] Making all in libspeex
[exec] make[5]: Entering directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc/libspeex'
[exec] /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/../../../../captive/libspeex/csrc/libspeex -I.. -I/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/../../../../captive/libspeex/csrc/include -I../include -I.. -I/home/pi/Downloads/xuggler/include -I/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/stage/home/pi/Downloads/xuggler/include -fvisibility=hidden -O3 -msse -c -o cb_search.lo /home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/../../../../captive/libspeex/csrc/libspeex/cb_search.c
[exec] libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/../../../../captive/libspeex/csrc/libspeex -I.. -I/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/../../../../captive/libspeex/csrc/include -I../include -I.. -I/home/pi/Downloads/xuggler/include -I/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/stage/home/pi/Downloads/xuggler/include -fvisibility=hidden -O3 -msse -c /home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/../../../../captive/libspeex/csrc/libspeex/cb_search.c -fPIC -DPIC -o cb_search.o
[exec] cc1: error: unrecognized command line option '-msse'
[exec] make[5]: *** [cb_search.lo] Error 1
[exec] make[4]: *** [all-recursive] Error 1
[exec] make[3]: *** [all] Error 2
[exec] make[2]: *** [all-local] Error 2
[exec] make[1]: *** [all-recursive] Error 1
[exec] make: *** [all-recursive] Error 1
[exec] make[5]: Leaving directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc/libspeex'
[exec] make[4]: Leaving directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc'
[exec] make[3]: Leaving directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex/csrc'
[exec] make[2]: Leaving directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive/libspeex'
[exec] make[1]: Leaving directory `/home/pi/Downloads/xuggle-xuggler/build/native/armv6l-unknown-linux-gnueabihf/captive'
BUILD FAILED
/home/pi/Downloads/xuggle-xuggler/mk/buildtools/buildhelper.xml:1192: exec returned: 2
Total time: 73 minutes 17 seconds
I am unable to understand the problem statment "unrecognized command line option '-msse'" here, Can someone please tell me how can I resolve this or circumvent it in xuggler?
回答1:
Here are the exact code changes I made to resolve the libspeex issues when building on the pi. As I mentioned on another question you asked, you can see the changes I made to build on the pi on github. I know my pi branch doesn't include X264, but it does have libspeex.
You can view the changes in this commit on github here:
来源:https://stackoverflow.com/questions/24844601/issue-1-when-compiling-xuggler-for-raspberry-pi-with-libspeex