2017-02-16 111 views
0

我想从源代码编译XBMC和我有一个错误约dependecies.This是我遵循的步骤:要执行如何从源代码编译XBMC

1. `$git clone git://github.com/xbmc/xbmc.git` 
2. `$cd $HOME/xbmc` 
3. `$./bootstrap` 
4. `$./configure` 

checking for a BSD-compatible install... /usr/bin/install -c 
checking whether build environment is sane... yes 
checking for a thread-safe mkdir -p... /bin/mkdir -p 
checking for gawk... gawk 
checking whether make sets $(MAKE)... yes 
checking build system type... x86_64-unknown-linux-gnu 
checking host system type... x86_64-unknown-linux-gnu 
checking for git... yes 
checking for gcc... gcc 
checking whether the C compiler works... yes 
checking for C compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... no 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ISO C89... none needed 
checking for style of include used by make... GNU 
checking dependency style of gcc... none 
checking how to run the C preprocessor... gcc -E 
checking for gcc... gcc 
checking whether we are using the GNU C compiler... (cached) yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ISO C89... (cached) none needed 
checking dependency style of gcc... none 
checking how to run the C preprocessor... gcc -E 
checking for g++... g++ 
checking whether we are using the GNU C++ compiler... yes 
checking whether g++ accepts -g... yes 
checking dependency style of g++... none 
checking how to run the C++ preprocessor... g++ -E 
checking for g++... g++ 
checking whether we are using the GNU C++ compiler... (cached) yes 
checking whether g++ accepts -g... yes 
checking dependency style of g++... none 
checking how to run the C++ preprocessor... g++ -E 
checking whether g++ supports C++11 features by default... no 
checking whether g++ supports C++11 features with -std=gnu++11... no 
checking whether g++ supports C++11 features with -std=gnu++0x... yes 
checking how to print strings... printf 
checking for a sed that does not truncate output... /bin/sed 
checking for grep that handles long lines and -e... /bin/grep 
checking for egrep... /bin/grep -E 
checking for fgrep... /bin/grep -F 
checking for ld used by gcc... /usr/bin/ld 
checking if the linker (/usr/bin/ld) is GNU ld... yes 
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B 
checking the name lister (/usr/bin/nm -B) interface... BSD nm 
checking whether ln -s works... yes 
checking the maximum length of command line arguments... 1572864 
checking whether the shell understands some XSI constructs... yes 
checking whether the shell understands "+="... yes 
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop 
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop 
checking for /usr/bin/ld option to reload object files... -r 
checking for objdump... objdump 
checking how to recognize dependent libraries... pass_all 
checking for dlltool... no 
checking how to associate runtime and link libraries... printf %s\n 
checking for ar... ar 
checking for archiver @FILE support... @ 
checking for strip... strip 
checking for ranlib... ranlib 
checking command to parse /usr/bin/nm -B output from gcc object... ok 
checking for sysroot... no 
checking for mt... mt 
checking if mt is a manifest tool... no 
checking for ANSI C header files... yes 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking for dlfcn.h... yes 
checking for objdir... .libs 
checking if gcc supports -fno-rtti -fno-exceptions... no 
checking for gcc option to produce PIC... -fPIC -DPIC 
checking if gcc PIC flag -fPIC -DPIC works... yes 
checking if gcc static flag -static works... yes 
checking if gcc supports -c -o file.o... yes 
checking if gcc supports -c -o file.o... (cached) yes 
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes 
checking whether -lc should be explicitly linked in... no 
checking dynamic linker characteristics... GNU/Linux ld.so 
checking how to hardcode library paths into programs... immediate 
checking whether stripping libraries is possible... yes 
checking if libtool supports shared libraries... yes 
checking whether to build shared libraries... yes 
checking whether to build static libraries... yes 
checking how to run the C++ preprocessor... g++ -E 
checking for ld used by g++... /usr/bin/ld -m elf_x86_64 
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes 
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes 
checking for g++ option to produce PIC... -fPIC -DPIC 
checking if g++ PIC flag -fPIC -DPIC works... yes 
checking if g++ static flag -static works... yes 
checking if g++ supports -c -o file.o... yes 
checking if g++ supports -c -o file.o... (cached) yes 
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes 
checking dynamic linker characteristics... (cached) GNU/Linux ld.so 
checking how to hardcode library paths into programs... immediate 
checking for gawk... (cached) gawk 
checking whether ln -s works... yes 
checking whether make sets $(MAKE)... (cached) yes 
checking for pkg-config... /usr/bin/pkg-config 
checking pkg-config is at least version 0.9.0... yes 
checking for size_t... yes 
checking for working alloca.h... yes 
checking for alloca... yes 
checking for uid_t in sys/types.h... yes 
checking for unistd.h... (cached) yes 
checking for working chown... yes 
checking for dirent.h that defines DIR... yes 
checking for library containing opendir... none required 
checking whether closedir returns void... no 
checking for error_at_line... yes 
checking for _LARGEFILE_SOURCE value needed for large files... no 
checking whether gcc needs -traditional... no 
checking whether lstat correctly handles trailing slash... yes 
checking whether lstat accepts an empty string... no 
checking whether lstat correctly handles trailing slash... (cached) yes 
checking for working memcmp... yes 
checking whether time.h and sys/time.h may both be included... yes 
checking for sys/time.h... yes 
checking for unistd.h... (cached) yes 
checking for stdlib.h... (cached) yes 
checking for sys/param.h... yes 
checking for utime.h... yes 
checking for alarm... yes 
checking for working mktime... yes 
checking for getpagesize... yes 
checking for working mmap... yes 
checking sys/select.h usability... yes 
checking sys/select.h presence... yes 
checking for sys/select.h... yes 
checking sys/socket.h usability... yes 
checking sys/socket.h presence... yes 
checking for sys/socket.h... yes 
checking types of arguments for select... int,fd_set *,struct timeval * 
checking return type of signal handlers... void 
checking whether stat accepts an empty string... no 
checking for working strcoll... yes 
checking for strftime... yes 
checking for working strtod... yes 
checking whether utime accepts a null argument... yes 
checking for vprintf... yes 
checking for _doprnt... no 
checking for atexit... yes 
checking for dup2... yes 
checking for fdatasync... yes 
checking for floor... no 
checking for fs_stat_dev... no 
checking for ftime... yes 
checking for ftruncate... yes 
checking for getcwd... yes 
checking for gethostbyaddr... yes 
checking for gethostbyname... yes 
checking for gethostname... yes 
checking for getpagesize... (cached) yes 
checking for getpass... yes 
checking for gettimeofday... yes 
checking for inet_ntoa... yes 
checking for lchown... yes 
checking for localeconv... yes 
checking for memchr... yes 
checking for memmove... yes 
checking for memset... yes 
checking for mkdir... yes 
checking for modf... yes 
checking for munmap... yes 
checking for pow... no 
checking for rmdir... yes 
checking for select... yes 
checking for setenv... yes 
checking for setlocale... yes 
checking for socket... yes 
checking for sqrt... no 
checking for strcasecmp... yes 
checking for strchr... yes 
checking for strcspn... yes 
checking for strdup... yes 
checking for strerror... yes 
checking for strncasecmp... yes 
checking for strpbrk... yes 
checking for strrchr... yes 
checking for strspn... yes 
checking for strstr... yes 
checking for strtol... yes 
checking for strtoul... yes 
checking for sysinfo... yes 
checking for tzset... yes 
checking for utime... yes 
checking for posix_fadvise... yes 
checking for localtime_r... yes 
checking size of int... 4 
checking size of size_t... 8 
checking for __sync_add_and_fetch(temp, 1)... yes 
checking for __sync_sub_and_fetch(temp, 1)... yes 
checking for __sync_val_compare_and_swap(temp, 1, 1)... yes 
checking for std::u16string... yes 
checking for std::u32string... yes 
checking for char16_t... yes 
checking for char32_t... yes 
checking size of wchar_t... 4 
checking sys/inotify.h usability... yes 
checking sys/inotify.h presence... yes 
checking for sys/inotify.h... yes 
checking boost/circular_buffer.hpp usability... no 
checking boost/circular_buffer.hpp presence... no 
checking for boost/c 

