Trying to install Odin to test-drive.
~/Git/Odin
$ export LLVM_CONFIG=/usr/bin ; echo $LLVM_CONFIG
/usr/bin
~/Git/Odin
$ make release-native
./build_odin.sh release-native
./build_odin.sh: 70: /usr/bin: Permission denied
make: *** [Makefile:19: release-native] Error 126
Any ideas? TIA …
xuul
24 November 2025 20:13
2
The build_odin.sh script should find it on it’s own. Should not need to export that path unless you are trying to use a specific version other than your system’s default.
Only need “make release-native”. It will call “build_odin.sh release-native” for you.
Should get version number in terminal from “llvm-config --version” if it can be found in your PATH.
If trying to use a specific version, try putting the command name at the end of your export. If it has a version number as part of the name (i.e. llvm-config-20) use that instead.
export LLVM_CONFIG=/pathtollvm-config/llvm-config
or for specific version number
export LLVM_CONFIG=/pathtollvm-config/llvm-config-20
Thx! But running the following w/o LLVM_CONFIG gives me the same problem.
~/Git/Odin
make release-native
./build_odin.sh release-native
./build_odin.sh: 70: /usr/bin: Permission denied
make: *** [Makefile:19: release-native] Error 126
xuul
24 November 2025 20:35
4
What does “llvm-config --version” in terminal ouput?
$ llvm-config --version
14.0.6
xuul
24 November 2025 20:38
6
What about “which llvm-config” command?
which llvm-config
/usr/bin/llvm-config
xuul
24 November 2025 20:48
8
Not sure about permission error if you can run llvm-config in terminal. That’s weird.
Line 70 of the build script does
LLVM_VERSION=“$($LLVM_CONFIG --version)”
same as “llvm-config --version” in terminal.
Thx anyway for your input.
xuul
24 November 2025 20:51
10
Could always try running with sudo to bypass permissions. That’s up to you though.
sudo make release-native
sudo make release-native
./build_odin.sh release-native
llvm-config: error: component libraries and shared library
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMDemangle.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMSupport.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMBinaryFormat.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMBitstreamReader.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMRemarks.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMCore.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMBitReader.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMDebugInfoCodeView.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMMC.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMMCParser.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMTextAPI.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMObject.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMDebugInfoDWARF.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMProfileData.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMAnalysis.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMBitWriter.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMTransformUtils.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMAggressiveInstCombine.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMInstCombine.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMScalarOpts.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMTarget.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMCodeGen.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMDebugInfoMSF.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMAsmPrinter.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMInstrumentation.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMSelectionDAG.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMMCDisassembler.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMX86Info.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMX86Desc.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMGlobalISel.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMCFGuard.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMX86CodeGen.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMX86AsmParser.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMX86Disassembler.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMMCA.a
llvm-config: error: missing: /usr/lib/llvm-14/lib/libLLVMX86TargetMCA.a
make: *** [Makefile:19: release-native] Error 1
xuul
24 November 2025 20:58
12
Aaah. Looks like you need llvm-dev installed.
If on an Ubuntu like distro:
sudo apt install llvm-dev
Thx - I’ll give that a shot. L8r …
OK - got it installed and `make release-native’ again.
It compiled - I guess. No errors showed up, but how do I run it?
$ odin
bash: odin: command not found
This is what I got after trying to build again:
sudo make release-native
./build_odin.sh release-native
clang++ src/main.cpp src/libtommath.cpp -Wno-switch -Wno-macro-redefined -Wno-unused-value -DGIT_SHA=“9712624e0” -DODIN_VERSION_RAW=“dev-2025-11” -std=c++14 -I/usr/lib/llvm-14/include -std=c++14 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -L/usr/lib/llvm-14/lib -O3 -march=native -pthread -lm -lstdc++ -ldl /usr/lib/llvm-14/lib/libLLVM-14.so -Wl,-rpath=$ORIGIN -o odin
set +x
~/Git/Odin
xuul
25 November 2025 00:16
16
Is clang installed?
The 3 main dependencies are clang, llvm, and llvm-dev.
To have Odin in your path, I do the following which prevents it from being added multiple times each time bash is reloaded.
At bottom of ~/.bashrc file, replace “$HOME/odin” with the path you are using.
if [[ ":$PATH:" != *":$HOME/odin:"* ]]; then PATH=${PATH}:$HOME/odin; fi
Then either close terminal and reopen it to reload bash, or type “exec bash”
clang -v
Debian clang version 14.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/…/lib/gcc/x86_64-linux-gnu/12
Selected GCC installation: /usr/bin/…/lib/gcc/x86_64-linux-gnu/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
I’ve been in and out of my shell!
The build process never finished I’m thinking. It just quit without giving any message. Odin is not on my HDD.
Where does Odin typically get installed?
xuul
25 November 2025 00:47
18
I took a very brief look at antiX Linux. It appears to be a stripped down version of Debian, which might be missing some dependencies not documented for a typical Odin environment. Maybe take a look at the bit about “atomic.h” requirement on the documentation page.
I’ll check it out. Thx
locate libstdc+±12-dev
/usr/share/doc/libstdc+±12-dev
ls /usr/lib/gcc/x86_64-linux-gnu/12/libstdc++.so
/usr/lib/gcc/x86_64-linux-gnu/12/libstdc++.so
xuul
25 November 2025 02:57
20
It’s in the same directory as the source after it compiles. I recommend you leave it there, because it will reference common folders also found in that directory. Just add the path to where the source is to your PATH.