Odin
Odin copied to clipboard
LLVM error building `demo.odin` with `make all` on Linux off of head of `master`
Context
- Environment details:
uname --all
> Linux 5.13.6-arch1-1 #1 SMP PREEMPT Thu, 29 Jul 2021 00:21:06 +0000 x86_64 GNU/Linux
llvm-config --version
> 11.0.1
git log -1
> commit 700624119beb5ebf6b9ec4e16ece2ba455c7cae1 (HEAD -> master, upstream/master)
> Author: gingerBill <[email protected]>
> Date: Thu Jul 29 12:35:11 2021 +0100
>
> Give `begin_error_block` its own recursive mutex
- Please paste
odin versionoutput:
odin version
/home/jim/projects/Odin/odin version dev-2021-07:70062411
Expected Behavior
make all should build the odin compiler and successfully build the demo.odin program
Current Behavior
make all
clang src/main.cpp src/libtommath.cpp -Wno-switch -Wno-pointer-sign -Wno-tautological-constant-out-of-range-compare -Wno-tautological-compare -Wno-macro-redefined -Wno-unused-value -std=c++14 -DGIT_SHA=\"70062411\" -DODIN_VERSION_RAW=\"dev-2021-07\" -I/big-disk/llvm11/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -L/big-disk/llvm11/lib -g -pthread -ldl -lm -lstdc++ -lLLVM-11 -o odin
./odin run examples/demo/demo.odin
This one LLVM Error:
Global is external, but doesn't have external or weak linkage!
i32 ({ i64, i64 }, i8*)* @main.get_hash-19127
Global is external, but doesn't have external or weak linkage!
i64 (%"main.parametric_polymorphism.Table(string, int)-20"*, { i64, i64 }, i32, i8*)* @main.find_index-20588
Global is external, but doesn't have external or weak linkage!
void (%"main.parametric_polymorphism.Table(string, int)-20"*, i8*)* @main.expand-20593
make: *** [Makefile:42: demo] Error 1
Failure Information (for bugs)
For me at least if I run make all I get the failure above.
Steps to Reproduce
- Pull the SHA indicated above from the odin-lang repo
make all
Hello!
I am marking this issue as stale as it has not received any engagement from the community or maintainers 120 days. That does not imply that the issue has no merit! If you feel strongly about this issue
- open a PR referencing and resolving the issue;
- leave a comment on it and discuss ideas how you could contribute towards resolving it;
- leave a comment and describe in detail why this issue is critical for your use case;
- open a new issue with updated details and a plan on resolving the issue.
The motivation for this automation is to help prioritize issues in the backlog and not ignore, reject, or belittle anyone..