Skip to content

Link error when compiling with ASan/UBSan #233

@ceeac

Description

@ceeac

OS: Ubuntu 22.04
Compiler: clang-15

Steps to reproduce:
mkdir build && cd build && CFLAGS=-fsanitize=address,undefined" CXXFLAGS="-fsanitize=address,undefined" LDFLAGS="-fsanitize=address,undefined" cmake -GNinja .. && ninja

Result:

[5/98] Linking CXX executable DiligentTools/RenderStatePackager/Diligent-RenderStatePackager
FAILED: DiligentTools/RenderStatePackager/Diligent-RenderStatePackager 
: && /usr/bin/clang++-15 -fsanitize=address,undefined -g -fsanitize=address,undefined DiligentTools/RenderStatePackager/CMakeFiles/Diligent-RenderStatePackager.dir/src/main.cpp.o -o DiligentTools/RenderStatePackager/Diligent-RenderStatePackager  DiligentCore/Common/libDiligent-Common.a  DiligentTools/RenderStatePackager/libDiligent-RenderStatePackagerLib.a  DiligentTools/RenderStateNotation/libDiligent-RenderStateNotation.a  DiligentCore/Graphics/GraphicsTools/libDiligent-GraphicsTools.a  DiligentCore/Graphics/Archiver/libDiligent-Archiver-static.a  DiligentCore/Graphics/GraphicsEngineVulkan/libDiligent-GraphicsEngineVk-static.a  DiligentCore/Graphics/GraphicsEngineNextGenBase/libDiligent-GraphicsEngineNextGenBase.a  DiligentCore/Graphics/GraphicsEngineOpenGL/libDiligent-GraphicsEngineOpenGL-static.a  DiligentCore/ThirdParty/glew/libglew-static.a  -lGL  -lX11  DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a  DiligentCore/Graphics/HLSL2GLSLConverterLib/libDiligent-HLSL2GLSLConverterLib.a  -ldl  DiligentCore/ThirdParty/SPIRV-Cross/libspirv-cross-core.a  DiligentCore/ThirdParty/glslang/SPIRV/libSPIRV.a  DiligentCore/ThirdParty/SPIRV-Tools/source/opt/libSPIRV-Tools-opt.a  DiligentCore/ThirdParty/SPIRV-Tools/source/libSPIRV-Tools.a  -lrt  DiligentCore/ThirdParty/glslang/glslang/libglslang.a  DiligentCore/ThirdParty/glslang/glslang/libMachineIndependent.a  DiligentCore/ThirdParty/glslang/glslang/libGenericCodeGen.a  DiligentCore/ThirdParty/glslang/OGLCompilersDLL/libOGLCompiler.a  DiligentCore/ThirdParty/glslang/glslang/OSDependent/Unix/libOSDependent.a  DiligentCore/Graphics/GraphicsEngine/libDiligent-GraphicsEngine.a  DiligentCore/Graphics/GraphicsAccessories/libDiligent-GraphicsAccessories.a  DiligentCore/Common/libDiligent-Common.a  DiligentCore/Platforms/Linux/libDiligent-LinuxPlatform.a  DiligentCore/Platforms/Basic/libDiligent-BasicPlatform.a  -lpthread  DiligentCore/Primitives/libDiligent-Primitives.a  DiligentCore/ThirdParty/xxHash/cmake_unofficial/libxxhash.a && :
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x23
DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x1b8): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x1e8): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x238): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x308): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x3b8): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x3e8): more undefined references to `typeinfo for glslang::TShader' follow
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x96c8): undefined reference to `typeinfo for glslang::TProgram'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x96f8): undefined reference to `typeinfo for glslang::TProgram'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x9728): undefined reference to `typeinfo for glslang::TProgram'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x9758): undefined reference to `typeinfo for glslang::TProgram'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x97c8): undefined reference to `typeinfo for glslang::TProgram'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x9818): more undefined references to `typeinfo for glslang::TProgram' follow
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0x9868): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0xa7f8): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0xad78): undefined reference to `typeinfo for glslang::TProgram'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0xadc8): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0xb4a8): undefined reference to `typeinfo for glslang::TProgram'
/usr/bin/ld: DiligentCore/Graphics/ShaderTools/libDiligent-ShaderTools.a(GLSLangUtils.cpp.o):(.data+0xb568): undefined reference to `typeinfo for glslang::TShader'
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x23
DiligentCore/ThirdParty/SPIRV-Tools/source/opt/libSPIRV-Tools-opt.a(pass_manager.cpp.o):(.data+0x19a8): undefined reference to `typeinfo for spvtools::utils::Timer'
/usr/bin/ld: DiligentCore/ThirdParty/SPIRV-Tools/source/opt/libSPIRV-Tools-opt.a(pass_manager.cpp.o):(.data+0x1aa8): undefined reference to `typeinfo for spvtools::utils::Timer'
/usr/bin/ld: DiligentCore/ThirdParty/SPIRV-Tools/source/opt/libSPIRV-Tools-opt.a(pass_manager.cpp.o):(.data+0x1b28): undefined reference to `typeinfo for spvtools::utils::Timer'
/usr/bin/ld: DiligentCore/ThirdParty/SPIRV-Tools/source/opt/libSPIRV-Tools-opt.a(pass_manager.cpp.o):(.data+0x1bd8): undefined reference to `typeinfo for spvtools::utils::Timer'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions