zaskar9 / oberon-lang

An LLVM frontend for the Oberon programming language
MIT License
17 stars 2 forks source link

Can not build on Linux #7

Closed aixp closed 7 months ago

aixp commented 8 months ago
$ mkdir build
$ cd build
$ cmake .. -G "Unix Makefiles"
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /usr/lib/cmake/Boost-1.83.0/BoostConfig.cmake (found version "1.83.0") found components: filesystem program_options 
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /usr/lib/libffi.so  
-- Performing Test Terminfo_LINKABLE
-- Performing Test Terminfo_LINKABLE - Success
-- Found Terminfo: /usr/lib/libtinfo.so  
-- Found ZLIB: /usr/lib/libz.so (found version "1.3")  
-- Found zstd: /usr/lib/libzstd.so  
-- Found LibXml2: /usr/lib/libxml2.so (found version "2.12.3") 
-- Found LLVM: 16.0.6
-- Found Boost: /usr/lib/cmake/Boost-1.83.0/BoostConfig.cmake (found version "1.83.0") found components: filesystem 
-- Configuring done (0.6s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/install/oberon-lang/build

$ make
[  1%] Building CXX object src/CMakeFiles/oberon-lang.dir/main.cpp.o
[  3%] Building CXX object src/CMakeFiles/oberon-lang.dir/logging/Logger.cpp.o
[  5%] Building CXX object src/CMakeFiles/oberon-lang.dir/scanner/Scanner.cpp.o
[  6%] Building CXX object src/CMakeFiles/oberon-lang.dir/scanner/Token.cpp.o
[  8%] Building CXX object src/CMakeFiles/oberon-lang.dir/scanner/LiteralToken.cpp.o
[ 10%] Building CXX object src/CMakeFiles/oberon-lang.dir/scanner/IdentToken.cpp.o
[ 11%] Building CXX object src/CMakeFiles/oberon-lang.dir/scanner/UndefinedToken.cpp.o
[ 13%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/Ident.cpp.o
[ 15%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/Selector.cpp.o
[ 16%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/NodeVisitor.cpp.o
[ 18%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/Node.cpp.o
[ 20%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/ExpressionNode.cpp.o
[ 22%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/TypeNode.cpp.o
[ 23%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/ArrayTypeNode.cpp.o
[ 25%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/BasicTypeNode.cpp.o
[ 27%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/ProcedureTypeNode.cpp.o
[ 28%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/RecordTypeNode.cpp.o
[ 30%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/PointerTypeNode.cpp.o
[ 32%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/BlockNode.cpp.o
[ 33%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/ModuleNode.cpp.o
[ 35%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/ProcedureNode.cpp.o
[ 37%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/DeclarationNode.cpp.o
[ 38%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/NodeReference.cpp.o
[ 40%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/StatementNode.cpp.o
[ 42%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/AssignmentNode.cpp.o
[ 44%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/IfThenElseNode.cpp.o
[ 45%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/LoopNode.cpp.o
[ 47%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/StatementSequenceNode.cpp.o
[ 49%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/ImportNode.cpp.o
[ 50%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/ast/NodePrettyPrinter.cpp.o
[ 52%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/symtab/SymbolTable.cpp.o
[ 54%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/symtab/Scope.cpp.o
[ 55%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/symtab/SymbolFile.cpp.o
[ 57%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/symtab/SymbolExporter.cpp.o
[ 59%] Building CXX object src/CMakeFiles/oberon-lang.dir/data/symtab/SymbolImporter.cpp.o
[ 61%] Building CXX object src/CMakeFiles/oberon-lang.dir/parser/Parser.cpp.o
[ 62%] Building CXX object src/CMakeFiles/oberon-lang.dir/system/OberonSystem.cpp.o
[ 64%] Building CXX object src/CMakeFiles/oberon-lang.dir/system/PredefinedProcedure.cpp.o
[ 66%] Building CXX object src/CMakeFiles/oberon-lang.dir/analyzer/Analyzer.cpp.o
[ 67%] Building CXX object src/CMakeFiles/oberon-lang.dir/analyzer/SemanticAnalysis.cpp.o
[ 69%] Building CXX object src/CMakeFiles/oberon-lang.dir/analyzer/LambdaLifter.cpp.o
[ 71%] Building CXX object src/CMakeFiles/oberon-lang.dir/codegen/CodeGen.cpp.o
[ 72%] Building CXX object src/CMakeFiles/oberon-lang.dir/codegen/llvm/LLVMIRBuilder.cpp.o
[ 74%] Building CXX object src/CMakeFiles/oberon-lang.dir/codegen/llvm/LLVMCodeGen.cpp.o
[ 76%] Building CXX object src/CMakeFiles/oberon-lang.dir/compiler/CompilerFlags.cpp.o
[ 77%] Building CXX object src/CMakeFiles/oberon-lang.dir/compiler/CompilationStatus.cpp.o
[ 79%] Building CXX object src/CMakeFiles/oberon-lang.dir/compiler/Compiler.cpp.o
[ 81%] Linking CXX executable oberon-lang
/usr/bin/ld: cannot find -lLLVMCore: No such file or directory
/usr/bin/ld: cannot find -lLLVMPasses: No such file or directory
/usr/bin/ld: cannot find -lLLVMAArch64CodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMAArch64AsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMAArch64Desc: No such file or directory
/usr/bin/ld: cannot find -lLLVMAArch64Disassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMAArch64Info: No such file or directory
/usr/bin/ld: cannot find -lLLVMAArch64Utils: No such file or directory
/usr/bin/ld: cannot find -lLLVMAMDGPUCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMAMDGPUAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMAMDGPUDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMAMDGPUDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMAMDGPUInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMAMDGPUUtils: No such file or directory
/usr/bin/ld: cannot find -lLLVMARMCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMARMAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMARMDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMARMDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMARMInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMARMUtils: No such file or directory
/usr/bin/ld: cannot find -lLLVMAVRCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMAVRAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMAVRDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMAVRDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMAVRInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMBPFCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMBPFAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMBPFDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMBPFDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMBPFInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMHexagonCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMHexagonAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMHexagonDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMHexagonDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMHexagonInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMLanaiCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMLanaiAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMLanaiDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMLanaiDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMLanaiInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMLoongArchCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMLoongArchAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMLoongArchDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMLoongArchDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMLoongArchInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMMipsCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMMipsAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMMipsDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMMipsDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMMipsInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMMSP430CodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMMSP430AsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMMSP430Desc: No such file or directory
/usr/bin/ld: cannot find -lLLVMMSP430Disassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMMSP430Info: No such file or directory
/usr/bin/ld: cannot find -lLLVMNVPTXCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMNVPTXDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMNVPTXInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMPowerPCCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMPowerPCAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMPowerPCDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMPowerPCDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMPowerPCInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMRISCVCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMRISCVAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMRISCVDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMRISCVDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMRISCVInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMSparcCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMSparcAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMSparcDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMSparcDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMSparcInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMSystemZCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMSystemZAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMSystemZDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMSystemZDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMSystemZInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMVECodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMVEAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMVEDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMVEDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMVEInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMWebAssemblyCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMWebAssemblyAsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMWebAssemblyDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMWebAssemblyDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMWebAssemblyInfo: No such file or directory
/usr/bin/ld: cannot find -lLLVMWebAssemblyUtils: No such file or directory
/usr/bin/ld: cannot find -lLLVMX86CodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMX86AsmParser: No such file or directory
/usr/bin/ld: cannot find -lLLVMX86Desc: No such file or directory
/usr/bin/ld: cannot find -lLLVMX86Disassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMX86Info: No such file or directory
/usr/bin/ld: cannot find -lLLVMXCoreCodeGen: No such file or directory
/usr/bin/ld: cannot find -lLLVMXCoreDesc: No such file or directory
/usr/bin/ld: cannot find -lLLVMXCoreDisassembler: No such file or directory
/usr/bin/ld: cannot find -lLLVMXCoreInfo: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/oberon-lang.dir/build.make:841: src/oberon-lang] Error 1
make[1]: *** [CMakeFiles/Makefile2:104: src/CMakeFiles/oberon-lang.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

$ llvm-config --libs
-lLLVM-16
zaskar9 commented 7 months ago

This looks like an issue with your installation of LLVM, not with the oberon-lang compiler. However, from your post I cannot diagnose what might be amiss as you did not share any information about how you installed LLVM and which flavor and version of Linux you are using.

aixp commented 7 months ago

Not applicable for f6bebb7d2da5a364dde86307d35118a30d78a68e