sfztools/sfizz

Breaks on i386: unknown type name 'Elf64_Auxinfo'

yurivict opened this issue · 5 comments

FAILED: external/abseil-cpp/absl/debugging/CMakeFiles/absl_debugging_internal.dir/internal/vdso_support.cc.o 
/usr/bin/c++  -I/wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.0/external/abseil-cpp -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wno-multichar -Werror=return-type -msse2 -Wcast-qual -Wconversion -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wformat-security -Wgnu-redeclared-enum -Winfinite-recursion -Winvalid-constexpr -Wliteral-conversion -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wself-assign -Wshadow-all -Wstring-conversion -Wtautological-overlap-compare -Wundef -Wuninitialized -Wunreachable-code -Wunused-comparison -Wunused-local-typedefs -Wunused-result -Wvla -Wwrite-strings -Wno-float-conversion -Wno-implicit-float-conversion -Wno-implicit-int-float-conversion -Wno-implicit-int-conversion
  -Wno-shorten-64-to-32 -Wno-sign-conversion -Wno-unknown-warning-option -DNOMINMAX -std=gnu++17 -MD -MT external/abseil-cpp/absl/debugging/CMakeFiles/absl_debugging_internal.dir/internal/vdso_support.cc.o -MF external/abseil-cpp/absl/debugging/CMakeFiles/absl_debugging_internal.dir/internal/vdso_support.cc.o.d -o external/abseil-cpp/absl/debugging/CMakeFiles/absl_debugging_internal.dir/internal/vdso_support.cc.o -c /wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.0/external/abseil-cpp/absl/debugging/internal/vdso_support.cc
/wrkdirs/usr/ports/audio/sfizz/work/sfizz-1.2.0/external/abseil-cpp/absl/debugging/internal/vdso_support.cc:54:22: error: unknown type name 'Elf64_Auxinfo'
using Elf64_auxv_t = Elf64_Auxinfo;
                     ^
1 error generated.

Version: 1.2.0
FreeBSD 13.0-RELEASE

This is the full extract:

#if defined(__FreeBSD__)
#if defined(__ELF_WORD_SIZE) && __ELF_WORD_SIZE == 64
using Elf64_auxv_t = Elf64_Auxinfo;
#endif
using Elf32_auxv_t = Elf32_Auxinfo;
#endif

so I guess the elf word size is set to 64? If it's a bug, you might want to ping the people over at https://github.com/abseil/abseil-cpp

Where is __ELF_WORD_SIZE defined?

You are facing a problem with abseil, which is a sfizz dependency and that define looks like part of your OS source files.
I wonder if you could install abseil from FreeBSD ports instead build it yourself and enable SFIZZ_USE_SYSTEM_ABSEIL in your CMake configuration and see if that helps.

Pending #1117

Pending #1117

Should be OK now, can you please tell us if this is still an issue?