Number: 1806
Title: Compilation pb, can't use graphviz
Submitter: Yoann ROYER
Date: 2 Nov 2009
Subsys: build/installation
Version: 2.24.0
System: HP-UX itanium B.11.31
Severity: critical
Problem:
I try to install the version 2.24.0 of graphviz on hp-unix itanium server in order to use dot and I have got a wrong message during the compilation : I have installed all dependencies notified on your website.

When I execute the make command :


ranlib .libs/libpathplan_C.a
creating libpathplan_C.la
(cd .libs && rm -f libpathplan_C.la && ln -s ../libpathplan_C.la libpathplan_C.la)
Making all in sfio
Make: line 905: syntax error.  Stop.

I have no line 905 on makefile on sfio. Can I install without sfio ? if yes ? how can I do ? Thank you very much.

This is my end of my configure command.

graphviz-2.24.0 will be compiled with the following:

options: cgraph: No (disabled by default - experimental) codegens: No (disabled by default - deprecated) digcola: Yes expat: No (missing library) fontconfig: Yes freetype: Yes glut: No (missing GL/glut.h) gts: Yes ipsepcola: No (disabled by default - C++ portability issues) ltdl: Yes ortho: No (disabled by default - experimental) png: No (missing libpng) sfdp: No (disabled by default - experimental) shared: Yes static: No (disabled by default)

commands: dot: Yes (always enabled) neato: Yes (always enabled) fdp: Yes (always enabled) circo: Yes (always enabled) twopi: Yes (always enabled) lefty: Yes (always enabled) gvpr: Yes (always enabled) smyrna: No (disabled by default - experimental)

plugin libraries: dot_layout: Yes (always enabled) neato_layout: Yes (always enabled) core: Yes (always enabled) devil: No (missing library) gd: No (gd library found) gdiplus: No (disabled by default - Windows only) gdk_pixbuf: No (gdk_pixbuf library not available) ghostscript: No (missing headers) glitz: No (disabled by default - incomplete) gtk: No (gtk library not available) lasi: No (lasi library not available) ming: No (disabled by default - incomplete) pangocairo: Yes quartz: No (disabled by default - Mac only) rsvg: No (rsvg library not available) visio: No (disabled by default - experimental) xlib: No (disabled or unavailable)

language extensions: gv_sharp: No (swig does not support -csharp option) gv_guile: No (swig does not support -guile option) gv_io: No (disabled by default - no swig support yet) gv_java: No (disabled) gv_lua: No (swig does not support -lua option) gv_ocaml: No (swig does not support -ocaml option) gv_perl: No (swig does not support -perl option) gv_php: No (swig does not support -php or -php5 option) gv_python: No (disabled) gv_python23: No (disabled by default - for multiversion installs) gv_python24: No (disabled by default - for multiversion installs) gv_python25: No (disabled by default - for multiversion installs) gv_python26: No (disabled by default - for multiversion installs) gv_R: No (swig does not support -r option) gv_ruby: No (disabled) gv_tcl: No (tcl not available)

tcldot: No (tcl not available) tclpathplan: No (tcl not available) gdtclft: No (tcl not available) tkspline: No (tk not available) Please help me.
Comments:
[erg] John Ellson may be better able to comment on this but one suggestion is to make sure you are using gmake.

If all you want is to run dot, you do not need sfio. You need to do a "make install" of the necessary libraries in the lib directory. You only need


 cdt graph gd pathplan vpsc rbtree sparse patchwork common
 pack gvc circogen dotgen fdpgen neatogen twopigen sfdpgen osage
Then do a "make install" in the plugin directory, then a "make install" in cmd/dot.

[yoann]

I modify the Makefile of .../graphviz-2.24.0/lib like this:


"SUBDIRS = cdt graph gd pathplan 
        vpsc rbtree sparse patchwork common 
        pack gvc 
        circogen dotgen fdpgen neatogen twopigen sfdpgen osage"

I receive the following message :


