[ITK Community] "The input line is too long" error when using ITK

Dan Mueller dan.muel at gmail.com
Tue Dec 3 18:40:35 EST 2013


Hi Matt,

Thanks for the suggestion — worked perfectly. I have never used
installed ITK before, so didn't realize it would flatten the module
hierarchy.

Cheers, Dan

On 3 December 2013 22:45, Matt McCormick <matt.mccormick at kitware.com> wrote:
> Hi Dan,
>
> Does it help to install ITK?
>
> Thanks,
> Matt
>
>
> On Mon, Dec 2, 2013 at 11:51 PM, Dan Mueller <dan.muel at gmail.com> wrote:
>> Hi,
>>
>> I am encountering "The input line is too long" error when using ITK in
>> my own application.
>>
>> My CMakeLists.txt finds and uses ITK as follows:
>>
>> # Use ITK
>> FIND_PACKAGE(ITK REQUIRED)
>> INCLUDE(${ITK_USE_FILE})
>>
>> Helper macros in CMake\ITKModuleAPI.cmake recurse the included modules
>> (currently I include all modules, the ITK default position), adding a
>> bunch of directories to the variable ITK_INCLUDE_DIRS, which are then
>> added to INCLUDE_DIRECTORIES by CMake\UseITK.cmake.
>>
>> My own application then finds SWIG, and calls SWIG_ADD_MODULE and
>> SWIG_LINK_LIBRARIES. This results in a really long build command
>> (10791 characters long) in build.make (see truncation below):
>>
>> Native/service/swig/MyAppCSHARP_wrap.cxx: ../Native/service/swig/MyApp.i
>> $(CMAKE_COMMAND) -E cmake_progress_report
>> C:\Work\Source\MyApp\Build\CMakeFiles $(CMAKE_PROGRESS_1)
>> @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold
>> "Swig source"
>> cd /d C:\Work\Source\MyApp\Build\Native\service && "C:\Program
>> Files\CMake 2.8\bin\cmake.exe" -E make_directory
>> C:/Work/Source/MyApp/Build/Native/service
>> cd /d C:\Work\Source\MyApp\Build\Native\service &&
>> C:\Utils\swigwin-2.0.11\swig.exe -csharp -namespace "name.app.next"
>> -dllimport "libMyAppNative" -outdir
>> C:/Work/Source/MyApp/Build/Native/service -c++
>> -IC:/Work/Source/MyApp/Build/Native/ITKIOFactoryRegistration
>> -IC:/InsightToolkit-4.4.2/Modules/Video/IO/include
>> -IC:/InsightToolkit-4.4.2/Modules/Video/Filtering/include
>> -IC:/InsightToolkit-4.4.2/Modules/Video/Core/include
>> <TRUNCATED LOTS OF ITK INCLUDE DIRECTORIES>
>>  -IC:/InsightToolkit-4.4.2/Modules/ThirdParty/DoubleConversion/src/double-conversion
>> -IC:/Work/Source/MyApp/Native/external/gtest-1.7.0
>> -IC:/Work/Source/MyApp/Native/external/gtest-1.7.0/include
>> -IC:/Utils/MinGW/boost32/include/boost-1_55
>> -IC:/Work/Source/MyApp/Native
>> -IC:/Work/Source/MyApp/Native/service/include
>> -IC:/Work/Source/MyApp/Native/service/src
>> -IC:/Work/Source/MyApp/Native/util/include
>> -IC:/Work/Source/MyApp/Native/frame/include
>> -IC:/Work/Source/MyApp/Native/app-IC:/Work/Source/MyApp/Native/app/includes
>> -IC:/Work/Source/MyApp/Native/app/name/codegearglue
>> -IC:/Work/Source/MyApp/Build/Native/app"-IC:/Program
>> Files/PostgreSQL/9.3/include" "-IC:/Program
>> Files/PostgreSQL/9.3/include/server" -o
>> C:/Work/Source/MyApp/Build/Native/service/swig/MyAppCSHARP_wrap.cxx
>> C:/Work/Source/MyApp/Native/service/swig/MyApp.i
>>
>> This really long line (the bulk of which are the ITK include
>> directories) causes the following error:
>>
>> [ 40%] Swig source
>> The input line is too long.
>> Native\service\CMakeFiles\MyAppNative.dir\build.make:75: recipe for
>> target 'Native/service/swig/MyAppCSHARP_wrap.cxx' failed
>> mingw32-make[2]: *** [Native/service/swig/MyAppCSHARP_wrap.cxx] Error 255
>> CMakeFiles\Makefile2:409: recipe for target
>> 'Native/service/CMakeFiles/MyAppNative.dir/all' failed
>> mingw32-make[1]: *** [Native/service/CMakeFiles/MyAppNative.dir/all] Error 2
>> Makefile:84: recipe for target 'all' failed
>> mingw32-make: *** [all] Error 2
>>
>> As a work-around I will try to only include the required ITK modules,
>> and reduce directory name lengths (eg. rename
>> "C:/InsightToolkit-4.4.2" to "ITK-4.4.2"), however these are simply
>> temporary measures and not "real" solutions.
>>
>> Does anyone have any ideas how I can better avoid this "The input line
>> is too long" error?
>>
>> (The thread http://www.cmake.org/pipermail/cmake/2006-September/011284.html
>> suggests using a "link script" could help, but I think that would
>> require changes internal to CMake itself.)
>>
>> I am using the following environment: Windows XP SP3, MinGW 4.8.1, ITK
>> 4.4.2, CMake 2.8.12.1, Swig 2.0.11, Boost 1_55_0.
>>
>> Regards, Dan
>> _______________________________________________
>> Community mailing list
>> Community at itk.org
>> http://public.kitware.com/cgi-bin/mailman/listinfo/community



More information about the Community mailing list