Skip to content

Instantly share code, notes, and snippets.

@Techcable
Last active June 28, 2022 02:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Techcable/6d62b4f3f2ed1dd3b585de7c7f7f8db9 to your computer and use it in GitHub Desktop.
Save Techcable/6d62b4f3f2ed1dd3b585de7c7f7f8db9 to your computer and use it in GitHub Desktop.
Issue with zig __libc_single_threaded on Arch: ziglang/zig#11137
LLVM Emit Object... Code Generation [47/696] compiler_rt.atomics.__atomic_compare_exchange_4...
LLD Link... ld.lld: error: undefined symbol: __libc_single_threaded
>>> referenced by atomicity.h:52 (/usr/include/c++/12.1.0/ext/atomicity.h:52)
>>> zig_llvm.cpp.o:(std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release
()) in archive /home/nicholas/git/zig/build/zigcpp/libzigcpp.a
>>> referenced by atomicity.h:52 (/usr/include/c++/12.1.0/ext/atomicity.h:52)
>>> zig_llvm.cpp.o:(std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release
_last_use()) in archive /home/nicholas/git/zig/build/zigcpp/libzigcpp.a
>>> referenced by cow-string-inst.o:(std::basic_string<char, std::char_traits<char>, std::alloc
ator<char> >::~basic_string()) in archive /usr/lib/libstdc++.a
>>> referenced 393 more times
ld.lld: error: undefined symbol: getentropy
>>> referenced by random.o:(std::(anonymous namespace)::__libc_getentropy(void*)) in archive /u
sr/lib/libstdc++.a
>>> referenced by random.o:(std::random_device::_M_init(std::__cxx11::basic_string<char, std::c
har_traits<char>, std::allocator<char> > const&)) in archive /usr/lib/libstdc++.a
thread 17823 panic: attempt to unwrap error: LLDReportedFailure
/home/nicholas/git/zig/src/link.zig:635:21: 0x55b9f5ca8bc0 in link.File.flush (zig1)
.elf => return @fieldParentPtr(Elf, "base", base).flush(comp, prog_node),
^
/home/nicholas/git/zig/src/Compilation.zig:2325:5: 0x55b9f5c76a37 in Compilation.flush (zig1)
try comp.bin_file.flush(comp, prog_node); // This is needed before reading the error flags.
^
/home/nicholas/git/zig/src/Compilation.zig:2294:13: 0x55b9f5c6c3cf in Compilation.update (zig1)
try comp.flush(main_progress_node);
^
/home/nicholas/git/zig/src/main.zig:3184:5: 0x55b9f5bfb3cd in main.updateModule (zig1)
try comp.update();
^
/home/nicholas/git/zig/src/main.zig:2875:21: 0x55b9f5b57e55 in main.buildOutputType (zig1)
else => |e| return e,
^
/home/nicholas/git/zig/src/main.zig:219:9: 0x55b9f5b062d3 in main.mainArgs (zig1)
return buildOutputType(gpa, arena, args, .{ .build = .Exe });
^
/home/nicholas/git/zig/lib/std/os.zig:2749:19: 0x55b9f5b906b0 in std.os.mkdiratZ (zig1)
.EXIST => return error.PathAlreadyExists,
^
/home/nicholas/git/zig/lib/std/os.zig:2709:9: 0x55b9f5b90566 in std.os.mkdirat (zig1)
return mkdiratZ(dir_fd, &sub_dir_path_c, mode);
^
/home/nicholas/git/zig/lib/std/fs.zig:1283:9: 0x55b9f5b90476 in std.fs.Dir.makeDir (zig1)
try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
^
/home/nicholas/git/zig/lib/std/os.zig:2749:19: 0x55b9f5b906b0 in std.os.mkdiratZ (zig1)
.EXIST => return error.PathAlreadyExists,
^
/home/nicholas/git/zig/lib/std/os.zig:2709:9: 0x55b9f5b90566 in std.os.mkdirat (zig1)
return mkdiratZ(dir_fd, &sub_dir_path_c, mode);
^
/home/nicholas/git/zig/lib/std/fs.zig:1283:9: 0x55b9f5b90476 in std.fs.Dir.makeDir (zig1)
try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
^
/home/nicholas/git/zig/lib/std/os.zig:2749:19: 0x55b9f5b906b0 in std.os.mkdiratZ (zig1)
.EXIST => return error.PathAlreadyExists,
^
/home/nicholas/git/zig/lib/std/os.zig:2709:9: 0x55b9f5b90566 in std.os.mkdirat (zig1)
return mkdiratZ(dir_fd, &sub_dir_path_c, mode);
^
/home/nicholas/git/zig/lib/std/fs.zig:1283:9: 0x55b9f5b90476 in std.fs.Dir.makeDir (zig1)
try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
^
/home/nicholas/git/zig/lib/std/os.zig:2749:19: 0x55b9f5b906b0 in std.os.mkdiratZ (zig1)
.EXIST => return error.PathAlreadyExists,
^
/home/nicholas/git/zig/lib/std/os.zig:2709:9: 0x55b9f5b90566 in std.os.mkdirat (zig1)
return mkdiratZ(dir_fd, &sub_dir_path_c, mode);
^
/home/nicholas/git/zig/lib/std/fs.zig:1283:9: 0x55b9f5b90476 in std.fs.Dir.makeDir (zig1)
try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
^
/home/nicholas/git/zig/lib/std/os.zig:2749:19: 0x55b9f5b906b0 in std.os.mkdiratZ (zig1)
.EXIST => return error.PathAlreadyExists,
^
/home/nicholas/git/zig/lib/std/os.zig:2709:9: 0x55b9f5b90566 in std.os.mkdirat (zig1)
return mkdiratZ(dir_fd, &sub_dir_path_c, mode);
^
/home/nicholas/git/zig/lib/std/fs.zig:1283:9: 0x55b9f5b90476 in std.fs.Dir.makeDir (zig1)
try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
^
/home/nicholas/git/zig/lib/std/os.zig:2749:19: 0x55b9f5b906b0 in std.os.mkdiratZ (zig1)
.EXIST => return error.PathAlreadyExists,
^
/home/nicholas/git/zig/lib/std/os.zig:2709:9: 0x55b9f5b90566 in std.os.mkdirat (zig1)
return mkdiratZ(dir_fd, &sub_dir_path_c, mode);
^
/home/nicholas/git/zig/lib/std/fs.zig:1283:9: 0x55b9f5b90476 in std.fs.Dir.makeDir (zig1)
try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
^
/home/nicholas/git/zig/lib/std/os.zig:2749:19: 0x55b9f5b906b0 in std.os.mkdiratZ (zig1)
.EXIST => return error.PathAlreadyExists,
^
/home/nicholas/git/zig/lib/std/os.zig:2709:9: 0x55b9f5b90566 in std.os.mkdirat (zig1)
return mkdiratZ(dir_fd, &sub_dir_path_c, mode);
^
/home/nicholas/git/zig/lib/std/fs.zig:1283:9: 0x55b9f5b90476 in std.fs.Dir.makeDir (zig1)
try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
^
/home/nicholas/git/zig/lib/std/os.zig:2749:19: 0x55b9f5b906b0 in std.os.mkdiratZ (zig1)
.EXIST => return error.PathAlreadyExists,
^
/home/nicholas/git/zig/lib/std/os.zig:2709:9: 0x55b9f5b90566 in std.os.mkdirat (zig1)
return mkdiratZ(dir_fd, &sub_dir_path_c, mode);
^
/home/nicholas/git/zig/lib/std/fs.zig:1283:9: 0x55b9f5b90476 in std.fs.Dir.makeDir (zig1)
try os.mkdirat(self.fd, sub_path, default_new_dir_mode);
^
/home/nicholas/git/zig/src/link/Elf.zig:1806:29: 0x55b9f5cbeaac in link.Elf.linkWithLLD (zig1)
return error.LLDReportedFailure;
^
/home/nicholas/git/zig/src/link/Elf.zig:946:9: 0x55b9f5cab8d0 in link.Elf.flush (zig1)
return self.linkWithLLD(comp, prog_node);
^
???:?:?: 0x55b9f5b07c5b in ??? (/home/nicholas/git/zig/src/stage1/stage1.cpp)
/home/nicholas/git/zig/src/stage1.zig:48:43: 0x55b9f5b05de8 in main (zig1)
stage2.mainArgs(gpa, arena, args) catch unreachable;
^
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment