Skip to content

Build failure on x32 ABI #477

@abatyiev

Description

@abatyiev

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions