Problem installing on antiX Linux

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 …

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

What does “llvm-config --version” in terminal ouput?

$ llvm-config --version
14.0.6

What about “which llvm-config” command?

which llvm-config
/usr/bin/llvm-config

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.

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

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

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?

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

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.