I am using graphviz-2.9.20060719.0440 . Before installing this I have installed tcl8.4.2, tk8.4.13, zlib-1.1.4, jpeg-6b, freetype-2.2.1 & libpng-1.2.5 properly. I have installed tcl8.4.2, tk8.4.13, zlib-1.1.4, jpeg-6b, & freetype-2.2.1 in the following way. ./configure --prefix=<install_dir> make install
For libpng-1.2.5 I have used the following options. cd libpng-1.2.5 cp scripts/makefile.linux . mane install prefix=<install_dir>
Then I have installed graphviz-2.9.20060719.0440 in the following way. ./configure --disable-rpath --with-tclsh=<installdir>/bin/tclsh8.4 --with-wish=<install_dir>/bin/wish8.4 --with-freetype=<install_dir> --with-zincludedir=<install_dir>/include/ --with-zlibdir=<install_dir>/lib --with-pngincludedir=<install_dir>/include/ --with-pnglibdir=<install_dir>/lib --with-jpegincludedir=<install_dir>include/ --with-jpeglibdir=<install_dir>lib --prefix=<install_dir>
All the library files generated in this way will be automatically copied in the directory <install_dir>/lib/graphviz.
Now I have created another independent directory called "CurrentDir" which has three sub directories. a) bin ( Here I have copied dot, dotty & lefty from <install_dir>/bin ) b) lib ( Here I have copied all the library files from <install_dir>/lib ) & c) scripts ( Here I have copied all the scripts from graphviz-2.9.20060719.0440/cmd/dotty ).
Now I have renamed the <install_dir>. ( Otherwise the problem will not be visible )
After that I have set the following environment variable. setenv PATH <CurrentDir>/scripts:$PATH setenv LD_LIBRARY_PATH <CurrentDir>/lib/graphviz:$LD_LIBRARY_PATH
Now going inside the <CurrentDir>/bin I am running dotty with the following command. dotty abc.dot
At this time it is working fine.
Now the directory graphviz is renamed to Linux2 & the environment variable LD_LIBRARY_PATH is set to setenv LD_LIBRARY_PATH <CurrentDir>/lib/Linux2:$LD_LIBRARY_PATH
Now I am trying to load the file abc.dot in the previous way ( dotty abc.dot ).
It is giving the following error. Error: Layout was not done. Missing layout plugins?
But ldd dot gives the following informations libgvc.so.3 => <CurrentDir>/lib/Linux2/libgvc.so.3 (0x40017000) libgraph.so.3 => <CurrentDir>/lib/Linux2/libgraph.so.3 (0x4008a000) libcdt.so.3 => <CurrentDir>/lib/Linux2/libcdt.so.3 (0x40095000) libpathplan.so.3 => <CurrentDir>/lib/Linux2/libpathplan.so.3 (0x4009a000) libm.so.6 => /lib/tls/libm.so.6 (0x400b9000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0x400dc000) libltdl.so.3 => /usr/lib/libltdl.so.3 (0x400fc000) libdl.so.2 => /lib/libdl.so.2 (0x40103000) libc.so.6 => /lib/tls/libc.so.6 (0x40106000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Is there any way to remove this dependency ? Waiting for reply.
Thanks & regards,
[ellson] Assuming <install_dir> was the same for freetype, fontconfig etc., all you should need for graphviz is: ./configure --prefix=<install_dir>
It automatically looks under <install_dir> for includes and libraries of its dependencies.
Why are you using --disable-rpath? Take that off and you won't need to mess with LD_LIBRARY_PATH
Did you do a "make install" from graphviz? "dot -c" is run with installation priviledges during "make install" to generate <install_dir>/lib/graphviz/config which registers all the plugins. The "Missing layout plugins" implies that this was not done.
If you rename the <install_dir> then you will break rpaths and the plugin load mechanism. Just tell ./configure where you really want to install it.
[north] Atrenta is a profit-making company that sells CAD software. Their software is not freely available, as far as I can tell.
They should stop nagging us about problems of their own making.
We are not being paid by them to help them in their profit-making
activity. If they need to take the time to understand how to configure
and install the software, that does not make the situation a "major bug".
I doubt that most software with intrinsic paths to find plugins or DSOs
can just be copied around anywhere. If they want to do that Atrenta
should figure out how to build mostly-static binaries.