intel / intel/intel-graphics-compiler
Fail to cross-compile using Synology toolchain (x86_64 -> x86_64) using prebuilds
- Dominant language
- C++
- Stars
- 718
- Forks
- 191
- PR merge metrics
- No merged PRs in 30d
Description
I'm the ffmpeg maintainer for the SynoCommunity which aims at porting open source software on Synology NAS using the Synology toolchain for their various Linux DSM versions. We're using our https://github.com/SynoCommunity/spksrc framework to cross-compile to various arch (arm, ppc, x64).
I'm working on enabling `--opencl` to ffmpeg for compatible intel based NAS (apollolake and above). My [WIP] PR is https://github.com/SynoCommunity/spksrc/pull/6166.
I was finally able to fully build intel-opencl-clang `140` branch with all corresponding requirements. From there I've been trying to get IGC to build using:
- `-DIGC_OPTION__CLANG_MODE='Prebuilds'`
- `-DIGC_OPTION__LLVM_MODE='Prebuilds'`
- `-DIGC_OPTION__SPIRV_TOOLS_MODE='Prebuilds'`
Configure works ok (after needing to also include LLVM `lld`, `libunwind` and also `Mako` python wheel (all of which I couldn't find any trace of in the build documentation btw).
When invoking the build process I hit the following issue:
```
[84/986] Building CXX object IGC/VectorCompiler/CMCL/tools/Translator/CMakeFiles/CMCLTranslatorTool.dir/Main.cpp.o
[85/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/compiler_caps.cpp.o
[86/986] Building CXX object IGC/VectorCompiler/CMCL/lib/Support/CMakeFiles/CMCLSupport.dir/BuiltinTranslator.cpp.o
[87/986] Linking CXX static library IGC/Release/libCMCLSupport.a
[88/986] Building CXX object IGC/VectorCompiler/lib/Utils/GenX/CMakeFiles/VCGenXUtils.dir/TransformArgCopy.cpp.o
[89/986] Linking CXX executable IGC/Release/CMCLTranslatorTool
FAILED: IGC/Release/CMCLTranslatorTool
: && /home/spksrc/ffmpeg-opencl-140/spksrc/toolchain/syno-x64-7.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-g++ -I/home/spksrc/ffmpeg-opencl-140/spksrc/toolchain/syno-x64-7.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/include -I/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/SPIRV-LLVM-Translator/include -Wno-error=restrict -Wno-error=deprecated-declarations -I/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/SPIRV-LLVM-Translator/include -Wno-error=restrict -Wno-error=deprecated-declarations -fexceptions -fdata-sections -ffunction-sections -O2 -pipe -fmessage-length=0 -march=corei7 -mstackrealign -fms-extensions -Werror -Wno-unused-parameter -Wno-missing-field-initializers -Wwrite-strings -Wno-long-long -Wswitch -Wno-sign-compare -Wno-unused-result -Wno-enum-compare -Wno-type-limits -Wno-ignored-qualifiers -Wno-shadow -Wformat -Wformat-security -Wno-extra -Wno-write-strings -finline -fno-strict-aliasing -msse -msse2 -msse3 -mssse3 -msse4 -msse4.1 -msse4.2 -Wno-unknown-pragmas -fPIC -Bsymbolic -D_FORTIFY_SOURCE=2 -fstack-protector -finline-functions -funswitch-loops -Wno-maybe-uninitialized -lrt -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -DNDEBUG -g -L/home/spksrc/ffmpeg-opencl-140/spksrc/toolchain/syno-x64-7.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/lib -L/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib -Wl,--rpath-link,/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib -Wl,--rpath,/usr/local/intel-graphics-compiler/lib -g -Wl,--gc-sections IGC/VectorCompiler/CMCL/tools/Translator/CMakeFiles/CMCLTranslatorTool.dir/Main.cpp.o -o IGC/Release/CMCLTranslatorTool -Wl,-rpath,/usr/local/intel-graphics-compiler/lib IGC/Release/libCMCLSupport.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMAnalysis.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMAsmParser.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMBinaryFormat.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMBitReader.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMBitstreamReader.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMCodeGen.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMCore.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMIRReader.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMMC.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMMCParser.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMObject.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMProfileData.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMRemarks.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMSupport.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMDemangle.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMBitWriter.a IGC/Release/libLLVMGenXIntrinsics.so /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMCodeGen.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMBitWriter.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMScalarOpts.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMAggressiveInstCombine.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMInstCombine.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMTarget.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMTransformUtils.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMAnalysis.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMProfileData.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMDebugInfoDWARF.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMObject.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMMCParser.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMMC.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMDebugInfoCodeView.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMTextAPI.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMAsmParser.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMBitReader.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMCore.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMBinaryFormat.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMRemarks.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMBitstreamReader.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMSupport.a /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libLLVMDemangle.a -lrt -ldl -lpthread -lm /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libz.so /home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/install/usr/local/intel-graphics-compiler/lib/libncursesw.so && :
IGC/Release/libCMCLSupport.a(BuiltinTranslator.cpp.o): In function `llvm::Function* getGenXDeclarationForIdFromArgs >&>(llvm::Type&, std::vector >&, llvm::GenXIntrinsic::ID, llvm::Module&)':
/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/intel-graphics-compiler-igc-1.0.16900.23/build/../IGC/VectorCompiler/CMCL/lib/Support/BuiltinTranslator.cpp:113: undefined reference to `llvm::GenXIntrinsic::isOverloadedRet(unsigned int)'
/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/intel-graphics-compiler-igc-1.0.16900.23/build/../IGC/VectorCompiler/CMCL/lib/Support/BuiltinTranslator.cpp:120: undefined reference to `llvm::GenXIntrinsic::isOverloadedArg(unsigned int, unsigned int)'
/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/intel-graphics-compiler-igc-1.0.16900.23/build/../IGC/VectorCompiler/CMCL/lib/Support/BuiltinTranslator.cpp:124: undefined reference to `llvm::GenXIntrinsic::getGenXDeclaration(llvm::Module*, llvm::GenXIntrinsic::ID, llvm::ArrayRef)'
IGC/Release/libCMCLSupport.a(BuiltinTranslator.cpp.o): In function `llvm::Function* getGenXDeclarationForIdFromArgs > const&>(llvm::Type&, std::vector > const&, llvm::GenXIntrinsic::ID, llvm::Module&)':
/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/intel-graphics-compiler-igc-1.0.16900.23/build/../IGC/VectorCompiler/CMCL/lib/Support/BuiltinTranslator.cpp:113: undefined reference to `llvm::GenXIntrinsic::isOverloadedRet(unsigned int)'
/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/intel-graphics-compiler-igc-1.0.16900.23/build/../IGC/VectorCompiler/CMCL/lib/Support/BuiltinTranslator.cpp:120: undefined reference to `llvm::GenXIntrinsic::isOverloadedArg(unsigned int, unsigned int)'
/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler/work-x64-7.1/intel-graphics-compiler-igc-1.0.16900.23/build/../IGC/VectorCompiler/CMCL/lib/Support/BuiltinTranslator.cpp:124: undefined reference to `llvm::GenXIntrinsic::getGenXDeclaration(llvm::Module*, llvm::GenXIntrinsic::ID, llvm::ArrayRef)'
collect2: error: ld returned 1 exit status
[90/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/UserAddrSpaceMD.cpp.o
[91/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/CodeGenContextWrapper.cpp.o
[92/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/BlendToDiscard.cpp.o
[93/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/FixInvalidFuncNamePass.cpp.o
[94/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/PromoteResourceToDirectAS.cpp.o
[95/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/CodeGenContext.cpp.o
[96/986] Building CXX object IGC/GenISAIntrinsics/CMakeFiles/GenISAIntrinsics.dir/GenIntrinsicFunctions.cpp.o
[97/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/CustomUnsafeOptPass.cpp.o
[98/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/PromoteStatelessToBindless.cpp.o
[99/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/GenTTI.cpp.o
[100/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/CustomLoopOpt.cpp.o
[101/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/FixResourcePtr.cpp.o
[102/986] Building CXX object IGC/Compiler/CMakeFiles/Compiler.dir/CustomSafeOptPass.cpp.o
ninja: build stopped: subcommand failed.
make[2]: *** [../../mk/spksrc.cross-ninja.mk:61: ninja_compile_target] Error 1
make[2]: Leaving directory '/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler'
make[1]: *** [../../mk/spksrc.supported.mk:71: build-arch-x64-7.1] Error 1
make[1]: Leaving directory '/home/spksrc/ffmpeg-opencl-140/spksrc/cross/intel-graphics-compiler'
```
Full build log available here: [build-x64-7.1.log](https://github.com/user-attachments/files/16192766/build-x64-7.1.log)
Contributor guide
Assessment
This issue has not been assessed yet.