MantisBT - CMake | ||||||||||
View Issue Details | ||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0015439 | CMake | CMake | public | 2015-03-10 16:54 | 2015-11-02 09:15 | |||||
Reporter | Thomas Herz | |||||||||
Assigned To | Brad King | |||||||||
Priority | normal | Severity | major | Reproducibility | always | |||||
Status | closed | Resolution | fixed | |||||||
Platform | Win32 | OS | Windows | OS Version | Windows 7 | |||||
Product Version | CMake 3.2 | |||||||||
Target Version | CMake 3.3 | Fixed in Version | CMake 3.3 | |||||||
Summary | 0015439: ninja: no possibility to control type of path delimiter and line break for linker response file | |||||||||
Description | I'm working with the Windriver VxWorks GNU tool chain on Windows host. Compiler Version: ccpentium.exe (Wind River VxWorks G++ DWARF-EH 4.1-131) 4.1.2 --host=i686-mingw32 --target=i586-wrs-vxworks I adapted our existing 'unix makefile' project to ninja builder and I'm getting following linker error: @CMakeFiles/myLib.rsp: No such file or directory Finally, I figured out the reason. Actually, there are two of them: 1) The linker response file uses '\' for path delimiters, but this version of GCC can't handle them, even if it is running on Windows host. It only handles '/' or '\\' correctly. I managed to work around this problem by setting 'CMAKE_COMPILER_IS_MINGW' to '1'. But, I guess, this may have some unwanted side effects. Related bug report: 0015278 2) The linker response file uses Windows style line-breaks (CR-LF) to separate individual object paths. This version of GCC can't handle them. It works fine with Unix style (LF) or without any line breaks and whitespace instead. The behaviour of ninja generator was changed with commit a55d5ca48179d3be4d8406028c0992d45ada8882. I think, this patch is too 'global'. According to commit message 'Avoid LNK1170 linker error' this commit should solve Microsoft compiler/linker problems. Furthermore LNK1170 is not listed anymore for VS2010 and above. Anyhow, for both issues, some kind of automagic with the possibility to change the automagic decision with a particular cmake-variable would be the best solution for such kind of problems. | |||||||||
Steps To Reproduce | ||||||||||
Additional Information | ||||||||||
Tags | backslash, CMake, linefeed, ninja | |||||||||
Relationships |
| |||||||||
Attached Files | 0001-Use-always-forward-slashes-in-response-files-when-co.patch (3,080) 2015-05-07 03:59 https://public.kitware.com/Bug/file/5450/0001-Use-always-forward-slashes-in-response-files-when-co.patch 0002-Do-not-use-newlines-in-response-files-when-compiling.patch (1,163) 2015-05-07 03:59 https://public.kitware.com/Bug/file/5451/0002-Do-not-use-newlines-in-response-files-when-compiling.patch 0001-ninja-Replaced-last-left-MinGW-check-with-GCCOnWindo.patch (934) 2015-05-08 10:25 https://public.kitware.com/Bug/file/5453/0001-ninja-Replaced-last-left-MinGW-check-with-GCCOnWindo.patch | |||||||||
Issue History | ||||||||||
Date Modified | Username | Field | Change | |||||||
2015-03-10 16:54 | Thomas Herz | New Issue | ||||||||
2015-03-11 05:21 | Thomas Herz | Tag Attached: backslash | ||||||||
2015-03-11 05:21 | Thomas Herz | Tag Attached: CMake | ||||||||
2015-03-11 05:21 | Thomas Herz | Tag Attached: linefeed | ||||||||
2015-03-11 05:21 | Thomas Herz | Tag Attached: ninja | ||||||||
2015-03-11 08:27 | Brad King | Relationship added | related to 0015278 | |||||||
2015-04-07 16:01 | Brad King | Note Added: 0038471 | ||||||||
2015-05-07 03:58 | Thomas Herz | Note Added: 0038724 | ||||||||
2015-05-07 03:59 | Thomas Herz | File Added: 0001-Use-always-forward-slashes-in-response-files-when-co.patch | ||||||||
2015-05-07 03:59 | Thomas Herz | File Added: 0002-Do-not-use-newlines-in-response-files-when-compiling.patch | ||||||||
2015-05-07 15:11 | Brad King | Note Added: 0038728 | ||||||||
2015-05-07 15:12 | Brad King | Assigned To | => Brad King | |||||||
2015-05-07 15:12 | Brad King | Status | new => assigned | |||||||
2015-05-07 15:12 | Brad King | Target Version | => CMake 3.3 | |||||||
2015-05-08 09:38 | Brad King | Note Added: 0038734 | ||||||||
2015-05-08 09:38 | Brad King | Status | assigned => resolved | |||||||
2015-05-08 09:38 | Brad King | Resolution | open => fixed | |||||||
2015-05-08 09:38 | Brad King | Fixed in Version | => CMake 3.3 | |||||||
2015-05-08 10:25 | Thomas Herz | File Added: 0001-ninja-Replaced-last-left-MinGW-check-with-GCCOnWindo.patch | ||||||||
2015-05-08 10:30 | Thomas Herz | Note Added: 0038737 | ||||||||
2015-05-08 11:22 | Brad King | Note Added: 0038738 | ||||||||
2015-11-02 09:15 | Robert Maynard | Note Added: 0039807 | ||||||||
2015-11-02 09:15 | Robert Maynard | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|