No suffix list.
Making all in cdt
Making all in graph
Making all in gd
Making all in pathplan
Making all in vpsc
Making all in rbtree
Making all in sparse
Making all in patchwork
Making all in common
Making all in pack
Making all in gvc
Making all in circogen
Making all in dotgen
Making all in fdpgen
Making all in neatogen
        /bin/sh ../../libtool --tag=CC    --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..   -I../..  -I../../lib/common  -I../../lib/gvc  -I../../lib/pack  -I../../lib/ortho  -I../../lib/pathplan  -I../../lib/graph  -I../../lib/sparse  -I../../lib/rbtree  -I../../lib/sfdpgen  -I../../lib/cdt  -mt -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include   -I/usr/local/include  -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -MT adjust.lo -MD -MP -MF .deps/adjust.Tpo -c -o adjust.lo adjust.c
 gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../lib/common -I../../lib/gvc -I../../lib/pack -I../../lib/ortho -I../../lib/pathplan -I../../lib/graph -I../../lib/sparse -I../../lib/rbtree -I../../lib/sfdpgen -I../../lib/cdt -mt -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -MT adjust.lo -MD -MP -MF .deps/adjust.Tpo -c adjust.c  -DPIC -o .libs/adjust.o
cc1: error: unrecognized command line option "-mt"
*** Error exit code 1

Stop.

Second point, i try to compile the plugins and I receive the message : Do I have to modify the .../graphviz-2.24.0/plugin Makefile ? The X11 libraries aren't specified as dependencies libraries ? Could you tell me exactly witch libraries I need ?


obux065:[VM]:/exec/applis/EAI_Tools/graphviz-2.24.0/plugin#make
No suffix list.
Making all in core
Making all in devil
Making all in gd
        /bin/sh ../../libtool --tag=CC    --mode=link gcc  -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math  -version-info 6:0:0    -L/usr/local/lib -o libgvplugin_gd.la -rpath /usr/local/lib/graphviz gvplugin_gd.lo gvrender_gd.lo gvrender_gd_vrml.lo  gvtextlayout_gd.lo gvloadimage_gd.lo gvdevice_gd.lo ../../lib/gvc/libgvc.la  ../../lib/graph/libgraph.la  ../../lib/cdt/libcdt.la  -lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng12 -lz -lm /usr/local/lib/hpux32/libiconv.a -lm

*** Warning: Trying to link with static lib archive /usr/local/lib/hpux32/libiconv.a. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because the file extensions .a of this argument makes me believe *** that it is just a static archive that I should not used here. gcc -shared -Wl,+h -Wl,libgvplugin_gd.so.6 -Wl,+nodefaultrpath -o .libs/libgvplugin_gd.so.6.0 .libs/gvplugin_gd.o .libs/gvrender_gd.o .libs/gvrender_gd_vrml.o .libs/gvtextlayout_gd.o .libs/gvloadimage_gd.o .libs/gvdevice_gd.o -Wl,+b -Wl,/exec/applis/EAI_Tools/graphviz-2.24.0/lib/gvc/.libs:/exec/applis/EAI_Tools/graphviz-2.24.0/lib/graph/.libs:/exec/applis/EAI_Tools/graphviz-2.24.0/lib/cdt/.libs -L/exec/applis/EAI_Tools/graphviz-2.24.0/lib/graph/.libs -L/exec/applis/EAI_Tools/graphviz-2.24.0/lib/cdt/.libs -L/usr/local/lib ../../lib/gvc/.libs/libgvc.so -L/exec/applis/EAI_Tools/graphviz-2.24.0/lib/pathplan/.libs ../../lib/graph/.libs/libgraph.so ../../lib/cdt/.libs/libcdt.so /usr/local/lib/hpux32/libXpm.so -L/usr/local/lib/hpux32 -L/usr/contrib/X11R6/lib -lX11 /usr/local/lib/libjpeg.sl /usr/local/lib/libfontconfig.sl /usr/local/lib/libfreetype.sl /usr/local/lib/libpng12.sl -lz -lm -lc ld: Can't find library for -lX11 Fatal error. collect2: ld returned 1 exit status *** Error exit code 1

[erg] At this point, I leave you in John Ellson's capable hands. It appears something is wrong with configure on HP. At least, one would expect it not to use flags such as -mt or libraries such as X11 unless it was guaranteed they were available and needed.

[ellson] Hah! On HP I'm all at sea!

Could you try using gcc and gmake ?

[yoann] You mean, I have to change some properties of the Makefile ? I send you the Makefile of lib and plugin, to my mind he already used gcc.


