darlinghq / darling

Darwin/macOS emulation layer for Linux
http://www.darlinghq.org
GNU General Public License v3.0
11.56k stars 447 forks source link

Alpine 3.20: execinfo.h/libexecinfo not found (cctools-port) #1521

Open senpro-ingwersenk opened 5 months ago

senpro-ingwersenk commented 5 months ago

Build Log What is the build error?

FAILED: src/external/cctools-port/cctools/ld64/src/CMakeFiles/x86_64-apple-darwin20-ld.dir/ld/ld.cpp.o
/usr/bin/clang++ -DDARLING -DEMULATED_HOST_CPU_SUBTYPE=3 -DEMULATED_HOST_CPU_TYPE=16777223 -DHAVE_BCMP=1 -DHAVE_BCOPY=1 -DHAVE_BZERO=1 -DHAVE_DLFCN_H=1 -DHAVE_EXECINFO_H=1 -DHAVE_INDEX=1 -DHAVE_INTTYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_RINDEX=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRINGS_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DPROGRAM_PREFIX=\"x86_64-apple-darwin20-\" -DSTDC_HEADERS=1 -D__DARWIN_UNIX03 -D__STDC_CONSTANT_MACROS=1 -D__STDC_LIMIT_MACROS=1 -Du_short=uint16_t -I/opt/darling/build/src/include -I/opt/darling/src/include -I/opt/darling/src/external/cctools-port/cctools/ld64/src/../../include -I/opt/darling/src/external/cctools-port/cctools/ld64/src/../../include/foreign -I/opt/darling/src/external/cctools-port/cctools/ld64/src/ld -I/opt/darling/src/external/cctools-port/cctools/ld64/src/ld/parsers -I/opt/darling/src/external/cctools-port/cctools/ld64/src/3rd -I/opt/darling/src/external/cctools-port/cctools/ld64/src/3rd/BlocksRuntime -I/opt/darling/src/external/cctools-port/cctools/ld64/src/3rd/include -I/opt/darling/src/external/cctools-port/cctools/ld64/src/abstraction -I/opt/darling/src/external/cctools-port/cctools/ld64/src -isystem /usr/lib/llvm17/lib/clang/17/include -Wno-nullability-completeness -Wno-deprecated-declarations -Wno-availability -Wno-expansion-to-defined -Wno-elaborated-enum-base -Wno-undef-prefix -fblocks -std=c++11 -Wno-long-long -Wno-import -Wno-format -Wno-deprecated -Wno-unused-variable -Wno-unused-private-field -Wno-unused-function -Wno-invalid-offsetof -Wno-int-conversion -Wno-char-subscripts -Wno-shift-negative-value   -U__APPLE__ -MD -MT src/external/cctools-port/cctools/ld64/src/CMakeFiles/x86_64-apple-darwin20-ld.dir/ld/ld.cpp.o -MF src/external/cctools-port/cctools/ld64/src/CMakeFiles/x86_64-apple-darwin20-ld.dir/ld/ld.cpp.o.d -o src/external/cctools-port/cctools/ld64/src/CMakeFiles/x86_64-apple-darwin20-ld.dir/ld/ld.cpp.o -c /opt/darling/src/external/cctools-port/cctools/ld64/src/ld/ld.cpp
/opt/darling/src/external/cctools-port/cctools/ld64/src/ld/ld.cpp:40:10: fatal error: 'execinfo.h' file not found
   40 | #include <execinfo.h>
      |          ^~~~~~~~~~~~
1 error generated.

System Information Alpine 3.20, amd64, wsl2

Software Version
Clang 17.0.6
CMake 3.29.3
Linux Kernel 5.15.146.1-microsoft-standard-WSL2
Darling git describe --tags: v0.1.20220704-376-g203af1f60

I updated to 3.20 today and during the initial setup, I noticed that libexecinfo-dev was not available. Turns out it's a glibc thing; whilst Alpine uses musl.

I verified, via ccmake, that EXECINFO is indeed not found (as expected) but HAVE_EXECINFO_H seems to be set, because it is included.

Any ideas how I can work around that?

Kind regards!