WebAssembly / WebAssembly/wasi-libc
wasi-libc fails to build
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1k
- Forks
- 251
- Avg merge
- 7h 15m
- Merged PRs (30d)
- 3
Description
When attempting to build wasm-libc, I get the following error:
$ make
[...]
diff -wur /Users/jmg/wasm/wasi-libc/expected/wasm32-wasi/defined-symbols.txt /Users/jmg/wasm/wasi-libc/sysroot/share/wasm32-wasi/defined-symbols.txt
--- /Users/jmg/wasm/wasi-libc/expected/wasm32-wasi/defined-symbols.txt 2022-12-20 11:19:59
+++ /Users/jmg/wasm/wasi-libc/sysroot/share/wasm32-wasi/defined-symbols.txt 2022-12-20 11:26:07
@@ -37,6 +37,7 @@
__des_setkey
__do_des
__duplocale
+__emutls_v.errno
__env_rm_add
__errno_location
__exp2f_data
make: *** [check-symbols] Error 1
I have simply cloned wasm-libc, and did a make in the directory. I am not sure why it is failing.
Environment:
macOS Ventura 13.0.1, MBP 14-inch, 2021, M1 Pro, Rosetta 2 is NOT installed, so only native arm binaries.
$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-apple-darwin11.3.0
$ clang --version
clang version 13.0.1
Target: arm64-apple-darwin22.1.0
Thread model: posix
InstalledDir: /opt/local/libexec/llvm-13/bin
$ llvm-ar --version
LLVM (http://llvm.org/):
LLVM version 13.0.1
Optimized build.
Default target: arm64-apple-darwin22.1.0
Host CPU: cyclone
$ llvm-nm --version
llvm-nm, compatible with GNU nm
LLVM (http://llvm.org/):
LLVM version 13.0.1
Optimized build.
Default target: arm64-apple-darwin22.1.0
Host CPU: cyclone
$ clang -print-targets
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_32 - AArch64 (little endian ILP32)
aarch64_be - AArch64 (big endian)
amdgcn - AMD GCN GPUs
arm - ARM
arm64 - ARM64 (little endian)
arm64_32 - ARM64 (little endian ILP32)
armeb - ARM (big endian)
avr - Atmel AVR Microcontroller
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
hexagon - Hexagon
lanai - Lanai
mips - MIPS (32-bit big endian)
mips64 - MIPS (64-bit big endian)
mips64el - MIPS (64-bit little endian)
mipsel - MIPS (32-bit little endian)
msp430 - MSP430 [experimental]
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc32le - PowerPC 32 LE
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
r600 - AMD GPUs HD2XXX-HD6XXX
riscv32 - 32-bit RISC-V
riscv64 - 64-bit RISC-V
sparc - Sparc
sparcel - Sparc LE
sparcv9 - Sparc V9
systemz - SystemZ
thumb - Thumb
thumbeb - Thumb (big endian)
wasm32 - WebAssembly 32-bit
wasm64 - WebAssembly 64-bit
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
xcore - XCore
Let me know if you need additional environment information.
Thanks.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure with make on the reported macOS and LLVM setup, then inspect the check-symbols target and the expected/wasm32-wasi/defined-symbols.txt comparison. Determine why __emutls_v.errno appears in the generated symbol list; done means make completes and the symbol check passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, wasm
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100