Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Build fails with LTO

Abierto
#1,810 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
cmake, cpp

Línea de trabajo

Comienza reproduciendo la compilación LTO con los flags indicados en el informe y, después, inspecciona src/liboslexec/llvm_instance.cpp, batched_llvm_instance.cpp, osogram.y, oslgram.y y los archivos de parser y lexer generados que se mencionan en los diagnósticos. Compara las definiciones en conflicto que informa el compilador y rastrea sus puntos de entrada de compilación. El trabajo estará terminado cuando la compilación LTO finalice sin los errores ODR indicados.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I tried to build with the following *FLAGS to optimize the build: -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing

Note the -Werror=* flags are used to help detect cases where the compiler tries to optimize by assuming UB cannot exist in the source code -- if it does exist, ordinarily the code would be miscompiled, and this says to make the miscompilation a fatal error.

I got this error:

[164/173] : && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native -fstack-protector-all -O2 -pipe -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing  -Wformat -Werror=format-security -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS  -Wl,-O1 -Wl,--as-needed -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wl,--defsym=__gentoo_check_ldflags__=0  -Wl,--version-script=/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/build-scripts/hidesymbols.map  -Wl,--exclude-libs,ALL -shared -Wl,-soname,liboslexec.so.1.14.1 -o lib/liboslexec.so.1.14.1 src/liboslexec/CMakeFiles/oslexec.dir/shadingsys.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/closure.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/dictionary.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/context.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/instance.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/loadshader.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/master.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opcolor.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opfmt.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opmatrix.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opmessage.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opnoise.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opspline.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opstring.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/optexture.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/oslexec.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/pointcloud.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/rendservices.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/constfold.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/runtimeoptimize.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/typespec.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/lpexp.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/lpeparse.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/automata.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/accum.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opclosure.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/shadeimage.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/backendllvm.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/llvm_gen.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/llvm_instance.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/llvm_util.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/rs_fallback.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/journal.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_analysis.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_backendllvm.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_llvm_gen.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_llvm_instance.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_rendservices.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/ast.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/codegen.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/oslcomp.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/symtab.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/typecheck.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osogram.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osolex.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/oslgram.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osllex.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osl_llvm_compiled_ops.bc.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osl_llvm_compiled_rs_dependent_ops.bc.cpp.o -L/usr/lib/llvm/17/lib64 -Wl,-rpath,/usr/lib/llvm/17/lib64:/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/lib:  lib/liboslquery.so.1.14.1  lib/liboslnoise.so.1.14.1  /usr/lib64/libOpenImageIO.so.2.5.9  -lm  /usr/lib64/libboost_filesystem.so  /usr/lib64/libboost_system.so  /usr/lib64/libboost_thread.so  /usr/lib64/libboost_chrono.so  /usr/lib64/libboost_atomic.so  -ldl  /usr/lib/llvm/17/lib64/libclang-cpp.so  /usr/lib/llvm/17/lib64/libLLVM-17.0.6.so  /usr/lib64/libOpenImageIO_Util.so.2.5.9  /usr/lib64/libImath-3_1.so.29.10.0  -lm  /usr/lib64/libpugixml.so.1.14 && :
FAILED: lib/liboslexec.so.1.14.1 
: && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native -fstack-protector-all -O2 -pipe -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing  -Wformat -Werror=format-security -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS  -Wl,-O1 -Wl,--as-needed -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wl,--defsym=__gentoo_check_ldflags__=0  -Wl,--version-script=/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/build-scripts/hidesymbols.map  -Wl,--exclude-libs,ALL -shared -Wl,-soname,liboslexec.so.1.14.1 -o lib/liboslexec.so.1.14.1 src/liboslexec/CMakeFiles/oslexec.dir/shadingsys.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/closure.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/dictionary.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/context.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/instance.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/loadshader.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/master.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opcolor.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opfmt.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opmatrix.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opmessage.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opnoise.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opspline.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opstring.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/optexture.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/oslexec.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/pointcloud.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/rendservices.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/constfold.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/runtimeoptimize.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/typespec.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/lpexp.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/lpeparse.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/automata.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/accum.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/opclosure.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/shadeimage.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/backendllvm.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/llvm_gen.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/llvm_instance.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/llvm_util.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/rs_fallback.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/journal.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_analysis.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_backendllvm.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_llvm_gen.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_llvm_instance.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/batched_rendservices.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/ast.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/codegen.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/oslcomp.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/symtab.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/__/liboslcomp/typecheck.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osogram.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osolex.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/oslgram.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osllex.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osl_llvm_compiled_ops.bc.cpp.o src/liboslexec/CMakeFiles/oslexec.dir/osl_llvm_compiled_rs_dependent_ops.bc.cpp.o -L/usr/lib/llvm/17/lib64 -Wl,-rpath,/usr/lib/llvm/17/lib64:/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/lib:  lib/liboslquery.so.1.14.1  lib/liboslnoise.so.1.14.1  /usr/lib64/libOpenImageIO.so.2.5.9  -lm  /usr/lib64/libboost_filesystem.so  /usr/lib64/libboost_system.so  /usr/lib64/libboost_thread.so  /usr/lib64/libboost_chrono.so  /usr/lib64/libboost_atomic.so  -ldl  /usr/lib/llvm/17/lib64/libclang-cpp.so  /usr/lib/llvm/17/lib64/libLLVM-17.0.6.so  /usr/lib64/libOpenImageIO_Util.so.2.5.9  /usr/lib64/libImath-3_1.so.29.10.0  -lm  /usr/lib64/libpugixml.so.1.14 && :
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/llvm_instance.cpp:150:8: error: type ‘struct HelperFuncRecord’ violates the C++ One Definition Rule [-Werror=odr]
  150 | struct HelperFuncRecord {
      |        ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/batched_llvm_instance.cpp:168:8: note: a different type is defined in another translation unit
  168 | struct HelperFuncRecord {
      |        ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/batched_llvm_instance.cpp:171:9: note: the first difference of corresponding definitions is field ‘vector_width’
  171 |     int vector_width;
      |         ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/batched_llvm_instance.cpp:168:8: note: a type with different number of fields is defined in another translation unit
  168 | struct HelperFuncRecord {
      |        ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osogram.hpp:82:7: error: type ‘union YYSTYPE’ violates the C++ One Definition Rule [-Werror=odr]
   82 | union YYSTYPE
      |       ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/oslgram.hpp:113:7: note: a different type is defined in another translation unit
  113 | union YYSTYPE
      |       ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/osogram.y:47:17: note: the first difference of corresponding definitions is field ‘s’
   47 |     const char *s;  // For string values -- guaranteed to be a ustring.c_str()
      |                 ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/../liboslcomp/oslgram.y:50:17: note: a field with different name is defined in another translation unit
   50 |     ASTNode    *n;  // Abstract Syntax Tree node
      |                 ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osogram.cpp:474:7: error: type ‘union yyalloc’ violates the C++ One Definition Rule [-Werror=odr]
  474 | union yyalloc
      |       ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/oslgram.cpp:565:7: note: a different type is defined in another translation unit
  565 | union yyalloc
      |       ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osogram.cpp:476:14: note: the first difference of corresponding definitions is field ‘yyss_alloc’
  476 |   yy_state_t yyss_alloc;
      |              ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/oslgram.cpp:567:14: note: a field of same name but different type is defined in another translation unit
  567 |   yy_state_t yyss_alloc;
      |              ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osolex.cpp:931:8: error: type ‘struct yyguts_t’ violates the C++ One Definition Rule [-Werror=odr]
  931 | /* Holds the entire state of the reentrant scanner. */
      |        ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osllex.cpp:957:8: note: a different type is defined in another translation unit
  957 | /* Holds the entire state of the reentrant scanner. */
      |        ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osolex.cpp:935:19: note: the first difference of corresponding definitions is field ‘yyextra_r’
  935 |     /* User-defined. Not touched by flex. */
      |                   ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osllex.cpp:961:19: note: a field of same name but different type is defined in another translation unit
  961 |     /* User-defined. Not touched by flex. */
      |                   ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/osoreader.h:27:7: note: type name ‘OSL_v1_14_1::pvt::OSOReader’ should match type name ‘OSL_v1_14_1::pvt::OSLCompilerImpl’
   27 | class OSOReader {
      |       ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/../liboslcomp/oslcomp_pvt.h:36:7: note: the incompatible type is defined here
   36 | class OSLCompilerImpl {
      |       ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:118:1: error: type of ‘osl_allocate_weighted_closure_component’ does not match original declaration [-Werror=lto-type-mismatch]
  118 | DECL(osl_allocate_weighted_closure_component, "CXiiX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:64:1: note: return value type mismatch
   64 | osl_allocate_weighted_closure_component(ShaderGlobals* sg, int id, int size,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:64:1: note: ‘osl_allocate_weighted_closure_component’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:117:1: error: type of ‘osl_allocate_closure_component’ does not match original declaration [-Werror=lto-type-mismatch]
  117 | DECL(osl_allocate_closure_component, "CXii")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:56:1: note: return value type mismatch
   56 | osl_allocate_closure_component(ShaderGlobals* sg, int id, int size)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:56:1: note: ‘osl_allocate_closure_component’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:115:1: error: type of ‘osl_mul_closure_float’ does not match original declaration [-Werror=lto-type-mismatch]
  115 | DECL(osl_mul_closure_float, "CXCf")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:43:1: note: return value type mismatch
   43 | osl_mul_closure_float(ShaderGlobals* sg, ClosureColor* a, float w)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:43:1: note: ‘osl_mul_closure_float’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:116:1: error: type of ‘osl_mul_closure_color’ does not match original declaration [-Werror=lto-type-mismatch]
  116 | DECL(osl_mul_closure_color, "CXCc")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:30:1: note: return value type mismatch
   30 | osl_mul_closure_color(ShaderGlobals* sg, ClosureColor* a, const Color3* w)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:30:1: note: ‘osl_mul_closure_color’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:114:1: error: type of ‘osl_add_closure_closure’ does not match original declaration [-Werror=lto-type-mismatch]
  114 | DECL(osl_add_closure_closure, "CXCC")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:18:1: note: return value type mismatch
   18 | osl_add_closure_closure(ShaderGlobals* sg, const ClosureColor* a,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:18:1: note: ‘osl_add_closure_closure’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:120:1: error: type of ‘osl_closure_to_ustringhash’ does not match original declaration [-Werror=lto-type-mismatch]
  120 | DECL(osl_closure_to_ustringhash, "hXC")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:85:1: note: return value type mismatch
   85 | osl_closure_to_ustringhash(ShaderGlobals* sg, ClosureColor* c)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:85:1: note: type ‘ustringhash_pod’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:85:1: note: ‘osl_closure_to_ustringhash’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:119:1: error: type of ‘osl_closure_to_string’ does not match original declaration [-Werror=lto-type-mismatch]
  119 | DECL(osl_closure_to_string, "sXC")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:74:1: note: return value type mismatch
   74 | osl_closure_to_string(ShaderGlobals* sg, ClosureColor* c)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/opclosure.cpp:74:1: note: ‘osl_closure_to_string’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:206:1: error: type of ‘osl_pointcloud_write’ does not match original declaration [-Werror=lto-type-mismatch]
  206 | DECL(osl_pointcloud_write, "iXhXiXXX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:474:1: note: return value type mismatch
  474 | osl_pointcloud_write(ShaderGlobals* sg, ustringhash_pod filename_,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:474:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:474:1: note: ‘osl_pointcloud_write’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:207:1: error: type of ‘osl_pointcloud_write_helper’ does not match original declaration [-Werror=lto-type-mismatch]
  207 | DECL(osl_pointcloud_write_helper, "xXXXihLX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:460:1: note: type mismatch in parameter 1
  460 | osl_pointcloud_write_helper(ustringhash_pod* names_, TypeDesc* types,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:460:1: note: ‘osl_pointcloud_write_helper’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:205:1: error: type of ‘osl_pointcloud_get’ does not match original declaration [-Werror=lto-type-mismatch]
  205 | DECL(osl_pointcloud_get, "iXhXihLX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:436:1: note: return value type mismatch
  436 | osl_pointcloud_get(ShaderGlobals* sg, ustringhash_pod filename_,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:436:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:436:1: note: ‘osl_pointcloud_get’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:204:1: error: type of ‘osl_pointcloud_search’ does not match original declaration [-Werror=lto-type-mismatch]
  204 | DECL(osl_pointcloud_search, "iXhXfiiXXii*")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:383:1: note: return value type mismatch
  383 | osl_pointcloud_search(ShaderGlobals* sg, ustringhash_pod filename_,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:383:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/pointcloud.cpp:383:1: note: ‘osl_pointcloud_search’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:410:1: error: type of ‘osl_trace’ does not match original declaration [-Werror=lto-type-mismatch]
  410 | DECL(osl_trace, "iXXXXXXXX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:497:1: note: return value type mismatch
  497 | osl_trace(void* sg_, void* opt_, void* Pos_, void* dPosdx_, void* dPosdy_,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:497:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:497:1: note: ‘osl_trace’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:409:1: error: type of ‘osl_trace_set_traceset’ does not match original declaration [-Werror=lto-type-mismatch]
  409 | DECL(osl_trace_set_traceset, "xXh")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:490:1: note: type mismatch in parameter 1
  490 | osl_trace_set_traceset(void* opt, const ustringhash_pod x)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:490:1: note: ‘osl_trace_set_traceset’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:408:1: error: type of ‘osl_trace_set_shade’ does not match original declaration [-Werror=lto-type-mismatch]
  408 | DECL(osl_trace_set_shade, "xXi")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:483:1: note: type mismatch in parameter 1
  483 | osl_trace_set_shade(void* opt, int x)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:483:1: note: ‘osl_trace_set_shade’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:407:1: error: type of ‘osl_trace_set_maxdist’ does not match original declaration [-Werror=lto-type-mismatch]
  407 | DECL(osl_trace_set_maxdist, "xXf")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:477:1: note: type mismatch in parameter 1
  477 | osl_trace_set_maxdist(void* opt, float x)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:477:1: note: ‘osl_trace_set_maxdist’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:406:1: error: type of ‘osl_trace_set_mindist’ does not match original declaration [-Werror=lto-type-mismatch]
  406 | DECL(osl_trace_set_mindist, "xXf")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:471:1: note: type mismatch in parameter 1
  471 | osl_trace_set_mindist(void* opt, float x)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:471:1: note: ‘osl_trace_set_mindist’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:242:1: error: type of ‘osl_get_trace_options’ does not match original declaration [-Werror=lto-type-mismatch]
  242 | DECL(osl_get_trace_options, "XX");
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:462:1: note: return value type mismatch
  462 | osl_get_trace_options(void* sg_)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:462:1: note: ‘osl_get_trace_options’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:404:1: error: type of ‘osl_get_textureinfo_st’ does not match original declaration [-Werror=lto-type-mismatch]
  404 | DECL(osl_get_textureinfo_st, "iXhXffhiiiXX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:430:1: note: return value type mismatch
  430 | osl_get_textureinfo_st(void* sg_, ustringhash_pod name_, void* handle, float s,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:430:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:430:1: note: ‘osl_get_textureinfo_st’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:403:1: error: type of ‘osl_get_textureinfo’ does not match original declaration [-Werror=lto-type-mismatch]
  403 | DECL(osl_get_textureinfo, "iXhXhiiiXX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:403:1: note: return value type mismatch
  403 | osl_get_textureinfo(void* sg_, ustringhash_pod name_, void* handle,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:403:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:403:1: note: ‘osl_get_textureinfo’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:402:1: error: type of ‘osl_environment’ does not match original declaration [-Werror=lto-type-mismatch]
  402 | DECL(osl_environment, "iXhXXXXXiXXXXXXX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:349:1: note: return value type mismatch
  349 | osl_environment(void* sg_, ustringhash_pod name_, void* handle, void* opt_,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:349:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:349:1: note: ‘osl_environment’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:401:1: error: type of ‘osl_texture3d’ does not match original declaration [-Werror=lto-type-mismatch]
  401 | DECL(osl_texture3d, "iXhXXXXXXiXXXXXXX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:286:1: note: return value type mismatch
  286 | osl_texture3d(void* sg_, ustringhash_pod name_, void* handle, void* opt_,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:286:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:286:1: note: ‘osl_texture3d’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:400:1: error: type of ‘osl_texture’ does not match original declaration [-Werror=lto-type-mismatch]
  400 | DECL(osl_texture, "iXhXXffffffiXXXXXXX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:232:1: note: return value type mismatch
  232 | osl_texture(void* sg_, ustringhash_pod name_, void* handle, void* opt_, float s,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:232:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:232:1: note: ‘osl_texture’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:399:1: error: type of ‘osl_texture_set_missingcolor_alpha’ does not match original declaration [-Werror=lto-type-mismatch]
  399 | DECL(osl_texture_set_missingcolor_alpha, "xXif")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:221:1: note: type mismatch in parameter 1
  221 | osl_texture_set_missingcolor_alpha(void* opt, int alphaindex,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:221:1: note: ‘osl_texture_set_missingcolor_alpha’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:398:1: error: type of ‘osl_texture_set_missingcolor_arena’ does not match original declaration [-Werror=lto-type-mismatch]
  398 | DECL(osl_texture_set_missingcolor_arena, "xXX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:215:1: note: type mismatch in parameter 1
  215 | osl_texture_set_missingcolor_arena(void* opt, const void* missing)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:215:1: note: ‘osl_texture_set_missingcolor_arena’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:397:1: error: type of ‘osl_texture_set_subimagename’ does not match original declaration [-Werror=lto-type-mismatch]
  397 | DECL(osl_texture_set_subimagename, "xXh")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:207:1: note: type mismatch in parameter 1
  207 | osl_texture_set_subimagename(void* opt, ustringhash_pod subimagename_)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:207:1: note: ‘osl_texture_set_subimagename’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:396:1: error: type of ‘osl_texture_set_subimage’ does not match original declaration [-Werror=lto-type-mismatch]
  396 | DECL(osl_texture_set_subimage, "xXi")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:200:1: note: type mismatch in parameter 1
  200 | osl_texture_set_subimage(void* opt, int subimage)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:200:1: note: ‘osl_texture_set_subimage’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:395:1: error: type of ‘osl_texture_set_interp_code’ does not match original declaration [-Werror=lto-type-mismatch]
  395 | DECL(osl_texture_set_interp_code, "xXi")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:194:1: note: type mismatch in parameter 1
  194 | osl_texture_set_interp_code(void* opt, int mode)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:194:1: note: ‘osl_texture_set_interp_code’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:394:1: error: type of ‘osl_texture_set_interp’ does not match original declaration [-Werror=lto-type-mismatch]
  394 | DECL(osl_texture_set_interp, "xXh")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:184:1: note: type mismatch in parameter 1
  184 | osl_texture_set_interp(void* opt, ustringhash_pod modename_)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:184:1: note: ‘osl_texture_set_interp’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:373:1: error: type of ‘osl_texture_decode_interpmode’ does not match original declaration [-Werror=lto-type-mismatch]
  373 | DECL(osl_texture_decode_interpmode, "ih");
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:177:1: note: return value type mismatch
  177 | osl_texture_decode_interpmode(ustringhash_pod name_)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:177:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:177:1: note: ‘osl_texture_decode_interpmode’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:393:1: error: type of ‘osl_texture_set_time’ does not match original declaration [-Werror=lto-type-mismatch]
  393 | DECL(osl_texture_set_time, "xXf")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:171:1: note: type mismatch in parameter 1
  171 | osl_texture_set_time(void* opt, float x)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:171:1: note: ‘osl_texture_set_time’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:392:1: error: type of ‘osl_texture_set_fill’ does not match original declaration [-Werror=lto-type-mismatch]
  392 | DECL(osl_texture_set_fill, "xXf")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:165:1: note: type mismatch in parameter 1
  165 | osl_texture_set_fill(void* opt, float x)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/optexture.cpp:165:1: note: ‘osl_texture_set_fill’ was previously declared here

[... and much more, but "There was an error creating your Issue: body is too long (maximum is 65536 characters)." so...]

/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:235:1: error: type of ‘osl_naninf_check’ does not match original declaration [-Werror=lto-type-mismatch]
  235 | DECL(osl_naninf_check, "xiXiXhihiih")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4591:1: note: type mismatch in parameter 1
 4591 | osl_naninf_check(int ncomps, const void* vals_, int has_derivs, void* sg,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4591:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4591:1: note: ‘osl_naninf_check’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:239:1: error: type of ‘osl_incr_get_userdata_calls’ does not match original declaration [-Werror=lto-type-mismatch]
  239 | DECL(osl_incr_get_userdata_calls, "xX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4774:1: note: type mismatch in parameter 1
 4774 | osl_incr_get_userdata_calls(void* sg_)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4774:1: note: ‘osl_incr_get_userdata_calls’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:238:1: error: type of ‘osl_bind_interpolated_param’ does not match original declaration [-Werror=lto-type-mismatch]
  238 | DECL(osl_bind_interpolated_param, "iXhLiXiXiXi")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4735:1: note: return value type mismatch
 4735 | osl_bind_interpolated_param(void* sg_, ustringhash_pod name_, long long type,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4735:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4735:1: note: ‘osl_bind_interpolated_param’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:237:1: error: type of ‘osl_get_attribute’ does not match original declaration [-Werror=lto-type-mismatch]
  237 | DECL(osl_get_attribute, "iXihhiiLX")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4719:1: note: return value type mismatch
 4719 | osl_get_attribute(void* sg_, int dest_derivs, ustringhash_pod obj_name_,
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4719:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4719:1: note: ‘osl_get_attribute’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/builtindecl.h:230:1: error: type of ‘osl_raytype_name’ does not match original declaration [-Werror=lto-type-mismatch]
  230 | DECL(osl_raytype_name, "iXh")
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4708:1: note: return value type mismatch
 4708 | osl_raytype_name(void* sg_, ustringhash_pod name_)
      | ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4708:1: note: type ‘int’ should match type ‘void’
/var/tmp/portage/media-libs/osl-9999/work/osl-9999/src/liboslexec/shadingsys.cpp:4708:1: note: ‘osl_raytype_name’ was previously declared here
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osogram.cpp:126:6: error: type ‘yysymbol_kind_t’ violates the C++ One Definition Rule [-Werror=odr]
  126 | enum yysymbol_kind_t
      |      ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/oslgram.cpp:129:6: note: an enum with different value name is defined in another translation unit
  129 | enum yysymbol_kind_t
      |      ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/osogram.cpp:134:3: note: name ‘YYSYMBOL_HINT’ differs from name ‘YYSYMBOL_INT_LITERAL’ defined in another translation unit
  134 |   YYSYMBOL_HINT = 5,                       /* HINT  */
      |   ^
/var/tmp/portage/media-libs/osl-9999/work/osl-9999_build/src/liboslexec/oslgram.cpp:137:3: note: mismatching definition
  137 |   YYSYMBOL_INT_LITERAL = 5,                /* INT_LITERAL  */
      |   ^
lto1: some warnings being treated as errors
lto-wrapper: fatal error: /usr/bin/x86_64-pc-linux-gnu-g++ returned 1 exit status
compilation terminated.
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Originally reported downstream: https://bugs.gentoo.org/875836
Full build log: build.log

Lenguaje dominante
C++
Estrellas
2.3k
Forks
414
Merge medio
2 d 14 h
PR fusionados (30 d)
13

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de AcademySoftwareFoundation/OpenShadingLanguage

Todos los issues de AcademySoftwareFoundation/OpenShadingLanguage

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.