-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
kind:bugA bug in the code. Does not apply to documentation, specs, etc.A bug in the code. Does not apply to documentation, specs, etc.platform:darwintopic:infrastructure
Description
Bug Report
I am trying to build crystal x86_64 from MacOS M1.
It is required for crystal-lang/distribution-scripts#265
$ llvm-config --host-target
arm64-apple-darwin23.0.0
$ make clean_cache clean
$ make crystal target=x86_64-apple-darwin release=true
Using /usr/local/bin/llvm-config [version= 15.0.7]
c++ -c -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc -I/usr/local/include -std=c++14 -fno-exceptions -fno-rtti -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
CRYSTAL_CONFIG_BUILD_COMMIT="1f592eca6" CRYSTAL_CONFIG_PATH='$ORIGIN/../share/crystal/src' SOURCE_DATE_EPOCH="1699639716" CRYSTAL_CONFIG_LIBRARY_PATH='$ORIGIN/../lib/crystal' ./bin/crystal build -D strict_multi_assign -D preview_overload_order --release --cross-compile --target x86_64-apple-darwin -Dwithout_interpreter -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib -D use_pcre2
cc .build/crystal.o -o .build/crystal -rdynamic -L/opt/homebrew/Cellar/crystal/1.10.1/bin/../../../../lib /Users/miry/src/crystal/crystal/src/llvm/ext/llvm_ext.o `"/usr/local/bin/llvm-config" --libs --system-libs --ldflags 2> /dev/null` -lstdc++ -lpcre2-8 -lgc -L/opt/homebrew/Cellar/libevent/2.1.12_1/lib -levent -liconv
I found few details:
- Make does not show any errors, only there is no resulted file.
- The last line
cc
does not use recieve any target argument. - The last line
cc
includes-L/opt/homebrew/...
, that's arearm64
- If I run the last
cc
with-v
, than it shows:
Run cc -v ...
Apple clang version 15.0.0 (clang-1500.0.40.1) Target: arm64-apple-darwin23.0.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -export_dynamic -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch arm64 -platform_version macos 14.0.0 14.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o .build/crystal -L/opt/homebrew/Cellar/crystal/1.10.1/bin/../../../../lib -L/usr/local/lib -L/opt/homebrew/Cellar/libevent/2.1.12_1/lib -L/usr/local/lib .build/crystal.o /Users/miry/src/crystal/crystal/src/llvm/ext/llvm_ext.o -search_paths_first -headerpad_max_install_names -lLLVMWindowsManifest -lLLVMWindowsDriver -lLLVMXRay -lLLVMLibDriver -lLLVMDlltoolDriver -lLLVMCoverage -lLLVMLineEditor -lLLVMAArch64Disassembler -lLLVMAArch64AsmParser -lLLVMAArch64CodeGen -lLLVMAArch64Desc -lLLVMAArch64Utils -lLLVMAArch64Info -lLLVMX86TargetMCA -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMOrcJIT -lLLVMMCJIT -lLLVMJITLink -lLLVMInterpreter -lLLVMExecutionEngine -lLLVMRuntimeDyld -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMDWP -lLLVMDebugInfoGSYM -lLLVMOption -lLLVMObjectYAML -lLLVMObjCopy -lLLVMMCA -lLLVMMCDisassembler -lLLVMLTO -lLLVMPasses -lLLVMCFGuard -lLLVMCoroutines -lLLVMObjCARCOpts -lLLVMipo -lLLVMVectorize -lLLVMLinker -lLLVMInstrumentation -lLLVMFrontendOpenMP -lLLVMFrontendOpenACC -lLLVMExtensions -lLLVMDWARFLinker -lLLVMGlobalISel -lLLVMMIRParser -lLLVMAsmPrinter -lLLVMSelectionDAG -lLLVMCodeGen -lLLVMIRReader -lLLVMAsmParser -lLLVMInterfaceStub -lLLVMFileCheck -lLLVMFuzzMutate -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMFuzzerCLI -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTableGen -lLLVMSupport -lLLVMDemangle -lm -lc++ -lpcre2-8 -lgc -levent -liconv -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib/darwin/libclang_rt.osx.a ld: warning: ignoring file '/Users/miry/src/crystal/crystal/.build/crystal.o': found architecture 'x86_64', required architecture 'arm64' ld: Undefined symbols: _main, referenced from: clang: error: linker command failed with exit code 1 (use -v to see invocation)
- If I run the last
cc
with-v -target==x86_64-apple-darwin
, than it shows:
Run cc -v -target x86_64-apple-darwin ...
cc .build/crystal.o -o .build/crystal -rdynamic -L/opt/homebrew/Cellar/crystal/1.10.1/bin/../../../../lib /Users/miry/src/crystal/crystal/src/llvm/ext/llvm_ext.o `"/usr/local/bin/llvm-config" --libs --system-libs --ldflags 2> /dev/null` -lstdc++ -lpcre2-8 -lgc -L/opt/homebrew/Cellar/libevent/2.1.12_1/lib -levent -liconv -v -target x86_64-apple-darwin Apple clang version 15.0.0 (clang-1500.0.40.1) Target: x86_64-apple-darwin Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -export_dynamic -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 14.0.0 14.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o .build/crystal -L/opt/homebrew/Cellar/crystal/1.10.1/bin/../../../../lib -L/usr/local/lib -L/opt/homebrew/Cellar/libevent/2.1.12_1/lib -L/usr/local/lib .build/crystal.o /Users/miry/src/crystal/crystal/src/llvm/ext/llvm_ext.o -search_paths_first -headerpad_max_install_names -lLLVMWindowsManifest -lLLVMWindowsDriver -lLLVMXRay -lLLVMLibDriver -lLLVMDlltoolDriver -lLLVMCoverage -lLLVMLineEditor -lLLVMAArch64Disassembler -lLLVMAArch64AsmParser -lLLVMAArch64CodeGen -lLLVMAArch64Desc -lLLVMAArch64Utils -lLLVMAArch64Info -lLLVMX86TargetMCA -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMOrcJIT -lLLVMMCJIT -lLLVMJITLink -lLLVMInterpreter -lLLVMExecutionEngine -lLLVMRuntimeDyld -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMDWP -lLLVMDebugInfoGSYM -lLLVMOption -lLLVMObjectYAML -lLLVMObjCopy -lLLVMMCA -lLLVMMCDisassembler -lLLVMLTO -lLLVMPasses -lLLVMCFGuard -lLLVMCoroutines -lLLVMObjCARCOpts -lLLVMipo -lLLVMVectorize -lLLVMLinker -lLLVMInstrumentation -lLLVMFrontendOpenMP -lLLVMFrontendOpenACC -lLLVMExtensions -lLLVMDWARFLinker -lLLVMGlobalISel -lLLVMMIRParser -lLLVMAsmPrinter -lLLVMSelectionDAG -lLLVMCodeGen -lLLVMIRReader -lLLVMAsmParser -lLLVMInterfaceStub -lLLVMFileCheck -lLLVMFuzzMutate -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMFuzzerCLI -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTableGen -lLLVMSupport -lLLVMDemangle -lm -lc++ -lpcre2-8 -lgc -levent -liconv -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib/darwin/libclang_rt.osx.a ld: warning: ignoring file '/Users/miry/src/crystal/crystal/src/llvm/ext/llvm_ext.o': found architecture 'arm64', required architecture 'x86_64' ld: warning: ignoring file '/opt/homebrew/Cellar/pcre2/10.42/lib/libpcre2-8.0.dylib': found architecture 'arm64', required architecture 'x86_64' ld: warning: ignoring file '/opt/homebrew/Cellar/bdw-gc/8.2.4/lib/libgc.1.dylib': found architecture 'arm64', required architecture 'x86_64' ld: warning: ignoring file '/opt/homebrew/Cellar/libevent/2.1.12_1/lib/libevent-2.1.7.dylib': found architecture 'arm64', required architecture 'x86_64' ld: warning: no platform load command found in '/Users/miry/src/crystal/crystal/.build/crystal.o', assuming: macOS ld: Undefined symbols: _GC_base, referenced from: _*Log::for:Log in crystal.o ... clang: error: linker command failed with exit code 1 (use -v to see invocation)
Metadata
Metadata
Assignees
Labels
kind:bugA bug in the code. Does not apply to documentation, specs, etc.A bug in the code. Does not apply to documentation, specs, etc.platform:darwintopic:infrastructure