0

我正在尝试在 64 位 ubuntu 10.10 中使用 ppl 和 cloog 安装 gcc 4.6.2。我在做时收到以下错误。

make[3]: Entering directory `/home/praveen/gcc-4.6.2/host-x86_64-unknown-linux-gnu/gcc'
/home/praveen/gcc-4.6.2/host-x86_64-unknown-linux-gnu/prev-gcc/xgcc -B/home/praveen/gcc-4.6.2/host-x86_64-unknown-linux-gnu/prev-gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include      -g -O2 -gtoggle -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat   -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc  -o cc1 c-lang.o c-family/stub-objc.o attribs.o c-errors.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-objc-common.o c-parser.o tree-mudflap.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o i386-c.o \
      cc1-checksum.o main.o  libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a   ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -lcloog -lppl_c -lppl -lpwl -lgmpxx -lmpc -lmpfr -lgmp -rdynamic -ldl  -L../zlib -lz
libbackend.a(graphite-ppl.o): In function `ppl_powerset_is_empty':
graphite-ppl.c:(.text+0xd5d): undefined reference to `ppl_new_PIP_Problem_from_constraints'
graphite-ppl.c:(.text+0xd66): undefined reference to `ppl_PIP_Problem_is_satisfiable'
graphite-ppl.c:(.text+0xd71): undefined reference to `ppl_delete_PIP_Problem'
collect2: ld returned 1 exit status
make[3]: *** [cc1] Error 1
make[3]: Leaving directory `/home/praveen/gcc-4.6.2/host-x86_64-unknown-linux-gnu/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/praveen/gcc-4.6.2'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/praveen/gcc-4.6.2'
make: *** [all] Error 2

有人可以帮我解决这个问题吗?

4

2 回答 2

0

我认为,问题在于 ppl 库 libppl_c.so.4make在链接过程中报告为不存在——即使该库已成功安装到标准 /usr/local/lib 目录。尝试使用 flag 重新配置--with-ppl-lib。我还包括了标志--with-ppl-include和相应的 cloog 标志(只是为了预先预防任何可能与 cloog 相应的问题),因为我不想继续重新编译以确切地发现我需要哪些标志,所以我小心翼翼地玩了它并包含所有这些;也许您也需要它们,但可能不需要。虽然您应该能够只使用 flag --with-ppl,但这是行不通的。

# I installed ppl and cloog to the standard subdirectories of /usr/local
# but you can amend the flag inputs as necessary 
tar xjf gcc-x.tar.bz2
mkdir build && cd build
../gcc-x/configure --with-ppl-lib=/usr/local/lib \
                   --with-ppl-include=/usr/local/include \
                   --with-cloog-lib=/usr/local/lib \
                   --with-cloog-include=/usr/local/include

同样,问题可能是--with-ppl-lib标志的不存在错误地设置了一些内部configure变量,而不是与库存在一般链接问题。

于 2012-05-26T17:47:52.097 回答
0

不久前,我在安装 gentoo 时遇到了同样的问题。解决方法是在没有石墨选项的情况下构建 gcc,然后用新版本的 gcc 重建 ppl 和 cloog-ppl 库。只有在 gcc 用石墨成功构建之后。

于 2012-02-10T06:51:15.243 回答