error: expected specifier-qualifier-list before 'PQ'(suse上源码安装graphviz)

error: expected specifier-qualifier-list before 'PQ'(suse上源码安装graphviz)
同事需要在suse上安装php的性能测试工具xhprof,图形化展示需要源码安装graphviz
选取的源码为graphviz-2.24.0.tar.gz,
安装步骤如下
1.tar xzvf graphviz-2.24.0.tar.gz
2.cd graphviz-2.24.0
3../configure
4.make
报了如下错误
 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 -I/usr/local/include -g -O2 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -MT multispline.lo -MD -MP -MF .deps/multispline.Tpo -c multispline.c  -fPIC -DPIC -o .libs/multispline.o
multispline.c:1228: error: expected specifier-qualifier-list before 'PQ'
In file included from multispline.c:1224:
../../lib/ortho/fPQ.h:22:1: warning: this is the location of the previous definition
multispline.c:1234:1: warning: "N_IDX" redefined
../../lib/ortho/fPQ.h:23:1: warning: this is the location of the previous definition
查找multispline.c,
使用如下命令find . -name multispline.c ,结果为
./lib/neatogen/multispline.c
发现PQ定义在fPQ.h,当前路径下有fPQ.h还是无法编译
cd graphviz-2.24.0
 find . -name "fPQ.h
./lib/neatogen/fPQ.h
./lib/ortho/fPQ.h
可能是文件不同或是被包含两次,具体没查
cd lib/ortho/
mkdir -p bak
mv * bak

然后cd ../neatogen/
单独编译neatogen运行make
成功
cd ../ortho 
mv bak/*.

cd ../../
运行make,所有模块都可以编译了

你可能感兴趣的:(error: expected specifier-qualifier-list before 'PQ'(suse上源码安装graphviz))