Bug 257949 - Build fails on XP due to line too long
Summary: Build fails on XP due to line too long
Alias: None
Product: digikam
Classification: Unclassified
Component: Portability-Compilation (show other bugs)
Version: 1.6.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal (vote)
Target Milestone: ---
Assignee: Digikam Developers
Depends on:
Reported: 2010-11-26 10:18 UTC by Andrew Goodbody
Modified: 2022-01-02 09:48 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 7.5.0

Possible fix (4.52 KB, patch)
2010-11-26 10:18 UTC, Andrew Goodbody
2nd attempt at patch (40.79 KB, patch)
2010-12-01 09:49 UTC, Andrew Goodbody
Updated patch (40.66 KB, patch)
2010-12-22 00:32 UTC, Andrew Goodbody

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Goodbody 2010-11-26 10:18:52 UTC
Created attachment 53752 [details]
Possible fix

Version:           1.6.0 (using Devel) 
OS:                MS Windows

I get
Scanning dependencies of target digikam-svnversion
[ 0%] Generating digikam/svnversion.h
[ 0%] Built target digikam-svnversion
Scanning dependencies of target ExternalDraw_automoc
Generating externaldraw.moc
[ 0%] Built target ExternalDraw_automoc
Scanning dependencies of target ExternalDraw
[ 0%] Building CXX object libs/imageproperties/markerclusterholderplugin/CMakeFiles/ExternalDraw.dir/ExternalDraw_automoc.obj
The input line is too long.

The generated command line is well over 8300 characters and the limit is 8191.

Reproducible: Always

Steps to Reproduce:
Build on WinXP
Comment 1 caulier.gilles 2010-11-26 10:23:09 UTC
There is a thread about this subject here :


Gilles Caulier
Comment 2 caulier.gilles 2010-11-26 10:24:18 UTC

I think it's a side-effect of your last patch about to create local static lib to compile digiKam. Right ?

Gilles Caulier
Comment 3 Andi Clemens 2010-11-26 12:30:03 UTC
Hm maybe, but not because of the static lib, it could be because we have one single INCLUDE_DIRS in the root CMakeLists file.
Comment 4 caulier.gilles 2010-11-30 09:14:25 UTC

Do you have take a look on the patch attached ? It's fine for you ? It's not in the opposite way than your last changes about local static libs used during compilation ?

Gilles Caulier
Comment 5 Andi Clemens 2010-11-30 10:48:57 UTC
Yes, it is reverting my changes, but if Windows isn't capable of handling these compile strings, I guess we need to remove the INCLUDE_DIRS from the main CMakeLists file again.
Comment 6 caulier.gilles 2010-11-30 11:08:22 UTC

This is Windows XP specific issue. Windows 7 do not have this problem...

Gilles Caulier
Comment 7 caulier.gilles 2010-11-30 11:44:24 UTC

If the patch is fine for you, well, i will apply it on svn

Gilles Caulier
Comment 8 Andi Clemens 2010-11-30 20:39:03 UTC
Well if it compiles, it is ok :-)
CMakeLists will get a little bit more complicated again, but if Windows is too bad at handling longer command line args... so we can apply the patch of course.
Comment 9 Andi Clemens 2010-11-30 20:41:20 UTC
What I don't like about the patch is that now some include dirs are in the main CMakelists file, the others are in the CMakelists file of the subproject folder.
This is even more complicated as it was before.
We should put all the include dirs in the subfolders and remove them from the main CMakelists file...
Comment 10 caulier.gilles 2010-11-30 20:45:47 UTC

Can you adapt your patch following comments #9 from Andi ?

Thanks in advance

Gilles Caulier

Note: I cannot check WINXP compilation. All computer there have been migrated under Seven, and all compile fine as well.
Comment 11 Andrew Goodbody 2010-11-30 21:44:33 UTC
OK, I will make an attempt but I am no CMake expert.
Comment 12 Andrew Goodbody 2010-12-01 09:49:17 UTC
Created attachment 53931 [details]
2nd attempt at patch

Patch created as per Andi's comments
Comment 13 Andrew Goodbody 2010-12-22 00:32:41 UTC
Created attachment 55148 [details]
Updated patch

2nd version of patch had bit-rotted so here is an update. Any chance of getting this committed?
Comment 14 caulier.gilles 2011-07-07 13:57:29 UTC

About Andrew patch, we must to take a choice. It's fine for you or it let's code less readable as the current one.

Personally i prefer a good readability. Using a common place to declare includes sound better.

An finally XP will disappear progressively.

Your viewpoint ?

Gilles Caulier
Comment 15 caulier.gilles 2011-12-13 13:13:14 UTC
ok, i choice... 

Gilles Caulier