Skip to content

Error building for macOS #4

Closed
Closed
@rruipinheiro

Description

@rruipinheiro

Hello,

I'm having problems compiling the obfuscator llvm on macOS.
Any suggestion?

**LLVM: ** 14.0.6
**macOS SDK: ** 13.0

Output error

➜  build: ninja -j8
[5/5] Linking CXX shared library libLLVMObfuscator.dylib
FAILED: libLLVMObfuscator.dylib 
: && /Library/Developer/CommandLineTools/usr/bin/c++ -Wall -Wextra -Wno-unused-parameter -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk -mmacosx-version-min=12.6 -dynamiclib -Wl,-headerpad_max_install_names  -o libLLVMObfuscator.dylib -install_name @rpath/libLLVMObfuscator.dylib CMakeFiles/LLVMObfuscator.dir/Plugin.cpp.o CMakeFiles/LLVMObfuscator.dir/utils/Utils.cpp.o CMakeFiles/LLVMObfuscator.dir/utils/CryptoUtils.cpp.o CMakeFiles/LLVMObfuscator.dir/bogus/BogusControlFlow.cpp.o -L/usr/local/Cellar/llvm@14/14.0.6/lib -Wl,-rpath,/usr/local/Cellar/llvm@14/14.0.6/lib  /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMCore.a  /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMSupport.a  /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMBinaryFormat.a  /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMRemarks.a  /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMBitstreamReader.a  /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMSupport.a  -lm  /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/lib/libz.tbd  /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/lib/libcurses.tbd  /usr/local/Cellar/llvm@14/14.0.6/lib/libLLVMDemangle.a && :
Undefined symbols for architecture x86_64:
  "llvm::ValueMapper::mapValue(llvm::Value const&)", referenced from:
      llvm::MapValue(llvm::Value const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::RemapFlags, llvm::ValueMapTypeRemapper*, llvm::ValueMaterializer*) in BogusControlFlow.cpp.o
  "llvm::ValueMapper::ValueMapper(llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::RemapFlags, llvm::ValueMapTypeRemapper*, llvm::ValueMaterializer*)", referenced from:
      llvm::MapValue(llvm::Value const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::RemapFlags, llvm::ValueMapTypeRemapper*, llvm::ValueMaterializer*) in BogusControlFlow.cpp.o
  "llvm::ValueMapper::~ValueMapper()", referenced from:
      llvm::MapValue(llvm::Value const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::RemapFlags, llvm::ValueMapTypeRemapper*, llvm::ValueMaterializer*) in BogusControlFlow.cpp.o
  "llvm::CloneBasicBlock(llvm::BasicBlock const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&, llvm::Twine const&, llvm::Function*, llvm::ClonedCodeInfo*, llvm::DebugInfoFinder*)", referenced from:
      llvm::BogusControlFlow::createAlteredBasicBlock(llvm::BasicBlock*, llvm::Twine const&, llvm::Function*) in BogusControlFlow.cpp.o
  "llvm::DemotePHIToStack(llvm::PHINode*, llvm::Instruction*)", referenced from:
      llvm::fixStack(llvm::Function*) in Utils.cpp.o
  "llvm::DemoteRegToStack(llvm::Instruction&, bool, llvm::Instruction*)", referenced from:
      llvm::fixStack(llvm::Function*) in Utils.cpp.o
  "llvm::SubstitutionPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)", referenced from:
      llvm::detail::PassModel<llvm::Function, llvm::SubstitutionPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) in Plugin.cpp.o
  "llvm::SubstitutionPass::SubstitutionPass()", referenced from:
      llvm::addPassWithName(llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >&, llvm::StringRef&) in Plugin.cpp.o
  "llvm::SplitBasicBlockPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)", referenced from:
      llvm::detail::PassModel<llvm::Function, llvm::SplitBasicBlockPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) in Plugin.cpp.o
  "llvm::SplitBasicBlockPass::SplitBasicBlockPass()", referenced from:
      llvm::addPassWithName(llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >&, llvm::StringRef&) in Plugin.cpp.o
  "llvm::FlatteningObfuscatorPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)", referenced from:
      llvm::detail::PassModel<llvm::Function, llvm::FlatteningObfuscatorPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) in Plugin.cpp.o
  "llvm::FlatteningObfuscatorPass::FlatteningObfuscatorPass()", referenced from:
      llvm::addPassWithName(llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >&, llvm::StringRef&) in Plugin.cpp.o
  "llvm::Function::viewCFG() const", referenced from:
      llvm::BogusControlFlow::bogus(llvm::Function&) in BogusControlFlow.cpp.o
      llvm::BogusControlFlow::doF(llvm::Module&) in BogusControlFlow.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions