2017-02-16 145 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>)。