[llvm-dev] Errors in configuration for LLVM with CMake GUI

Zachary Turner via llvm-dev llvm-dev at lists.llvm.org
Thu Nov 29 10:13:38 PST 2018


Ok, so it sounds like you have a direct SVN checkout, and not a git
checkout?

If at all possible, I would suggest deleting your entire SVN checkout (do
not uninstall TortoiseSVN though), and using these instructions:

https://llvm.org/docs/GettingStarted.html#for-developers-to-work-with-a-git-monorepo

I'm sure it's possible to make it work with your SVN checkout, but I think
very few people (nobody?) use the svn checkout directly these days, and
next year LLVM will be off of SVN entirely.  Point being, that you're kind
of on your own with that workflow because so few other people use it that
you'll have trouble finding help.

If you checkout using git according to the instructions I linked above, you
will have all folders on your disk, including compiler-rt, and openmp, and
everything else.  But it shouldn't matter, because with that layout, the
only thing that matters is what variables you pass to CMake.  So if you say
LLVM_ENABLE_PROJECTS=clang;lld then it ignores everything else, even though
it's checked out.

Anyway, give the mono-repo a try and see if that gets you further.

On Thu, Nov 29, 2018 at 10:06 AM Osman Zakir <osmanzakir90 at hotmail.com>
wrote:

