Comments (6)
The solution to this seems to be adding the llvm stuff to your path after you brew install
it.
Here's an example from my own shell config:
### LLVM stuff
export PATH="$(brew --prefix llvm)/bin:$PATH"
from scry.
What is the out put of
cc -o "/Users/.../.cache/crystal/crystal-run-scry.tmp" "${@}" -rdynamic -lz `pkg-config --libs libssl || printf %s '-lssl -lcrypto'` `pkg-config --libs libcrypto || printf %s '-lcrypto'` /usr/local/Cellar/crystal-lang/0.18.7/src/llvm/ext/llvm_ext.o `$(command -v llvm-config-3.6 || command -v llvm-config36 || command -v llvm-config-3.5 || command -v llvm-config35 || command -v llvm-config) --libs --system-libs --ldflags 2> /dev/null` -lstdc++ -lpcre -lgc -lpthread /usr/local/Cellar/crystal-lang/0.18.7/src/ext/libcrystal.a -levent -liconv -ldl -L/usr/lib -L/usr/local/lib
from scry.
Undefined symbols for architecture x86_64:
"llvm::MetadataTracking::track(void*, llvm::Metadata&, llvm::PointerUnion<llvm::MetadataAsValue*, llvm::Metadata*>)", referenced from:
llvm::TrackingMDRef::operator=(llvm::TrackingMDRef const&) in llvm_ext.o
"llvm::MetadataTracking::untrack(void*, llvm::Metadata&)", referenced from:
llvm::TrackingMDRef::operator=(llvm::TrackingMDRef const&) in llvm_ext.o
llvm::TrackingMDRef::~TrackingMDRef() in llvm_ext.o
"llvm::ReplaceableMetadataImpl::replaceAllUsesWith(llvm::Metadata*)", referenced from:
_LLVMMetadataReplaceAllUsesWith in llvm_ext.o
"llvm::DIRef<llvm::DIType>::DIRef(llvm::Metadata const*)", referenced from:
_LLVMDIBuilderCreateLocalVariable in llvm_ext.o
"llvm::MDNode::getTemporary(llvm::LLVMContext&, llvm::ArrayRef<llvm::Metadata*>)", referenced from:
_LLVMTemporaryMDNode in llvm_ext.o
"llvm::MDNode::deleteTemporary(llvm::MDNode*)", referenced from:
_LLVMMetadataReplaceAllUsesWith in llvm_ext.o
"llvm::DebugLoc::get(unsigned int, unsigned int, llvm::MDNode*, llvm::MDNode*)", referenced from:
_LLVMSetCurrentDebugLocation2 in llvm_ext.o
"llvm::DIBuilder::createFile(llvm::StringRef, llvm::StringRef)", referenced from:
_LLVMDIBuilderCreateFile in llvm_ext.o
"llvm::DIBuilder::insertDeclare(llvm::Value*, llvm::DIVariable, llvm::DIExpression, llvm::BasicBlock*)", referenced from:
_LLVMDIBuilderInsertDeclareAtEnd in llvm_ext.o
"llvm::DIBuilder::createFunction(llvm::DIDescriptor, llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DICompositeType, bool, bool, unsigned int, unsigned int, bool, llvm::Function*, llvm::MDNode*, llvm::MDNode*)", referenced from:
_LLVMDIBuilderCreateFunction in llvm_ext.o
"llvm::DIBuilder::createBasicType(llvm::StringRef, unsigned long long, unsigned long long, unsigned int)", referenced from:
_LLVMDIBuilderCreateBasicType in llvm_ext.o
"llvm::DIBuilder::createEnumerator(llvm::StringRef, long long)", referenced from:
_LLVMDIBuilderCreateEnumerator in llvm_ext.o
"llvm::DIBuilder::createExpression(llvm::ArrayRef<long long>)", referenced from:
_LLVMDIBuilderCreateExpression in llvm_ext.o
"llvm::DIBuilder::createMemberType(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned long long, unsigned int, llvm::DIType)", referenced from:
_LLVMDIBuilderCreateMemberType in llvm_ext.o
"llvm::DIBuilder::createStructType(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, unsigned int, llvm::DIType, llvm::DITypedArray<llvm::DIDescriptor>, unsigned int, llvm::DIType, llvm::StringRef)", referenced from:
_LLVMDIBuilderCreateStructType in llvm_ext.o
"llvm::DIBuilder::getOrCreateArray(llvm::ArrayRef<llvm::Metadata*>)", referenced from:
_LLVMDIBuilderGetOrCreateArray in llvm_ext.o
"llvm::DIBuilder::createCompileUnit(unsigned int, llvm::StringRef, llvm::StringRef, llvm::StringRef, bool, llvm::StringRef, unsigned int, llvm::StringRef, llvm::DIBuilder::DebugEmissionKind, bool)", referenced from:
_LLVMDIBuilderCreateCompileUnit in llvm_ext.o
"llvm::DIBuilder::createPointerType(llvm::DIType, unsigned long long, unsigned long long, llvm::StringRef)", referenced from:
_LLVMDIBuilderCreatePointerType in llvm_ext.o
"llvm::DIBuilder::createLexicalBlock(llvm::DIDescriptor, llvm::DIFile, unsigned int, unsigned int)", referenced from:
_LLVMDIBuilderCreateLexicalBlock in llvm_ext.o
"llvm::DIBuilder::createLocalVariable(unsigned int, llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, llvm::DIRef<llvm::DIType>, bool, unsigned int, unsigned int)", referenced from:
_LLVMDIBuilderCreateLocalVariable in llvm_ext.o
"llvm::DIBuilder::createSubroutineType(llvm::DIFile, llvm::DITypedArray<llvm::DIRef<llvm::DIType> >, unsigned int)", referenced from:
_LLVMDIBuilderCreateSubroutineType in llvm_ext.o
"llvm::DIBuilder::getOrCreateTypeArray(llvm::ArrayRef<llvm::Metadata*>)", referenced from:
_LLVMDIBuilderGetOrCreateTypeArray in llvm_ext.o
"llvm::DIBuilder::createEnumerationType(llvm::DIDescriptor, llvm::StringRef, llvm::DIFile, unsigned int, unsigned long long, unsigned long long, llvm::DITypedArray<llvm::DIDescriptor>, llvm::DIType, llvm::StringRef)", referenced from:
_LLVMDIBuilderCreateEnumerationType in llvm_ext.o
"llvm::DIBuilder::finalize()", referenced from:
_LLVMDIBuilderFinalize in llvm_ext.o
"llvm::DIBuilder::DIBuilder(llvm::Module&, bool)", referenced from:
_LLVMNewDIBuilder in llvm_ext.o
"llvm::DIScope::getRef() const", referenced from:
_LLVMDIBuilderCreateLocalVariable in llvm_ext.o
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
from scry.
Did you brew install crystal-lang --with-llvm
?
from scry.
Hello @kofno :
Thanks for the help. I reinstalled crystal with llvm and i'm now receiving:
Error in /usr/local/Cellar/crystal-lang/0.18.7/src/llvm/lib_llvm.cr:3: expanding macro
{% begin %}
^
in /usr/local/Cellar/crystal-lang/0.18.7/src/llvm/lib_llvm.cr:5: error executing command: command -v llvm-config-3.8 || command -v llvm-config38 || (command -v llvm-config > /dev/null && (case "$(llvm-config --version)" in 3.8*) command -v llvm-config;; *) false;; esac)) || command -v llvm-config-3.6 || command -v llvm-config36 || command -v llvm-config-3.5 || command -v llvm-config35 || command -v llvm-config , got exit status 1
LLVM_CONFIG = {{`command -v llvm-config-3.8 || command -v llvm-config38 || (command -v llvm-config > /dev/null && (case "$(llvm-config --version)" in 3.8*) command -v llvm-config;; *) false;; esac)) || command -v llvm-config-3.6 || command -v llvm-config36 || command -v llvm-config-3.5 || command -v llvm-config35 || command -v llvm-config `.chomp.stringify}}
Any idea on what could be wrong in my installation?
from scry.
That worked, thanks again.
from scry.
Related Issues (20)
- test failure with latest commit on master and crystal 0.26 HOT 5
- `flag?` crashes compiler HOT 4
- https://github.com/crystal-lang/crystal/issues/7151 HOT 6
- This library should have a set of benchmarks HOT 1
- What unit does scry use in lsp ranges HOT 1
- Building gives `undefined constant Crystal::Codegen::Target` error HOT 12
- Extract LSP protocol to a shard? HOT 2
- Stop depending on the real stdlib for our specs
- Speedup by going full async and manage tasks intelligently HOT 1
- Debug idea: use lsp-inspector
- Prelude Error Message HOT 2
- Completion fails using Emacs and lsp-mode
- Incorrect path reference
- specs failing... HOT 1
- Is the project abandoned? HOT 4
- Fails to build with crystal 0.36 HOT 1
- Broken JSON-RPC message HOT 3
- Build failure on master branch, Crystal 1.0.0; dependency resolution problem. HOT 1
- Can't build with Crystal 1.3.2 (Error: no overload matches 'Crystal.exit' with types Int32) HOT 3
- scry starts itself up and take over 3 gigs of memory
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scry.