Issue #1 when compiling Xuggler for Raspberry pi w

2019-08-04 17:52发布

问题:

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: