[ITK Community] "The input line is too long" error when using ITK
Matt McCormick
matt.mccormick at kitware.com
Tue Dec 3 07:15:01 EST 2013
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