ircular_buffer.hpp... no 
    configure: error: Could not find a required library. Please see the README for your platform. 

5. `$make` 
6. `$sudo make install` 

的./configure应该创建一个Makefile通过下一个命令“make”,但它并没有创建它。

+0

如上所述,您缺少安装XBMC所需的库(btw。really XMBC?not kodi?)。您是否根据自述文件查看了要求并将它们全部安装在您的系统上?否则,请提供'configure'调用的完整输出。 – languitar

+0

@languitar更新。 – stojo304

+0

从日志中我会猜想缺少boost,通常是一个名为'{lib,} boost。* { - dev}的软件包' – languitar

回答

2

我不确定你想要做什么。如果您使用的是新版本的代码,那么您应该使用cmake并遵循本自述文件https://github.com/xbmc/xbmc/tree/master/cmake#linux。这里指的是Linux:https://github.com/xbmc/xbmc/blob/master/docs/README.linux

具体而言,对于Linux,您可以在git工作空间下创建一个子目录kodi-build并在那里创建构建环境。建议在树外更好,但插件会希望在该位置建立树,所以请按照他们的指示进行操作。

从上述README.linux:

Create and change to build directory 
    $ mkdir kodi-build && cd kodi-build 
    $ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local 
    $ cmake --build . -- VERBOSE=1 

您可能会发现缺少的依赖关系,当您尝试运行这两种的CMake命令(有依赖关系的LOT)。然后,您可以使用发行版的包管理系统来查找履行所需的包(例如Fedora上的dnf provides */<name>)。