我正在尝试使用64位ubuntu 10.10中的人和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
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
前一段时间我在gentoo安装上遇到了同样的问题。 workarround是构建没有石墨选项的gcc然后使用新版本的gcc重建ppl和cloog-ppl库。只有在那之后用石墨成功建造了gcc。
答案 1 :(得分:0)
我认为,问题是make
报告的ppl库libppl_c.so.4在链接过程中不存在 - 即使库已经安装到标准/ usr / local / lib目录成功。尝试使用标记--with-ppl-lib
重新配置。我还包括了标志--with-ppl-include
和相应的cloog标志(只是为了预先防止任何可能的与cloog相关的问题),因为我不想继续重新编译以确切地发现我需要哪些标志,所以我谨慎地演奏并包括所有这些;也许你也需要它们,但可能不是。虽然您应该只使用标志--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
变量而不是与库存在一般链接问题。