0

I am currently working on graphviz in linux environment and i am new to linux.

By using the below command i am trying to generate an svg file from the below listed input dot file.(i have installed graphviz 2.38.0) and the current user is having full access to the machine.

dot -Tsvg -o Check_Svg.svg Check_Svg.txt

Check_Svg.txt

digraph g {
graph[size="15,5" nodesep=1 ranksep=1 ];
node[color="#56B9F9" shape="oval" style="filled" penwidth="2.5" fontname="Helvitica-Outline" fontsize="25" ];
edge[penwidth="2.5" fontsize="30" ];
Example_01[fontcolor="white" color="#56B9F9" label=<<table border="0"><tr>    <td>Example_Application</td></tr><tr><td>Case1</td></tr><tr><td>Case2</td></tr></table>>     fontsize=35 ];
Example_02[color="#FDC12E" label=<<table border="0"><tr><td>Example_02</td></tr><tr>    <td>Case2</td></tr></table>>];
Example_01->Example_02[label=<<table border="0"><tr><td>Example_01 to Example_02</td>    </tr><tr><td>1 Relationship</td></tr></table>> headport="nw" ];
{
rank="max"
Legend [color="#96B9F9" fontsize="30" ,shape=none, margin=0,  label=<
<TABLE COLOR="BLACK" BORDER="1" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
 <TR>
  <TD> ( ) </TD>
  <TD align="left"> Cases </TD>
 </TR>
 <TR>
  <TD> * </TD>
  <TD align="left"> Relationship </TD>
 </TR>
</TABLE>
>];
}
}

When i executed the command to generate a svg output from a dot file, i am getting the below error.

Warning: Not built with libexpat. Table formatting is not available.
in label of node Example_01
in label of node Example_02
in label of node Legend
in label of edge Example_01 -> Example_02

The output svg file is getting created, but wrongly. Instead of the html label, the node name itself is coming in the diagram.

The output svg from the above dot file

I have installed libexpat, in my linux machine, at /usr/local/lib.

Please suggest me how to invoke the libexpat, so that i can generate the actual output from my linux environment.

Thanks in advance !!!

Bijoy Bahuleyan
  • 81
  • 1
  • 1
  • 11

2 Answers2

0

Configure first sees if the expat-config program is in your path. If not, it tries building against the library with the various user-supplied -I and -L paths. If it still can't find your libexpat, you can use the --with-expatincludedir and --with-expatlibdir to specify where the include file and library reside.

Obviously, all this depends on having libexpat installed. You'll need to find it, or just install it yourself.

By the way, you needn't configure, build and run to check for a missing feature. When configure finishes, it should list which optional pieces are available.

Chankey Pathak
  • 21,187
  • 12
  • 85
  • 133
  • So while installing graphviz itself, i need to set this expat path ??? Actually dot is installed in "/usr/local/bin" and libexpat is installed in "/usr/local/lib". So while invoking the dot, how it will get refer to the libexpat in the other path ??? As i am new to linux, this doubt arise.. – Bijoy Bahuleyan Dec 24 '14 at 06:06
0

Hiii, i got the answer for my above question.

Actually for linking a library to one particular application, we need to install that library before the installation of the application.

So here i installed expat-2.0.1 and then installed graphviz2.38.0 and the issue is sorted out.

Thank you !!

Bijoy Bahuleyan
  • 81
  • 1
  • 1
  • 11
  • Yes, before building it you need to install dependencies first and then build it by providing the path to required modules. – Chankey Pathak Dec 24 '14 at 07:06