[ITK] Win64 SimpleITK build error: NMAKE : fatal error U1095 (command line too long)

Bradley Lowekamp blowekamp at mail.nih.gov
Fri Aug 14 09:37:27 EDT 2015


Hello,

Glad it worked for you.

You also may want to look into the "ninja" build tool [1] as a replacement for nmake. It offers improved parallelization on windows, and may get around some of this command line limit issue. I have not used it on windows by self, but it comes highly recommend.

Brad

[1] https://martine.github.io/ninja/

On Aug 14, 2015, at 8:03 AM, Philip Semanchuk <ond at semanchuk.com> wrote:

> 
>> On Aug 13, 2015, at 12:36 PM, Bradley Lowekamp <blowekamp at mail.nih.gov> wrote:
>> 
>> OK,
>> 
>> Your Visual Studio should be based on VS 2008 then.
>> 
>> You could try commenting out this line:
>> https://github.com/SimpleITK/SimpleITK/blob/1b1745da326bbb67e1752b3edbde344d15712032/SuperBuild/SuperBuild.cmake#L359
>> 
>> The will remove passing all the language variables on the command line to the SimpleITK sub-project. But they will still be in the initial CMakeCache. This will remove the ability to update the variables in the sub project from the super build. 
> 
> That worked! Thanks very much for your help.
> 
> Cheers
> Philip
> 
> 
> 
> 
>> 
>> I'll investigate further, to determine if there is a better long-term solution.
>> 
>> HTH,
>> Brad
>> 
>> On Aug 13, 2015, at 12:19 PM, Philip Semanchuk <ond at semanchuk.com> wrote:
>> 
>>> 
>>>> On Aug 13, 2015, at 11:53 AM, Bradley Lowekamp <blowekamp at mail.nih.gov> wrote:
>>>> 
>>>> Hello,
>>>> 
>>>> What version of CMake and Visual Studio are you using?
>>> 
>>> CMake 3.3.0. I’m using Microsoft Visual C++ for Python 2.7. That's not Visual Studio — it’s not an IDE. It’s just a compiler, specifically a repackaged version of the compiler that came with Visual C++ 2008. 
>>> 
>>> 
>>>> What is your build and source path?
>>> 
>>> Build path is c:\Users\me\sitkb
>>> Source path is C:\Users\me\SimpleITK-0.9.0
>>> 
>>> 
>>>> Also know which Super build target that's causing the problem would be helpful too.
>>> 
>>> The U1095 error comes here:
>>> [ 84%] Performing configure step for 'SimpleITK'
>>> 
>>> 
>>>> 
>>>> Try have having your build and your source in a really short paths like "C:/b/SimpleITK" and "C:/b/bld”.
>>> 
>>> Thanks for the suggestion. I’m aware that long paths can contribute to overly-long command lines (I’ve run into that problem earlier in this build process). I don’t think they're the culprits here, though. 
>>> 
>>> The problem IMHO is that there are 105 variables being passed on the command line via -D (e.g. MAKE COMMAND, CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO, Java_JAVAC_EXECUTABLE, CSHARP_COMPILER, etc.), a lot of them containing paths that I don’t control (e.g. lots of references to "C:/Program Files (x86)”). 
>>> 
>>> If I paste the offending command into a text editor and search/replace my build and source paths with the shortest possible versions I can use, the command is still 5179 characters long. I think whatever buffer is getting blown out by a 5400 character command is still going to get blown out by a 5179 character command. 
>>> 
>>> Thanks for your willingness to help. I appreciate it!
>>> 
>>> Philip
>>> 
>>> 
>>>> 
>>>> On Aug 13, 2015, at 11:22 AM, Philip Semanchuk <ond at semanchuk.com> wrote:
>>>> 
>>>>> Hi, 
>>>>> I’m new to CMake and SimpleITK, and I’m trying to use the former to build a 64-bit version of the latter on Windows 7 with Microsoft Visual C++ for Python 2.7. I’m using the “SuperBuild” instructions from here:
>>>>> http://www.itk.org/Wiki/SimpleITK/GettingStarted#Build_It_Yourself
>>>>> 
>>>>> I’m running into a problem where a build.make file creates a shell command that’s almost 5400 characters long. This leads to:
>>>>> NMAKE : fatal error U1095: expanded command line [blah blah blah x 5400] too long
>>>>> 
>>>>> The root cause of the problem is that all of the CMake config variables are being passed on the command line (e.g,. -DCMAKE_BUILD_TYPE:STRING=RELEASE -DCMAKE_MAKE_PROGRAM:STRING=nmake etc.).
>>>>> 
>>>>> Since I’m new to CMake and SimpleITK, I’m a little lost as to where I should look to resolve this problem, but my hunch is that I should start with SimpleITK. If I’m in the wrong place, would someone be kind enough to guide me elsewhere?
>>>>> 
>>>>> I can post my build config and steps if that would help. 
>>>>> 
>>>>> Thanks
>>>>> Philip
>>>>> _______________________________________________
>>>>> Community mailing list
>>>>> Community at itk.org
>>>>> http://public.kitware.com/mailman/listinfo/community
>>>> 
>>> 
>> 
> 



More information about the Community mailing list