Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure on x32 ABI #477

Open
abatyiev opened this issue Mar 3, 2024 · 0 comments
Open

Build failure on x32 ABI #477

abatyiev opened this issue Mar 3, 2024 · 0 comments

Comments

@abatyiev
Copy link

abatyiev commented Mar 3, 2024

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) {
      |

Here is the patch to fix the build: embree.patch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant