Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

llvm installer on windows missing LLVMConfig.cmake #53052

Closed
funchal opened this issue Jan 6, 2022 · 15 comments · Fixed by #79840
Closed

llvm installer on windows missing LLVMConfig.cmake #53052

funchal opened this issue Jan 6, 2022 · 15 comments · Fixed by #79840

Comments

@funchal
Copy link

funchal commented Jan 6, 2022

I have tried both the LLVM 13 and 12 installers (win64 versions) available on github on the Releases page -- both seem to be missing LLVMConfig.cmake, which causes cmake to error with

    CMake Error at CMakeLists.txt:9 (find_package):
      Could not find a package configuration file provided by "LLVM" with any of
      the following names:

        LLVMConfig.cmake
        llvm-config.cmake

I can see this file in the source distribution, so it seems to be just missing in the installer.

@funchal
Copy link
Author

funchal commented Jan 7, 2022

LLVMConfigExtensions.cmake is added in this install( statement but not LLVMConfig.cmake.

${llvm_cmake_builddir}/LLVMConfigExtensions.cmake

@kleinesfilmroellchen
Copy link

Can confirm that the installer for 13 is missing llvm-config.

@retrooper
Copy link

Still?

@retrooper
Copy link

Any news on this as I can't get it working

@retrooper
Copy link

Even downgrading to llvm 11 didn't help

@retrooper
Copy link

Building LLVM is over 40 gigabytes on my system. Please fix the installer.

@kleinesfilmroellchen
Copy link

Building LLVM is over 90 gigabytes on my system and took me five days to get right. Please fix the installer. :^)

@ongamex
Copy link

ongamex commented Dec 16, 2022

Still an issue with 15.0.4

These is just this file LLVMConfigExtensions.cmake , containing a single line:
set(LLVM_STATIC_EXTENSIONS )

I need this in order to build - https://github.com/KhronosGroup/SPIRV-LLVM-Translator

@atorstling
Copy link

I'd like to resurface this one. I was trying to install https://github.com/p-ranav/fccf on windows, and now it turns out I need to build LLVM from source for that. So this might be a big usability problem for downstream tools that aren't shipping pre-built binaries.

I would vote instead of commenting if I could, sorry for the noise.

@hYdos
Copy link

hYdos commented May 9, 2023

Still an issue. Its a shame its not getting any attention and lowers usability

@joshfinley
Copy link

joshfinley commented Jul 29, 2023

Tries to install LLVM from source - massive roadblocks
Tries to install LLVM from release - missing integral components
Looks up issue - unresolved for 568 days (its one file)

I understand that this project is a monster to maintain and there's only a handful of people maintaining it, but this is just sad.

@zmodem
Copy link
Collaborator

zmodem commented Sep 18, 2023

The Windows installer is focused on shipping LLVM as a toolchain: clang, lld, and related tools. It does not provide the LLVM development tools like opt, llc, etc. and also not the libraries and llvm-config.

There has been some discussion about shipping more tools in #51192, but shipping libraries is trickier. First of all we don't have a good way of building LLVM as a dll. We would also have to make sure the c runtime library matches what the client is using.

For these reasons, for users who want to use LLVM as a library or use the development tools, it's recommended to build LLVM from source.

If folks want to work on making LLVM easier to ship as a library on Windows, patches are welcome.

@kleinesfilmroellchen
Copy link

The Windows installer is focused on shipping LLVM as a toolchain: clang, lld, and related tools. It does not provide the LLVM development tools like opt, llc, etc. and also not the libraries and llvm-config.

One of the most useful and common applications of LLVM is embedding it as a library in another tool like a compiler. Not providing binaries for this purpose for a project that's so incredibly resource-intensive to build (on all accounts; disk space, memory usage, time) makes LLVM on Windows much less useful than it could be. I'm not convinced that shipping highly compatible libraries on Windows is a big issue given the high degree of compatibility in the Windows API layers, MSVC, and C library.

@GanbaruTobi
Copy link

llvm-config is still missing

@bamiaux
Copy link
Contributor

bamiaux commented Feb 20, 2024

PR #79840 exports a tarball containing llvm-config on windows

zmodem pushed a commit that referenced this issue Feb 23, 2024
Like linux releases, export a tar.xz files containing most llvm tools,
including non toolchain utilities, llvm-config, llvm-link and others.

We do this by reconfiguring cmake one last time at the last step,
running the install target so we do not need to recompile anything.

Fix #51192
Fix #53052
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.