No suffix list.
Making all in cdt
Making all in graph
Making all in gd
Making all in pathplan
Making all in vpsc
Making all in rbtree
Making all in sparse
Making all in patchwork
Making all in common
Making all in pack
Making all in gvc
Making all in circogen
Making all in dotgen
Making all in fdpgen
Making all in neatogen
        /bin/sh ../../libtool --tag=CC    --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..   -I../..  -I../../lib/common  -I../../lib/gvc  -I../../lib/pack  -I../../lib/ortho  -I../../lib/pathplan  -I../../lib/graph  -I../../lib/sparse  -I../../lib/rbtree  -I../../lib/sfdpgen  -I../../lib/cdt  -mt -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include   -I/usr/local/include  -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -MT adjust.lo -MD -MP -MF .deps/adjust.Tpo -c -o adjust.lo adjust.c
 gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../lib/common -I../../lib/gvc -I../../lib/pack -I../../lib/ortho -I../../lib/pathplan -I../../lib/graph -I../../lib/sparse -I../../lib/rbtree -I../../lib/sfdpgen -I../../lib/cdt -mt -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -MT adjust.lo -MD -MP -MF .deps/adjust.Tpo -c adjust.c  -DPIC -o .libs/adjust.o
cc1: error: unrecognized command line option "-mt"
*** Error exit code 1

[yoann] Do you find something concerned my issue ? You don't have a version of graphviz that you are sure it works on hp-unix ?

[ellson] *Making all in sfio Make: line 905: syntax error. Stop.*

I've been able to reproduce this issue with HP's /usr/bin/make

The easiest solution seems to be to use GNU make from:

http://ftp.gnu.org/gnu/make/make-3.81.tar.gz

then this problem no longer occurs.

The next problem I hit is with HP's support for "inline" (or lack thereof) I'll add a configure test for this.

[ellson] Please ignore this.... apparently some problem does still occur, although sometimes the sfio build completes...

I'm looking at it.....

[ellson] OK, The above problem was apparently caused by having GNU make still called "make". Even though it was ahead of /usr/bin/make in my $PATH. Problem solved by renaming GNU make to gmake.

I didn't get very far with HP's cc either (aCC: HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]) and the linker doesn't seem to generate shared libs?

There are a few small changes in CVS, which should be in tomorrow's snaphot, but with those I was able to build with:


    ./configure --disable-shared --enable-static

and get a working dot_static executable.


$ uname -a
HP-UX prova B.11.23 U ia64 unknown unknown HP-UX
$ echo 'digraph{a->b}' | ./dot_static
digraph {
        node [label="N"];
        graph [bb="0,0,54,108"];
        a [pos="27,90", width="0.75", height="0.5"];
        b [pos="27,18", width="0.75", height="0.5"];
        a -> b [pos="e,27,36.413 27,71.831 27,64.131 27,54.974 27,46.417"];
}
$

[yoann] Thank for all your done. I try to do this:

cvs -d :pserver:anoncvs@cvs-graphviz.research.att.com:/home/cvsroot login > > anoncvs cvs -d :pserver:anoncvs@cvs-graphviz.research.att.com:/home/cvsroot co graphviz2

./configure --disable-shared --enable-static sh: ./configure: not found. Cf screenshot joined.

Maybe the easiest way is you send me your hp-ux version which works ? Maybe I even don't need to recompile the version... I can give you the address of my ftp server ?

[ellson] To build from CVS you would need extra tools; autoconf, automake, libtool, swig, bison, flex, ... The chances of getting this working on HPUX are ... slim to none.

There is a new graphviz...tar.gz snapshot this morning that contains the changes and the generated components such as "configure".

http://www.graphviz.org/pub/graphviz/development/SOURCES/graphviz-2.25.20091106.0545.tar.gz

I'm hoping this will work for you.

> Maybe the easiest way is you send me your hp-ux version which works ? Maybe I even don't need to recompile the version... > I can give you the address of my ftp server ? >

Since I don't regularly build on HPUX it would be better if you were able to build your own binaries from the tar.gz, but sure, I'll send you mine. Just send me your ftp url privately.

[yoann] Ok I will try with the new version.

You can send me your binaries version on


10.238.124.76
Login: yroyer
Password: yroyer

Tell me when it's done, I will stop my ftp server.
Owner: *
Status: *