Number: 989
Title: Quicktime breaks FDP
Submitter: Jean-Daniel Fekete
Date: Wed Aug 2 07:44:24 2006
Subsys: Fdp
Version: 2.8
System: x86-Windows-
Severity: major
Problem:
(As told to Stephen North) When QuickTime is on my PATH, fdp is broken. More specifically, when the directory C:\Program Files\QuickTime\QTSystem\ is on the path, it breaks fdp.

Here is the preferred layout.
Input file: b989.dot
Output file: b989.png
Comments:
Here's a directory listing. Wonder if GD picks up a weird shared lib?


total 36628
-rwxrwx---+  1 Administrateurs SYSTEM   377040 Dec 21  2005 CFCharacterSetBitmaps.bitmap
-rwxrwx---+  1 Administrateurs SYSTEM    21784 Dec 21  2005 CFUniCharPropertyDatabase.data
-rwxrwx---+  1 Administrateurs SYSTEM    84868 Dec 21  2005 CFUnicodeData-B.mapping
-rwxrwx---+  1 Administrateurs SYSTEM    84868 Dec 21  2005 CFUnicodeData-L.mapping
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 CoreVideo.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   237568 May  4 17:36 CoreVideo.qtx
-rwxrwx---+  1 Administrateurs SYSTEM   747008 Mar 23  2000 Indeo4.qtx
-rwxrwx---+  1 Administrateurs SYSTEM   120320 Dec  6  2000 Ir41_qc.dll
-rwxrwx---+  1 Administrateurs SYSTEM   338432 Dec  6  2000 Ir41_qcx.dll
-rwxrwx---+  1 Administrateurs SYSTEM   176128 May  4 19:05 QTJava.dll
-rwxrwx---+  1 Administrateurs SYSTEM  1179993 Oct 19  2005 QTJava.zip
-rwxrwx---+  1 Administrateurs SYSTEM   446464 May  4 19:05 QTJavaNative.dll
-rwxrwx---+  1 Administrateurs SYSTEM   307200 May  4 16:33 QTMLClient.dll
-rwxrwx---+  1 Administrateurs SYSTEM   626688 May  4 19:05 QTPluginInstaller.exe
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTime.Resources
-rwxrwx---+  1 Administrateurs SYSTEM  1064960 May  4 19:05 QuickTime.cpl
-rwxrwx---+  1 Administrateurs SYSTEM 14860800 May  5 09:58 QuickTime.qts
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTime3GPP.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   331776 May  4 17:36 QuickTime3GPP.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTime3GPPAuthoring.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   450560 May  4 17:36 QuickTime3GPPAuthoring.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeAudioSupport.Resources
-rwxrwx---+  1 Administrateurs SYSTEM  1495040 May  4 17:36 QuickTimeAudioSupport.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeAuthoring.Resources
-rwxrwx---+  1 Administrateurs SYSTEM  1900544 May  4 17:36 QuickTimeAuthoring.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeCapture.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   315392 May  4 17:36 QuickTimeCapture.qtx
-rwxrwx---+  1 Administrateurs SYSTEM    81920 May  4 19:04 QuickTimeCheck.ocx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeEffects.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   548864 May  4 17:36 QuickTimeEffects.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeEssentials.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   479232 May  4 17:36 QuickTimeEssentials.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeH264.Resources
-rwxrwx---+  1 Administrateurs SYSTEM  2347008 May  4 17:36 QuickTimeH264.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeImage.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   942080 May  4 17:36 QuickTimeImage.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeInternetExtras.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   888832 May  4 17:36 QuickTimeInternetExtras.qtx
-rwxrwx---+  1 Administrateurs SYSTEM     4608 May  4 17:36 QuickTimeJavaExtras.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeMPEG.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   434176 May  4 17:36 QuickTimeMPEG.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeMPEG4.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   307200 May  4 17:36 QuickTimeMPEG4.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeMPEG4Authoring.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   528384 May  4 17:36 QuickTimeMPEG4Authoring.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeMusic.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   561152 May  4 17:36 QuickTimeMusic.qtx
-rwxrwx---+  1 Administrateurs SYSTEM  2000384 May  4 17:36 QuickTimeMusicalInstruments.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeQD3D.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   200704 May  4 17:36 QuickTimeQD3D.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeStreaming.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   827392 May  4 17:36 QuickTimeStreaming.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeStreamingAuthoring.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   335872 May  4 17:36 QuickTimeStreamingAuthoring.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeStreamingExtras.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   131072 May  4 17:36 QuickTimeStreamingExtras.qtx
-rwxrwx---+  1 Administrateurs SYSTEM    77824 May  4 17:30 QuickTimeUpdateHelper.exe
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeVR.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   757760 May  4 17:36 QuickTimeVR.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeVRAuthoring.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   614400 May  4 17:36 QuickTimeVRAuthoring.qtx
drwxrwx---+ 16 Administrateurs SYSTEM        0 Jul 21 09:17 QuickTimeWebHelper.Resources
-rwxrwx---+  1 Administrateurs SYSTEM   241664 May  4 17:36 QuickTimeWebHelper.qtx
Comments: [ellson] How is it broken? I get the same output here from "fdp -Tpng debug.out"

I don't know how quicktime could affect fdp. I don't see anything in the listing that would conflict.

Does windows have tools like "which" and "ldd" to help you check what executables and dlls are being used?

[erg] Also, the graphviz tools are statically linked on Windows (except the the Win32 libraries).

[erg] Based on the two png files, by "broken", I assume you mean that one layout does not distribute the nodes as uniformly as the other one. As John noted, we get the same "bad" layout when we run fdp on your graph. The default parameters and several other things were changed in the 2.8 version of fdp. Earlier versions produce the better layout. What I'm guessing is that QuickTime is not the culprit per se, but that in changing your path to include QuickTime, you are picking up the new version of fdp. Without the path change, you are getting the older version.

Try running fdp -V with the two different PATH settings and see if the versions are different.

The new layout is not incorrect. fdp removes node overlaps by default. It attempts to do this as part of node placement. If the fails, it invokes a post-processing step to remove the overlaps. In general, how to do this latter step is still an open research problem. The earlier version of fdp is able to layout the graph without needing this step and gives you what you want. The new version, with the changed parameters, needs the post-processing.

As a workaround, you can adjust the initial spring constant K (e.g., -GK=0.5), or the overlap value, either having fdp work harder to remove overlaps before post-processing (-Goverlap=12: ) or use a different type of post-processing (-Goverlap=9:scale).

In general, fdp is more of an experimental program. There is still a lot of tuning that needs to be done. Unless you need some of its particular special features, we usually recommend neato for this type of layout.
Owner: erg
Status: Fixed