-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Hey @oldmoe,
I was going to give tinybits a try to replace a MessagePack implementation but ran into the following on my Mac Studio:
Fetching tinybits-0.6.0.gem
Building native extensions. This could take a while...
ERROR: Error installing tinybits:
ERROR: Failed to build gem native extension.
current directory: /Users/travisbell/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/tinybits-0.6.0/ext/tinybits
/Users/travisbell/.rbenv/versions/3.4.4/bin/ruby extconf.rb
creating Makefile
current directory: /Users/travisbell/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/tinybits-0.6.0/ext/tinybits
make DESTDIR\= sitearchdir\=./.gem.20250627-2305-lura4u sitelibdir\=./.gem.20250627-2305-lura4u clean
current directory: /Users/travisbell/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/tinybits-0.6.0/ext/tinybits
make DESTDIR\= sitearchdir\=./.gem.20250627-2305-lura4u sitelibdir\=./.gem.20250627-2305-lura4u
compiling tinybits_ext.c
In file included from tinybits_ext.c:4:
./tinybits.h:106:26: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
106 | int prefix = 241 + (value / 256);
| ~~~~~~ ~~~~^~~~~~~~~~~~~~~
In file included from tinybits_ext.c:4:
In file included from ./tinybits.h:315:
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
14 | #error "This header is only meant to be used on x86 and x64 architecture"
| ^
In file included from tinybits_ext.c:4:
In file included from ./tinybits.h:315:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/17/include/immintrin.h:17:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/17/include/x86gprintrin.h:14:
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
42 | __asm__ ("hreset $0" :: "a"(__eax));
| ^
In file included from tinybits_ext.c:4:
In file included from ./tinybits.h:315:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/17/include/immintrin.h:20:
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
14 | #error "This header is only meant to be used on x86 and x64 architecture"
| ^
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:56:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
56 | return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:130:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
130 | return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:155:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
155 | return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:180:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
180 | return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:207:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
207 | return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
230 | return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:251:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
251 | return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:278:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
278 | return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:301:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
301 | return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:322:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
322 | return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:343:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
343 | return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:364:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
364 | return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:385:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
385 | return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:409:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
409 | return (__m64)__builtin_ia32_paddsb((__v8qi)__m1, (__v8qi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:433:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
433 | return (__m64)__builtin_ia32_paddsw((__v4hi)__m1, (__v4hi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/17/include/mmintrin.h:456:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
456 | return (__m64)__builtin_ia32_paddusb((__v8qi)__m1, (__v8qi)__m2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [tinybits_ext.o] Error 1
make failed, exit code 2
Is there any plans to have tibybits to support arm?
Metadata
Metadata
Assignees
Labels
No labels