[Spice-devel] Error compiling Spice Client on ARM
Alon Levy
alevy at redhat.com
Mon Jan 16 04:56:07 PST 2012
On Mon, Jan 16, 2012 at 08:47:00AM -0300, Nicolas Antonio Corrarello wrote:
> Alo,
> Sorry for the delay's, I left the VM at the office. Here is the output you
Thanks,
Can you try this patch?
diff --git a/client/foreign_menu.cpp b/client/foreign_menu.cpp
index d1df49d..faef4c2 100644
--- a/client/foreign_menu.cpp
+++ b/client/foreign_menu.cpp
@@ -30,7 +30,7 @@
#ifdef WIN32
#define PIPE_NAME "SpiceForeignMenu-%lu"
-#elif defined(__i386__)
+#elif defined(__i386__) || __SIZEOF_LONG__ == 4
#define PIPE_NAME "/tmp/SpiceForeignMenu-%llu.uds"
#else
#define PIPE_NAME "/tmp/SpiceForeignMenu-%lu.uds"
> requested:
> # 1 "<stdin>"
> # 1 "<built-in>"
> #define __STDC__ 1
> #define __STDC_HOSTED__ 1
> #define __GNUC__ 4
> #define __GNUC_MINOR__ 6
> #define __GNUC_PATCHLEVEL__ 2
> #define __VERSION__ "4.6.2"
> #define __FINITE_MATH_ONLY__ 0
> #define __SIZEOF_INT__ 4
> #define __SIZEOF_LONG__ 4
> #define __SIZEOF_LONG_LONG__ 8
> #define __SIZEOF_SHORT__ 2
> #define __SIZEOF_FLOAT__ 4
> #define __SIZEOF_DOUBLE__ 8
> #define __SIZEOF_LONG_DOUBLE__ 8
> #define __SIZEOF_SIZE_T__ 4
> #define __CHAR_BIT__ 8
> #define __BIGGEST_ALIGNMENT__ 8
> #define __ORDER_LITTLE_ENDIAN__ 1234
> #define __ORDER_BIG_ENDIAN__ 4321
> #define __ORDER_PDP_ENDIAN__ 3412
> #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
> #define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
> #define __SIZEOF_POINTER__ 4
> #define __SIZE_TYPE__ unsigned int
> #define __PTRDIFF_TYPE__ int
> #define __WCHAR_TYPE__ unsigned int
> #define __WINT_TYPE__ unsigned int
> #define __INTMAX_TYPE__ long long int
> #define __UINTMAX_TYPE__ long long unsigned int
> #define __CHAR16_TYPE__ short unsigned int
> #define __CHAR32_TYPE__ unsigned int
> #define __SIG_ATOMIC_TYPE__ int
> #define __INT8_TYPE__ signed char
> #define __INT16_TYPE__ short int
> #define __INT32_TYPE__ int
> #define __INT64_TYPE__ long long int
> #define __UINT8_TYPE__ unsigned char
> #define __UINT16_TYPE__ short unsigned int
> #define __UINT32_TYPE__ unsigned int
> #define __UINT64_TYPE__ long long unsigned int
> #define __INT_LEAST8_TYPE__ signed char
> #define __INT_LEAST16_TYPE__ short int
> #define __INT_LEAST32_TYPE__ int
> #define __INT_LEAST64_TYPE__ long long int
> #define __UINT_LEAST8_TYPE__ unsigned char
> #define __UINT_LEAST16_TYPE__ short unsigned int
> #define __UINT_LEAST32_TYPE__ unsigned int
> #define __UINT_LEAST64_TYPE__ long long unsigned int
> #define __INT_FAST8_TYPE__ signed char
> #define __INT_FAST16_TYPE__ int
> #define __INT_FAST32_TYPE__ int
> #define __INT_FAST64_TYPE__ long long int
> #define __UINT_FAST8_TYPE__ unsigned char
> #define __UINT_FAST16_TYPE__ unsigned int
> #define __UINT_FAST32_TYPE__ unsigned int
> #define __UINT_FAST64_TYPE__ long long unsigned int
> #define __INTPTR_TYPE__ int
> #define __UINTPTR_TYPE__ unsigned int
> #define __GXX_ABI_VERSION 1002
> #define __SCHAR_MAX__ 127
> #define __SHRT_MAX__ 32767
> #define __INT_MAX__ 2147483647
> #define __LONG_MAX__ 2147483647L
> #define __LONG_LONG_MAX__ 9223372036854775807LL
> #define __WCHAR_MAX__ 4294967295U
> #define __WCHAR_MIN__ 0U
> #define __WINT_MAX__ 4294967295U
> #define __WINT_MIN__ 0U
> #define __PTRDIFF_MAX__ 2147483647
> #define __SIZE_MAX__ 4294967295U
> #define __INTMAX_MAX__ 9223372036854775807LL
> #define __INTMAX_C(c) c ## LL
> #define __UINTMAX_MAX__ 18446744073709551615ULL
> #define __UINTMAX_C(c) c ## ULL
> #define __SIG_ATOMIC_MAX__ 2147483647
> #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
> #define __INT8_MAX__ 127
> #define __INT16_MAX__ 32767
> #define __INT32_MAX__ 2147483647
> #define __INT64_MAX__ 9223372036854775807LL
> #define __UINT8_MAX__ 255
> #define __UINT16_MAX__ 65535
> #define __UINT32_MAX__ 4294967295U
> #define __UINT64_MAX__ 18446744073709551615ULL
> #define __INT_LEAST8_MAX__ 127
> #define __INT8_C(c) c
> #define __INT_LEAST16_MAX__ 32767
> #define __INT16_C(c) c
> #define __INT_LEAST32_MAX__ 2147483647
> #define __INT32_C(c) c
> #define __INT_LEAST64_MAX__ 9223372036854775807LL
> #define __INT64_C(c) c ## LL
> #define __UINT_LEAST8_MAX__ 255
> #define __UINT8_C(c) c
> #define __UINT_LEAST16_MAX__ 65535
> #define __UINT16_C(c) c
> #define __UINT_LEAST32_MAX__ 4294967295U
> #define __UINT32_C(c) c ## U
> #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
> #define __UINT64_C(c) c ## ULL
> #define __INT_FAST8_MAX__ 127
> #define __INT_FAST16_MAX__ 2147483647
> #define __INT_FAST32_MAX__ 2147483647
> #define __INT_FAST64_MAX__ 9223372036854775807LL
> #define __UINT_FAST8_MAX__ 255
> #define __UINT_FAST16_MAX__ 4294967295U
> #define __UINT_FAST32_MAX__ 4294967295U
> #define __UINT_FAST64_MAX__ 18446744073709551615ULL
> #define __INTPTR_MAX__ 2147483647
> #define __UINTPTR_MAX__ 4294967295U
> #define __FLT_EVAL_METHOD__ 0
> #define __DEC_EVAL_METHOD__ 2
> #define __FLT_RADIX__ 2
> #define __FLT_MANT_DIG__ 24
> #define __FLT_DIG__ 6
> #define __FLT_MIN_EXP__ (-125)
> #define __FLT_MIN_10_EXP__ (-37)
> #define __FLT_MAX_EXP__ 128
> #define __FLT_MAX_10_EXP__ 38
> #define __FLT_DECIMAL_DIG__ 9
> #define __FLT_MAX__ 3.4028234663852886e+38F
> #define __FLT_MIN__ 1.1754943508222875e-38F
> #define __FLT_EPSILON__ 1.1920928955078125e-7F
> #define __FLT_DENORM_MIN__ 1.4012984643248171e-45F
> #define __FLT_HAS_DENORM__ 1
> #define __FLT_HAS_INFINITY__ 1
> #define __FLT_HAS_QUIET_NAN__ 1
> #define __DBL_MANT_DIG__ 53
> #define __DBL_DIG__ 15
> #define __DBL_MIN_EXP__ (-1021)
> #define __DBL_MIN_10_EXP__ (-307)
> #define __DBL_MAX_EXP__ 1024
> #define __DBL_MAX_10_EXP__ 308
> #define __DBL_DECIMAL_DIG__ 17
> #define __DBL_MAX__ ((double)1.7976931348623157e+308L)
> #define __DBL_MIN__ ((double)2.2250738585072014e-308L)
> #define __DBL_EPSILON__ ((double)2.2204460492503131e-16L)
> #define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L)
> #define __DBL_HAS_DENORM__ 1
> #define __DBL_HAS_INFINITY__ 1
> #define __DBL_HAS_QUIET_NAN__ 1
> #define __LDBL_MANT_DIG__ 53
> #define __LDBL_DIG__ 15
> #define __LDBL_MIN_EXP__ (-1021)
> #define __LDBL_MIN_10_EXP__ (-307)
> #define __LDBL_MAX_EXP__ 1024
> #define __LDBL_MAX_10_EXP__ 308
> #define __DECIMAL_DIG__ 17
> #define __LDBL_MAX__ 1.7976931348623157e+308L
> #define __LDBL_MIN__ 2.2250738585072014e-308L
> #define __LDBL_EPSILON__ 2.2204460492503131e-16L
> #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
> #define __LDBL_HAS_DENORM__ 1
> #define __LDBL_HAS_INFINITY__ 1
> #define __LDBL_HAS_QUIET_NAN__ 1
> #define __DEC32_MANT_DIG__ 7
> #define __DEC32_MIN_EXP__ (-94)
> #define __DEC32_MAX_EXP__ 97
> #define __DEC32_MIN__ 1E-95DF
> #define __DEC32_MAX__ 9.999999E96DF
> #define __DEC32_EPSILON__ 1E-6DF
> #define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
> #define __DEC64_MANT_DIG__ 16
> #define __DEC64_MIN_EXP__ (-382)
> #define __DEC64_MAX_EXP__ 385
> #define __DEC64_MIN__ 1E-383DD
> #define __DEC64_MAX__ 9.999999999999999E384DD
> #define __DEC64_EPSILON__ 1E-15DD
> #define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
> #define __DEC128_MANT_DIG__ 34
> #define __DEC128_MIN_EXP__ (-6142)
> #define __DEC128_MAX_EXP__ 6145
> #define __DEC128_MIN__ 1E-6143DL
> #define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
> #define __DEC128_EPSILON__ 1E-33DL
> #define __DEC128_SUBNORMAL_MIN__
> 0.000000000000000000000000000000001E-6143DL
> #define __REGISTER_PREFIX__
> #define __USER_LABEL_PREFIX__
> #define __GNUC_GNU_INLINE__ 1
> #define __NO_INLINE__ 1
> #define __CHAR_UNSIGNED__ 1
> #define __PRAGMA_REDEFINE_EXTNAME 1
> #define __SIZEOF_WCHAR_T__ 4
> #define __SIZEOF_WINT_T__ 4
> #define __SIZEOF_PTRDIFF_T__ 4
> #define __arm__ 1
> #define __APCS_32__ 1
> #define __ARMEL__ 1
> #define __SOFTFP__ 1
> #define __VFP_FP__ 1
> #define __THUMB_INTERWORK__ 1
> #define __ARM_ARCH_4T__ 1
> #define __ARM_PCS 1
> #define __ARM_EABI__ 1
> #define __GXX_TYPEINFO_EQUALITY_INLINE 0
> #define __gnu_linux__ 1
> #define __linux 1
> #define __linux__ 1
> #define linux 1
> #define __unix 1
> #define __unix__ 1
> #define unix 1
> #define __ELF__ 1
> # 1 "<command-line>"
> # 1 "<stdin>"
> int main() {return 0;}
> 2012/1/14 Alon Levy <[1]alevy at redhat.com>
>
> On Fri, Jan 13, 2012 at 03:54:02PM -0300, Nicolas Antonio Corrarello
> wrote:
> > Guys,
> > Being well aware that spice server only works on x64-64, I'm trying
> to
> > compile the spice client in ARM, but I'm bumping into the
> following:
> > make ן߽all-am
> > make[1]: Entering directory `/root/spice-0.10.0/client'
> > ן߽ CXX ן߽ ן߽foreign_menu.o
> > foreign_menu.cpp: In constructor
> > 'ForeignMenu::ForeignMenu(ForeignMenuInterface*)':
>
> Ok, this is due to the define above only checking for __i386__, can you
> run this to dump all predefined variables, so we can find the relevant
> one (I guess something like __armv6__):
> echo "int main() { return 0; }" | g++ -dD -E -
>
> Thanks,
> Alon
> > foreign_menu.cpp:47:81: error: format '%lu' expects argument of
> type 'long
> > unsigned int', but argument 4 has type 'uint64_t {aka long long
> unsigned
> > int}' [-Werror=format]
> > foreign_menu.cpp:47:81: error: format '%lu' expects argument of
> type 'long
> > unsigned int', but argument 4 has type 'uint64_t {aka long long
> unsigned
> > int}' [-Werror=format]
> > cc1plus: all warnings being treated as errors
> > make[1]: *** [foreign_menu.o] Error 1
> > make[1]: Leaving directory `/root/spice-0.10.0/client'
> > make: *** [all] Error 2
> > I had to add my arm machine type manually in ./configure in order
> for it
> > to pass the processor check.
> > The system is emulated with qemu, and here is some info about the
> linux
> > distro running on it:
> > Script started on Fri Jan 13 18:50:48 2012
> > root at test-arm:~/spice-0.10.0/client# gcc -version. .. .. .. .. .. .
> > Using built-in specs.
> > COLLECT_GCC=gcc
> > COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.6/lto-wrapper
> > Target: arm-linux-gnueabi
> > Configured with: ../src/configure -v --with-pkgversion='Debian
> 4.6.2-11'
> > --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
> > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> > --program-suffix=-4.6 --enable-shared --enable-linker-build-id
> > --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> > --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
> > --libdir=/usr/lib --enable-nls --enable-clocale=gnu
> > --enable-libstdcxx-debug --enable-libstdcxx-time=yes
> --enable-plugin
> > --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv4t
> > --with-float=soft --enable-checking=release
> --build=arm-linux-gnueabi
> > --host=arm-linux-gnueabi --target=arm-linux-gnueabi
> > Thread model: posix
> > gcc version 4.6.2 (Debian 4.6.2-11)ן߽
> > root at test-arm:~/spice-0.10.0/client# [2]una.me -a
> > Linux test-arm 3.0.4 #2 Mon Oct 17 17:39:42 ICT 2011 armv6l
> GNU/Linux
> > root at test-arm:~/spice-0.10.0/client# exit
> > exit
> > Script done on Fri Jan 13 18:51:08 2012
> > I'd appreciate any help on the matter,
> > Yours truly
> > nac
>
> References
>
> Visible links
> 1. mailto:alevy at redhat.com
> 2. http://una.me/
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list