The x32 ABI is an ABI for x86_64 instruction set, where all pointers are 32bit. https://en.wikipedia.org/wiki/X32_ABI
It is supported on Gentoo and Debian.
However, we I try to build embree on Gentoo, I'm getting following error:
In file included from /var/tmp/portage/media-libs/embree-3.13.4/work/embree-3.13.4/common/sys/alloc.cpp:5:
/var/tmp/portage/media-libs/embree-3.13.4/work/embree-3.13.4/common/sys/intrinsics.h:284:24: error: redefinition of ‘size_t embree::bsf(size_t)’
284 | __forceinline size_t bsf(size_t v) {
| ^~~
/var/tmp/portage/media-libs/embree-3.13.4/work/embree-3.13.4/common/sys/intrinsics.h:268:26: note: ‘unsigned int embree::bsf(unsigned int)’ previously defined here
268 | __forceinline unsigned bsf(unsigned v)
| ^~~
/var/tmp/portage/media-libs/embree-3.13.4/work/embree-3.13.4/common/sys/intrinsics.h:314:24: error: redefinition of ‘size_t embree::bscf(size_t&)’
314 | __forceinline size_t bscf(size_t& v)
| ^~~~
/var/tmp/portage/media-libs/embree-3.13.4/work/embree-3.13.4/common/sys/intrinsics.h:306:30: note: ‘unsigned int embree::bscf(unsigned int&)’ previously defined here
306 | __forceinline unsigned int bscf(unsigned int& v)
| ^~~~
/var/tmp/portage/media-libs/embree-3.13.4/work/embree-3.13.4/common/sys/intrinsics.h:343:24: error: redefinition of ‘size_t embree::bsr(size_t)’
343 | __forceinline size_t bsr(size_t v) {
| ^~~
/var/tmp/portage/media-libs/embree-3.13.4/work/embree-3.13.4/common/sys/intrinsics.h:332:26: note: ‘unsigned int embree::bsr(unsigned int)’ previously defined here
332 | __forceinline unsigned bsr(unsigned v) {
|
The x32 ABI is an ABI for x86_64 instruction set, where all pointers are 32bit. https://en.wikipedia.org/wiki/X32_ABI It is supported on Gentoo and Debian.
However, we I try to build embree on Gentoo, I'm getting following error:
Here is the patch to fix the build: embree.patch