同事需要在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
報了如下錯誤
選取的源碼為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'
使用如下命令find . -name multispline.c ,結果為
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/*.
mkdir -p bak
mv * bak
然后cd ../neatogen/
單獨編譯neatogen運行make
成功
cd ../ortho
mv bak/*.
cd ../../
運行make,所有模塊都可以編譯了
運行make,所有模塊都可以編譯了