[cmake-developers] "NMake Makefiles JOM" issues with MinGW compiler
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Mon Jun 17 19:10:09 EDT 2013
On 2013-06-14 16:08-0400 Bill Hoffman wrote:
> Figured it out sort of...
>
>
> http://public.kitware.com/pipermail/cmake-developers/2013-June/007494.html
>
> has this link:
> A non-text attachment was scrubbed...
> Name: build_dir.tar.gz
> Type: application/octet-stream
> Size: 13997 bytes
> Desc: compressed build directory generated with --debug-trycompile for the
> two-line jom/mingw test project
> URL:
> <http://public.kitware.com/pipermail/cmake-developers/attachments/20130610/029d16d0/attachment.obj>
>
> I was able to get your files...
>
>
> Here is the problem:
>
> Modules/Platform/Windows-GNU.cmake:64 (enable_language):
> To use the JOM generator, cmake must be run from a shell that can use the
> compiler cl from the command line. This environment does not contain
> INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
> work.
> Call Stack (most recent call first):
>
> Z:/home/wine/newstart/cmake-2.8.10.2-win32-x86/share/cmake-2.8/Modules/Platform/Windows-GNU-C.cmake:1
> (include)
>
> Z:/home/wine/newstart/cmake-2.8.10.2-win32-x86/share/cmake-2.8/Modules/CMakeCInformation.cmake:56
> (include)
> CMakeLists.txt:1 (project)
>
>
> CMake Error: your RC compiler: "CMAKE_RC_COMPILER-NOTFOUND" was not found.
> Please set CMAKE_RC_COMPILER to a valid compiler path or name.
> -- Check for working C compiler:
> z:/home/wine/newstart/MinGW-4.7.2/bin/gcc.exe
> CMake Warning at CMakeLists.txt:2 (PROJECT):
> To use the JOM generator, cmake must be run from a shell that can use the
> compiler cl from the command line. This environment does not contain
> INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
> work.
>
>
>
> It is trying to enable the RC compiler and it can not find one.
>
> Try commenting that out in Windows-GNU.cmake like this:
>
> #enable_language(RC)
>
> Then see if it works.
Hi Bill:
I was glad you could access the attachment from the list version. So I
am putting this discussion back on the list so you can continue to do
that.
My own gut feeling is that commenting out "enable_language(RC)" is
simply trying to mask symptoms of a bug caused by the "NMake Makefiles
JOM" generator not initializing things correctly for the MinGW suite
of compilers. After all, generators that are compatible with the
MinGW suite of compilers execute Windows-GNU.cmake without issues.
Nevertheless, you may have had something definite in mind when
proposing this experiment so I did exactly what you suggested. The
cmake command (with "enable_language(RC) commented out") was invoked
like this:
bash.exe-3.1$ cmake --debug-trycompile -G"NMake Makefiles JOM" \
-DCMAKE_C_COMPILER=gcc .. >& cmake.out
Unlike before where that exact same command (without commenting out
"enable_language(RC)") errored out, this time that command hung.
There was no cpu time being spent on this according to top (which I an
run in the background on my Linux system to see what resources Wine is
using). But I had to use crtl-C to get the above cmake command to
exit.
Just to review, the CMakeLists.txt file consists
of the following two lines:
project(test_jom_mingw C)
cmake_minimum_required(VERSION 2.8.10.2)
I have attached a compressed tarball of the entire build tree so you
can see the exact results on my system. However, it is quite possible
the hang on the Wine version of Windows will turn into some condition
with better diagnostics on Microsoft Windows. Thus, could you please
run the above two-line project yourself in the manner I have described
(first without commenting out "enable_language(RC)" to confirm there
is also an issue on the Microsoft version of Windows) to see what
happens for the Microsoft version of Windows?
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build_dir_withoutRC.tar.gz
Type: application/octet-stream
Size: 24145 bytes
Desc: build tree resulting from experiment
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20130617/206ae830/attachment-0002.obj>
More information about the cmake-developers
mailing list