[Spice-devel] Error compiling Spice Client on ARM

Nicolas Antonio Corrarello ncorrare at gmail.com
Mon Jan 16 08:19:54 PST 2012


Worked like charm...

2012/1/16 Alon Levy <alevy at redhat.com>

> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120116/ba4f6f62/attachment-0001.htm>


More information about the Spice-devel mailing list