> I also checked out compiler-rt and openmp.  Would it be okay to just
> delete those and try again, or should I try checking out from scratch and
> this time not also check out compiler-rt and openmp?  I also have libcxx
> and libcxxabi by the way.
> ------------------------------
> *From:* Zachary Turner <zturner at google.com>
> *Sent:* Thursday, November 29, 2018 10:59 PM
>
> *To:* Osman Zakir
> *Cc:* llvm-dev at lists.llvm.org
> *Subject:* Re: [llvm-dev] Errors in configuration for LLVM with CMake GUI
> This output is much more interesting.  Can you show the full cmake command
> line or set of variables that you configured?
>
> 1. I don't know why it's saying it requires Perl.  Perl is absolutely not
> a requirement
> 2. I don't know why it's trying to build openmp or compiler-rt.  I guess
> it depends on how you configured CMake.  openmp I don't think is well
> supported (perhaps not even supported at all) on Windows
> 3. I also don't know why it would be trying to find subversion.  However,
> even if it is trying to find subversion, "C:/Program
> Files/TortoiseSVN/bin/ info C:/llvm" is a meaningless command line,
> because there is no executable there.  It looks like it is trying to "run"
> a directory.
>
> So these are the problems you should be looking at I think.  Can you try
> it from a command line, and not the cmake gui?  For example, you might
> start by trying the exact command line I posted earlier.  Even if it's not
> suitable for your needs, I know for certain that command line works for me,
> so see if it works for you.  If it does not work, there's a problem with
> your installation, system, cmake version, etc.  If it does work, then it's
> more likely a problem with the cmake command line you're running.
>
> On Thu, Nov 29, 2018 at 9:45 AM Osman Zakir <osmanzakir90 at hotmail.com>
> wrote:
>
> I opened up an elevated Developer Command Prompt for VS2017, ran vcvarsall
> with argument amd64, and then ran the command "cmake-gui" in that command
> prompt.  Then in that gui window, I clicked on "Configure" without doing
> anything else.  At the end, I got an error window saying that there were
> errors, and that project files may be invalid.
>
> Here's the output from CMake:
> "
>
> Could NOT find Backtrace (missing: Backtrace_LIBRARY
> Backtrace_INCLUDE_DIR)
>
> Native target architecture is X86
>
> Threads enabled.
>
> Doxygen disabled.
>
> Go bindings disabled.
>
> Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH)
>
> OCaml bindings disabled.
>
> Could NOT find Python module pygments
>
> Could NOT find Python module pygments.lexers.c_cpp
>
> Could NOT find Python module yaml
>
> LLVM host triple: x86_64-pc-windows-msvc
>
> LLVM default target triple: x86_64-pc-windows-msvc
>
> Using Debug VC++ CRT: MDd
>
> Using Release VC++ CRT: MD
>
> Using MinSizeRel VC++ CRT: MD
>
> Using RelWithDebInfo VC++ CRT: MD
>
> Constructing LLVMBuild project information
>
> CMake Error at C:/Program
> Files/CMake/share/cmake-3.13/Modules/FindSubversion.cmake:123 (message):
> Command "C:/Program Files/TortoiseSVN/bin/ info C:/llvm" failed with
> output:
>
> Call Stack (most recent call first):
> cmake/modules/VersionFromVCS.cmake:19 (subversion_wc_info)
> CMakeLists.txt:757 (add_version_info_from_vcs)
>
> LLVMHello ignored -- Loadable modules not supported on this platform.
>
> Targeting AArch64
>
> Targeting AMDGPU
>
> Targeting ARM
>
> Targeting BPF
>
> Targeting Hexagon
>
> Targeting Lanai
>
> Targeting Mips
>
> Targeting MSP430
>
> Targeting NVPTX
>
> Targeting PowerPC
>
> Targeting Sparc
>
> Targeting SystemZ
>
> Targeting WebAssembly
>
> Targeting X86
>
> Targeting XCore
>
> Compiler-RT supported architectures: x86_64
>
> Builtin supported architectures: x86_64
>
> Builtin supported architectures: x86_64
>
> CMake Error at C:/Program
> Files/CMake/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137
> (message):
> Could NOT find Perl (missing: PERL_EXECUTABLE)
> Call Stack (most recent call first):
> C:/Program
> Files/CMake/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378
> (_FPHSA_FAILURE_MESSAGE)
> C:/Program Files/CMake/share/cmake-3.13/Modules/FindPerl.cmake:75
> (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
> projects/openmp/runtime/cmake/config-ix.cmake:147 (find_package)
> projects/openmp/runtime/CMakeLists.txt:234 (include)
>
> Configuring incomplete, errors occurred!
>
> See also "C:/llvm/build/CMakeFiles/CMakeOutput.log".
>
> See also "C:/llvm/build/CMakeFiles/CMakeError.log".
> "
>
> If I want Clang to use its own C++ standard libraries, with LLD as the
> linker, instead of MSVC's variants, what should I do?  Tell me that too
> please.  Thanks.
> ------------------------------
> *From:* Osman Zakir <osmanzakir90 at hotmail.com>
> *Sent:* Thursday, November 29, 2018 10:33 PM
> *To:* Zachary Turner
>
> *Subject:* Re: [llvm-dev] Errors in configuration for LLVM with CMake GUI
> After it finishes trying to configure, it says that there were errors with
> the configure step and that program files may be invalid.  And I also don't
> know what executable to point it to for SVN.
>
> What should I put for CLANG_DEFAULT_CXX_STDLIB, CLANG_DEFAULT_LINKER,
> CLANG_DEFAULT_RTLIB, CLANG_DEFAULT_STD_C and CLANG_DEFAULT_STD_CXX?  Would
> it be okay to provide the path to the MSVC include directory for the
> CLANG_DEFAULT_CXX_STDLIB, or should I provide the path to the include
> directory in the libcxx folder in the LLVM source tree?  For the Linker I
> think I'll just put llvm_root/tools/lld, if that's good enough.
>
> As for pthread, shouldn't I have that?  I mean, it's the standard threads
> library, isn't it?  And CMake also can't find the header that malloc is in,
> among some other headers.
>
> And what is the CLANG_VENDOR setting asking for?  The vendor that I got
> Clang from?  And what about CLANG_VENDOR_UTI?
>
> CMAKE_INSTALL_OLDINCLUDEDIR is set to the Linux-specific /usr/local for
> some reason.  What should I set it to?
>
> Note: @Zachary Turner <zturner at google.com> I wrote this before I saw your
> latest message.  I'll try that now.  Thanks.
> ------------------------------
> *From:* Zachary Turner <zturner at google.com>
> *Sent:* Thursday, November 29, 2018 9:49 PM
> *To:* Osman Zakir
> *Cc:* llvm-dev at lists.llvm.org
> *Subject:* Re: [llvm-dev] Errors in configuration for LLVM with CMake GUI
>
> I think you are heading down the wrong path. All of those error messages
> are normal. That’s just cmake doing feature detection, for example it will
> test whether your system has pthread.h by compiling a program that includes
> that header. So an error in your log about is missing pthread.h just means
> it will set HAVE_PTHREAD_H to false which is fine.
>
> I’m confused why we’re talking about gcc and libomp if you’re trying to do
> a Windows build. You should just use msvc to build it. You don’t need any
> of the things you mentioned to do a build.
>
> I still haven’t seen the output from cmake (just a paste of stdout).
> That’s going to tell you the real problem. The pog files I don’t think are
> very useful and will just lead you in the wrong direction.
>
> You said you’re using cmake gui, maybe the problem is that the gui can’t
> find the Visual Studio installation. Did you run vcvarsall first? Try first
> running vcvarsall from a command prompt and tgen running cmake (command
> line or gui) from that same command prompt
> On Thu, Nov 29, 2018 at 7:55 AM Osman Zakir via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> Also, what executable's path do I put in for SVN?  I just use SVN by
> right-clicking and then clicking on what I need in the context menu that
> comes up, since SVN is integrated into my context menus too.  But I don't
> know what .exe file it's using.  And because of that I don't know what path
> I need to give to it so it can find it.
>
> For some reason, it's trying to find Nuget as well.  I'll try to find path
> to it and put it there.
> ------------------------------
> *From:* Osman Zakir <osmanzakir90 at hotmail.com>
> *Sent:* Thursday, November 29, 2018 8:43 PM
> *To:* llvm-dev at lists.llvm.org; Jonathan Goodwin
>
> *Subject:* Re: [llvm-dev] Errors in configuration for LLVM with CMake GUI
>
> I probably need GCC for Git bash.  And the one I have is MinGW's GCC,
> which is the one for Windows.  I don't know why CMake is trying to find
> Linux headers.  Hopefully someone who knows better what to do will weigh in
> here.
>
> @Jonathan Goodwin <jondgoodwin at gmail.com> , are you sure you didn't have
> to tell it where the header files for Windows are?  If I need to specify
> the paths to those headers, how do I do it?
> ------------------------------
> *From:* Jonathan Goodwin <jondgoodwin at gmail.com>
> *Sent:* Thursday, November 29, 2018 10:42 AM
> *To:* Osman Zakir
> *Cc:* llvm-dev at lists.llvm.org
> *Subject:* Re: [llvm-dev] Errors in configuration for LLVM with CMake GUI
>
> I checked your CMakeError.log again. The .h include files it is marking as
> missing are not LLVM include files, but are OS-related (e.g.,
> malloc/malloc.h), and in some cases appear to be potentially Linux ones
> (dlfcn.h, sys/ioctl, malloc_np.h). I can't imagine why your build might be
> looking for Linux as opposed to Windows include files. That could be a clue
> to your problem.
>
> You said you installed the latest version of GCC before this attempt. This
> confuses me further, since you are using Visual Studio to build with, and
> that makes no use of GCC. In fact, honestly I am wondering if your GCC
> implementation libraries are somehow in your search path wrt environment
> variables, and your build is actually trying to use the GNU/Linux header
> files rather than the VS Windows header files, which would certainly blow
> it up. Again, I am no expert here, so I don't have a definite answer, but
> based on what little I know, this setup doesn't sound safe. Maybe get rid
> of GCC completely, as I am not sure when/how you would even use it on the
> Windows side.
>
> Similarly, I don't believe Perl has anything to do with this either, as
> neither CMake nor VS make any use of it. But I can't imagine it causing any
> problems for you to have it.
>
> I don't know anything about Backtrace, Libomp, Compiler-RT, so I cannot
> help you there. As we have discussed before, the source for clang and lld
> go into the llvm source folder's "tools" folder by those names. If they are
> there, after the configure step of the CMake-Gui, options will
> automatically appear for both clang and lld. You will want to mouse click
> the checkbox next to CLANG_BUILD_TOOLS and LLD_BUILD_TOOLS prior to hitting
> the generate button.
>
> Sorry I don't know more than that, but hopefully that will help some ...
> and then others can chime in if they know more about this than me.
>
> On Thu, Nov 29, 2018 at 2:52 PM Osman Zakir via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> I tried to configure CMake for LLVM using the GUI and I've attached the
> logs for the attempt to this message.  I installed Perl and the latest
> version of GCC before that attempt.  There were still errors that stopped
> it from being able to generate project files, though.
>
> I'd like to know how I can get this to work.  How do I tell it where to
> find Backtrace, Libomp, Compiler-RT, LLD and Clang?  And where exactly is
> Backtrace?  I copy-pasted the locations for the stuff I checked out for
> LLVM, so I'm not really sure where the stuff I need to put into CMake for
> Compiler-RT, Backtrace and Libomp is (it's where it should be, that's all I
> know).
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181129/b3b8c693/attachment.html>


More information about the llvm-dev mailing list