Call for Testers: XBMC 10.0

Andriy Gapon avg at
Sun Dec 12 10:57:52 UTC 2010

on 12/12/2010 10:37 Bernhard Fröhlich said the following:
> ----- Ursprüngliche Mitteilung -----
>> 1. Is this port i386-only? Specifically, there seem to be problems
>> compiling it on amd64 - some .Asm files get compiled into i386 code.
> No absolutely not. It was runtime tested for some weeks on amd64 and build tested in a tinderbox on 7, 8, current on amd64 and i386. Currently only failing on 7.

The problem that I see is compilation failing in
xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU directory.  I looked into the
top-level Makefile and I see that that directory is not supposed to included
into the build on x86_64 linux:

ifeq ($(or $(findstring powerpc,$(ARCH)),$(findstring
x86_64-linux,$(ARCH)),$(findstring arm, $(ARCH))),)
        $(MAKE) -C xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU

amd64 FreeBSD should be excluded here too, most likely.
I fixed this by changing "x86_64-linux" => "x86_64".

But maybe I just screwed my build environment in the first place...  Because I
had to restart configure and compilation steps a few times.

>> 2. There also seem to be problems compiling with gcc44+ from ports.   Not
>> too drastic ones though - I'll send in couple of patches for this later.

1. Patch for to correctly detect and link
@@ -721,8 +764,8 @@
   if test "$use_faac" = "yes"; then
-    AC_CHECK_LIB([faac], [main],,
-      use_faac=no;AC_MSG_RESULT($faac_not_found))
+    AC_CHECK_LIB([faac], [main], LIBS="-lfaac -lstdc++ $LIBS",
+      use_faac=no;AC_MSG_RESULT($faac_not_found), [-lstdc++])

The issue here seems to be that in my environment is linked with and the latter is a "C++ library".  That is, it depends on  But for some reason gcc44, unlike base gcc, doesn't pick up that
dependency automatically.

2. Patch for guilib/StdString.h.
@@ -2,6 +2,7 @@
 #include <string>
 #include <stdint.h>
 #include <vector>
+#include <cstring>

 #if defined(_WIN32) && !defined(va_copy)
 #define va_copy(dst, src) ((dst) = (src))

This is needed because of the existing patch that introduces memset.
gcc44 unlike base gcc doesn't see memset definition through other headers, but
needs an explicit include.

Andriy Gapon

More information about the freebsd-multimedia mailing list