Thanks for the patch. With some modifications, osl 1.11.15.0 successfully built for all
releases.
https://copr.fedorainfracloud.org/coprs/luya/blender-egl/build/2681425/
Here is the revised patch:
~~~
diff -Naur OpenShadingLanguage-Release-1.11.15.0.orig/src/liboslexec/llvm_util.cpp
OpenShadingLanguage-Release-1.11.15.0/src/liboslexec/llvm_util.cpp
--- OpenShadingLanguage-Release-1.11.15.0.orig/src/liboslexec/llvm_util.cpp 2021-09-01
00:26:06.000000000 -0700
+++ OpenShadingLanguage-Release-1.11.15.0/src/liboslexec/llvm_util.cpp 2021-09-03
17:14:01.840127907 -0700
@@ -1228,7 +1228,9 @@
options.NoZerosInBSS = false;
options.GuaranteedTailCallOpt = false;
+#if OSL_LLVM_VERSION < 120
options.StackAlignmentOverride = 0;
+#endif
options.FunctionSections = true;
options.UseInitArray = false;
options.FloatABIType = llvm::FloatABI::Default;
@@ -2989,7 +2991,7 @@
LLVM_Util::write_bitcode_file (const char *filename, std::string *err)
{
std::error_code local_error;
- llvm::raw_fd_ostream out (filename, local_error, llvm::sys::fs::F_None);
+ llvm::raw_fd_ostream out (filename, local_error, llvm::sys::fs::OF_None);
if (! out.has_error()) {
llvm::WriteBitcodeToFile (*module(), out);
if (err && local_error)
@@ -3051,7 +3053,9 @@
options.AllowFPOpFusion = llvm::FPOpFusion::Fast;
options.NoZerosInBSS = 0;
options.GuaranteedTailCallOpt = 0;
+#if OSL_LLVM_VERSION < 120
options.StackAlignmentOverride = 0;
+#endif
options.UseInitArray = 0;
llvm::TargetMachine* target_machine = llvm_target->createTargetMachine(
~~~
As noticed, changing the LLVM variable for OSL upstream did the trick.
Thanks for help.
Luya Tshimbalanga
Fedora Design Suite maintainer
Fedora Design Team