microsoft / ShaderConductor

ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libtinfo.so.5 dependency

Jjagg opened this issue · comments

commented

Describe the bug

The Linux CI builds produce a libdxcompiler.so build that dynamically links to libtinfo.so.5. That's not something that is always installed on a user machine. I have libtinfo.so.6 installed as an ncurses dependency on Arch Linux). I managed to run the CI binaries after installing ncurses5-compat-libs from the AUR. That provides libtinfo.so.5, though when running I get the following message /usr/lib/libtinfo.so.5: no version information available.

Expected behavior

There is no libtinfo dependeny.

Additional context

libtinfo is an optional dependency of LLVM, though I don't see where it is enabled exactly. It looks like it's only compiled as a dependency if the LLVM_ENABLE_TERMINFO flag is set. A cmake file in DirectXShaderCompiler checks that flag and finds a lib providing terminfo (e.g. libtinfo) here. The flag is enabled by default here. But it also looks like terminfo is disabled here. Building locally on my machine I don't get this dependency, but I'm unsure why.

Thanks for reporting this problem I'll investigate how to fix it. It may takes some time because I'm not an Linux expert. Stay tuned.

Hi @Jjagg , try this branch: https://github.com/Microsoft/ShaderConductor/tree/mgong/FixTermInfo, which I turn off the LLVM_ENABLE_TERMINFO. It might remove the dependency to libtinfo. The artifacts will be published in some minutes.

commented

@gongminmin Yeah, that did the trick! :)