Try to build from source code,meet errors.

  • graphviz-2.48.0.gz

  • ubuntu 16.04.1

  • cross-compile 4 arm64 platforms.

  • arm-linux-gnu-gcc (arm-linux-gnu-gcc (HC&C V100R002C00B021_20180917) 6.3.0)

  • my script.sh

cd ${BUILD_PATH}
if [ ! -f "${ROOT_PATH}/graphviz/lib/*.so" ]; then
    rm -rf graphviz
    mkdir -p ${BUILD_PATH}/graphviz/build
    cd graphviz
    tar -zxvf ${SRC_PATH}/graphviz-2.48.0.tar.gz
    cd graphviz-*
    export CFLAGS="-fstack-protector-all"
    export CXXFLAGS="-fstack-protector-all" 
    export LDFLAGS="-Wl,-z,relro,-z,now,-z,noexecstack"
    ./configure \
    --datadir="/usr/bin/automake" \
    --prefix=${BUILD_PATH}/graphviz/build \
    --host=arm \
    CC=${CROSS_COMPILE}-gcc \
    CXX=${CROSS_COMPILE}-g++ \
    CPP=${CROSS_COMPILE}-cpp \
    --enable-shared=yes \
    --enable-perl=yes \
    --enable-static=no \
    --disable-php \
    --enable-option-checking=yes
    make -j8 && make install 
    export LDFLAGS=""
    export CFLAGS=""
    export CXXFLAGS=""
    rm -rf  ${ROOT_PATH}/graphviz
    mkdir -p ${ROOT_PATH}/graphviz/include
    mkdir -p ${ROOT_PATH}/graphviz/lib
    cp -rf ${BUILD_PATH}/graphviz/build/include/* ${ROOT_PATH}/graphviz/include
    cp -rf ${BUILD_PATH}/graphviz/build/lib/lib* ${ROOT_PATH}/graphviz/lib/
fi 
  • try to build from source code 4 arm64 paltforms, but meet errors:
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/plugin/poppler'
make[3]: Leaving directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/plugin/poppler'
make[3]: Entering directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/plugin'
make[4]: Entering directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/plugin'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/plugin'
make[3]: Leaving directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/plugin'
make[2]: Leaving directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/plugin'
Making install in cmd
make[2]: Entering directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/cmd'
Making install in dot
make[3]: Entering directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/cmd/dot'
  CCLD     dot
/opt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/../lib/gcc/arm-linux-gnueabi/6.3.0/../../../../arm-linux-gnueabi/bin/ld: warning: libxdot.so.4, needed by ../../lib/gvc/.libs/libgvc.so, not found (try using -rpath or -rpath-link)
/opt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/../lib/gcc/arm-linux-gnueabi/6.3.0/../../../../arm-linux-gnueabi/bin/ld: warning: libcdt.so.5, needed by ../../lib/gvc/.libs/libgvc.so, not found (try using -rpath or -rpath-link)
/opt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/../lib/gcc/arm-linux-gnueabi/6.3.0/../../../../arm-linux-gnueabi/bin/ld: warning: libpathplan.so.4, needed by ../../lib/gvc/.libs/libgvc.so, not found (try using -rpath or -rpath-link)
../../lib/gvc/.libs/libgvc.so: undefined reference to `Dttree'
../../lib/cgraph/.libs/libcgraph.so: undefined reference to `Dtlist'
../../lib/gvc/.libs/libgvc.so: undefined reference to `Pshortestpath'
../../lib/cgraph/.libs/libcgraph.so: undefined reference to `dtdisc'
../../lib/cgraph/.libs/libcgraph.so: undefined reference to `dtrenew'
../../lib/gvc/.libs/libgvc.so: undefined reference to `Dtoset'
../../lib/gvc/.libs/libgvc.so: undefined reference to `freePath'
../../lib/gvc/.libs/libgvc.so: undefined reference to `Dtobag'
../../lib/gvc/.libs/libgvc.so: undefined reference to `dtclose'
../../lib/gvc/.libs/libgvc.so: undefined reference to `dtopen'
../../lib/gvc/.libs/libgvc.so: undefined reference to `Proutespline'
../../lib/cgraph/.libs/libcgraph.so: undefined reference to `dtmethod'
../../lib/gvc/.libs/libgvc.so: undefined reference to `Dtqueue'
../../lib/gvc/.libs/libgvc.so: undefined reference to `dtflatten'
../../lib/gvc/.libs/libgvc.so: undefined reference to `dtsize'
../../lib/gvc/.libs/libgvc.so: undefined reference to `make_polyline'
../../lib/cgraph/.libs/libcgraph.so: undefined reference to `dtrestore'
../../lib/cgraph/.libs/libcgraph.so: undefined reference to `dtextract'
../../lib/cgraph/.libs/libcgraph.so: undefined reference to `dtview'
collect2: error: ld returned 1 exit status
Makefile:801: recipe for target 'dot' failed
make[3]: *** [dot] Error 1
make[3]: Leaving directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/cmd/dot'
Makefile:584: recipe for target 'install-recursive' failed
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0/cmd'
Makefile:832: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/home/abc/tmpbuild/graphviz/graphviz-2.48.0'
Makefile:1132: recipe for target 'install' failed
make: *** [install] Error 2
Edited by yahuuu