> > If you're building llvm-gcc4, you don't need the runtime libraries, so > I'd just stick with the "tools-only" build and declare success. If > you're building llvm-gcc3, I'd suggest you switch to llvm-gcc4 :)I switched to llvm-gcc4 but when I run make from obj folder i run into folowing errors: Can't find a library with no dependencies at /llvm/obj/Debug/bin/llvm-config lin e 420, <DATA> line 30. ../../src/gcc/gcc.c: In function `process_command': ../../src/gcc/gcc.c:3499: warning: assignment discards qualifiers from pointer t arget type ../../src/gcc/gcc.c:3504: warning: assignment from incompatible pointer type ../../src/gcc/gcc.c: In function `main': ../../src/gcc/gcc.c:6357: warning: 'value' might be used uninitialized in this f unction /bin/sh: -c: line 0: syntax error near unexpected token `;' /bin/sh: -c: line 0: `if ; then \' make[1]: *** [xlimits.h] Error 2 make: *** [all-gcc] Error 2 and there is the output of standart stream: make[1]: Entering directory `/llvm-gcc/obj/libiberty' make[2]: Entering directory `/llvm-gcc/obj/libiberty/testsuite' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/llvm-gcc/obj/libiberty/testsuite' make[1]: Leaving directory `/llvm-gcc/obj/libiberty' make[1]: Entering directory `/llvm-gcc/obj/fixincludes' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/llvm-gcc/obj/fixincludes' make[1]: Entering directory `/llvm-gcc/obj/intl' rm -f stamp-h1 /bin/sh ./config.status config.h config.status: creating config.h config.status: config.h is unchanged test -f config.h || (rm -f stamp-h1 && make stamp-h1) make[1]: Leaving directory `/llvm-gcc/obj/intl' make[1]: Entering directory `/llvm-gcc/obj/build-i686-pc-cygwin/libiberty' make[2]: Entering directory `/llvm-gcc/obj/build-i686-pc-cygwin/libiberty/testsuite' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/llvm-gcc/obj/build-i686-pc-cygwin/libiberty/testsuite' make[1]: Leaving directory `/llvm-gcc/obj/build-i686-pc-cygwin/libiberty' make[1]: Entering directory `/llvm-gcc/obj/build-i686-pc-cygwin/fixincludes' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/llvm-gcc/obj/build-i686-pc-cygwin/fixincludes' make[1]: Entering directory `/llvm-gcc/obj/libcpp' test -f config.h || (rm -f stamp-h1 && make stamp-h1) test -d po || mkdir po : --statistics -o po/be.gmo ../../src/libcpp/po/be.po test -d po || mkdir po : --statistics -o po/ca.gmo ../../src/libcpp/po/ca.po test -d po || mkdir po : --statistics -o po/da.gmo ../../src/libcpp/po/da.po test -d po || mkdir po : --statistics -o po/de.gmo ../../src/libcpp/po/de.po test -d po || mkdir po : --statistics -o po/el.gmo ../../src/libcpp/po/el.po test -d po || mkdir po : --statistics -o po/es.gmo ../../src/libcpp/po/es.po test -d po || mkdir po : --statistics -o po/fr.gmo ../../src/libcpp/po/fr.po test -d po || mkdir po : --statistics -o po/ja.gmo ../../src/libcpp/po/ja.po test -d po || mkdir po : --statistics -o po/nl.gmo ../../src/libcpp/po/nl.po test -d po || mkdir po : --statistics -o po/rw.gmo ../../src/libcpp/po/rw.po test -d po || mkdir po : --statistics -o po/sv.gmo ../../src/libcpp/po/sv.po test -d po || mkdir po : --statistics -o po/tr.gmo ../../src/libcpp/po/tr.po test -d po || mkdir po : --statistics -o po/vi.gmo ../../src/libcpp/po/vi.po make[1]: Leaving directory `/llvm-gcc/obj/libcpp' make[1]: Entering directory `/llvm-gcc/obj/gcc' test -d po || mkdir po : --statistics -o po/be.gmo ../../src/gcc/po/be.po test -d po || mkdir po : --statistics -o po/ca.gmo ../../src/gcc/po/ca.po test -d po || mkdir po : --statistics -o po/da.gmo ../../src/gcc/po/da.po test -d po || mkdir po : --statistics -o po/de.gmo ../../src/gcc/po/de.po test -d po || mkdir po : --statistics -o po/el.gmo ../../src/gcc/po/el.po test -d po || mkdir po : --statistics -o po/es.gmo ../../src/gcc/po/es.po test -d po || mkdir po : --statistics -o po/fr.gmo ../../src/gcc/po/fr.po test -d po || mkdir po : --statistics -o po/ja.gmo ../../src/gcc/po/ja.po test -d po || mkdir po : --statistics -o po/nl.gmo ../../src/gcc/po/nl.po test -d po || mkdir po : --statistics -o po/rw.gmo ../../src/gcc/po/rw.po test -d po || mkdir po : --statistics -o po/sv.gmo ../../src/gcc/po/sv.po test -d po || mkdir po : --statistics -o po/tr.gmo ../../src/gcc/po/tr.po test -d po || mkdir po : --statistics -o po/zh_CN.gmo ../../src/gcc/po/zh_CN.po gcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include -I/llvm/obj/include \ -DTARGET_MACHINE=\"i686-pc-cygwin\" \ -c ../../src/gcc/collect2.c -o collect2.o gcc -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include -I/llvm/obj/include ../../src/gcc/tlink.c -o tlink.o # APPLE LOCAL LLVM c++ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -o Tcollect2.exe \ collect2.o tlink.o intl.o version.o ../libcpp/libcpp.a ./../intl/libintl.a -liconv ../libiberty/libiberty.a mv -f Tcollect2.exe collect2.exe if test yes = yes \ || test -n ""; then \ /bin/sh ../../src/gcc/genmultilib \ "" \ "" \ "" \ "" \ "" \ "" \ "" \ "yes" \ > tmp-mlib.h; \ else \ /bin/sh ../../src/gcc/genmultilib '' '' '' '' '' '' '' no \ > tmp-mlib.h; \ fi /bin/sh ../../src/gcc/../move-if-change tmp-mlib.h multilib.h echo timestamp > s-mlib lsf="../../src/gcc/cp/lang-specs.h"; for f in $lsf; do \ echo "#include \"$f\""; \ done | sed 's|../../src/gcc/||' > tmp-specs.h /bin/sh ../../src/gcc/../move-if-change tmp-specs.h specs.h echo timestamp > s-specs (SHLIB_LINK='' \ SHLIB_MULTILIB=''; \ gcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -Wno-error -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include -I/llvm/obj/include \ -DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX=\"/llvm-gcc/../install//lib/gcc/\" -DSTANDARD_LIBEXEC_PREFIX=\"/llvm-gcc/../install//libexec/gcc/\" -DDEFAULT_TARGET_VERSION=\"4.0.1\" -DDEFAULT_TARGET_MACHINE=\"i686-pc-cygwin\" -DSTANDARD_BINDIR_PREFIX=\"/llvm-gcc/../install//bin/\" -DTOOLDIR_BASE_PREFIX=\"../../../../\" `test "X${SHLIB_LINK}" = "X" || test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test "X${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"` \ -c ../../src/gcc/gcc.c -o gcc.o) (SHLIB_LINK='' \ SHLIB_MULTILIB=''; \ gcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include -I/llvm/obj/include \ -DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX=\"/llvm-gcc/../install//lib/gcc/\" -DSTANDARD_LIBEXEC_PREFIX=\"/llvm-gcc/../install//libexec/gcc/\" -DDEFAULT_TARGET_VERSION=\"4.0.1\" -DDEFAULT_TARGET_MACHINE=\"i686-pc-cygwin\" -DSTANDARD_BINDIR_PREFIX=\"/llvm-gcc/../install//bin/\" -DTOOLDIR_BASE_PREFIX=\"../../../../\" `test "X${SHLIB_LINK}" = "X" || test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test "X${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"` \ -c ../../src/gcc/gccspec.c -o gccspec.o) gcc -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include -I/llvm/obj/include \ ../../src/gcc/config/i386/cygwin1.c # APPLE LOCAL LLVM c++ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -o xgcc.exe gcc.o gccspec.o intl.o \ prefix.o version.o cygwin1.o ../libcpp/libcpp.a ./../intl/libintl.a -liconv ../libiberty/libiberty.a gcc -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include -I/llvm/obj/include ../../src/gcc/cppspec.c -o cppspec.o # APPLE LOCAL LLVM c++ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -fno-common -DHAVE_CONFIG_H -o cpp.exe gcc.o cppspec.o intl.o \ prefix.o version.o cygwin1.o ../libcpp/libcpp.a ./../intl/libintl.a -liconv ../libiberty/libiberty.a /llvm-gcc/obj/gcc/xgcc -B/llvm-gcc/obj/gcc/ -B/llvm-gcc/../install//i686-pc-cygwin/bin/ -B/llvm-gcc/../install//i686-pc-cygwin/lib/ -isystem /llvm-gcc/../install//i686-pc-cygwin/include -isystem /llvm-gcc/../install//i686-pc-cygwin/sys-include -dumpspecs > tmp-specs mv tmp-specs specs if ; then \ cat ../../src/gcc/limitx.h ../../src/gcc/glimits.h ../../src/gcc/limity.h> tmp-xlimits.h; \else \ cat ../../src/gcc/glimits.h > tmp-xlimits.h; \ fi make[1]: Leaving directory `/llvm-gcc/obj/gcc' I though it was ld error, first, and reinstalled it to clean 2.17 instead of cygwn experimental version. but that didn't help.> However, the problem appears to be your PATH variable. In your path you > have the following directory: C:/Program Files/Microsoft DirectX SDK > (June 2006)/Utilities/Bin/x86. The bash shell doesn't like this because > ( and ) are operators that invoke a sub-shell. You can do one of two > things: either remove this directory from your path (its probably not > needed), or enclose it in single quotes. > > Reid.Yeah, thas moved me a little far until another error appeared and I switched to llvm-gcc4. Thanks for any help. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060801/66070e62/attachment.html>
On Tue, 2006-08-01 at 15:48 +0400, Anton Vayvod wrote:> If you're building llvm-gcc4, you don't need the runtime > libraries, so > I'd just stick with the "tools-only" build and declare > success. If > you're building llvm-gcc3, I'd suggest you switch to > llvm-gcc4 :) > > I switched to llvm-gcc4 but when I run make from obj folder i run into > folowing errors: > > Can't find a library with no dependencies > at /llvm/obj/Debug/bin/llvm-config lin > e 420, <DATA> line 30.The key is the above line. IIRC this is fixed in a recent patch. Have you updated your LLVM tree recently? Reid.> ../../src/gcc/gcc.c: In function `process_command': > ../../src/gcc/gcc.c:3499: warning: assignment discards qualifiers from > pointer t > arget type > ../../src/gcc/gcc.c:3504: warning: assignment from incompatible > pointer type > ../../src/gcc/gcc.c: In function `main': > ../../src/gcc/gcc.c:6357: warning: 'value' might be used uninitialized > in this f > unction > /bin/sh: -c: line 0: syntax error near unexpected token `;' > /bin/sh: -c: line 0: `if ; then \' > make[1]: *** [xlimits.h] Error 2 > make: *** [all-gcc] Error 2 > > and there is the output of standart stream: > > make[1]: Entering directory `/llvm-gcc/obj/libiberty' > make[2]: Entering directory `/llvm-gcc/obj/libiberty/testsuite' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/llvm-gcc/obj/libiberty/testsuite' > make[1]: Leaving directory `/llvm-gcc/obj/libiberty' > make[1]: Entering directory `/llvm-gcc/obj/fixincludes' > make[1]: Nothing to be done for `all'. > make[1]: Leaving directory `/llvm-gcc/obj/fixincludes' > make[1]: Entering directory `/llvm-gcc/obj/intl' > rm -f stamp-h1 > /bin/sh ./config.status config.h > config.status: creating config.h > config.status: config.h is unchanged > test -f config.h || (rm -f stamp-h1 && make stamp-h1) > make[1]: Leaving directory `/llvm-gcc/obj/intl' > make[1]: Entering directory > `/llvm-gcc/obj/build-i686-pc-cygwin/libiberty' > make[2]: Entering directory > `/llvm-gcc/obj/build-i686-pc-cygwin/libiberty/testsuite' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory > `/llvm-gcc/obj/build-i686-pc-cygwin/libiberty/testsuite' > make[1]: Leaving directory > `/llvm-gcc/obj/build-i686-pc-cygwin/libiberty' > make[1]: Entering directory > `/llvm-gcc/obj/build-i686-pc-cygwin/fixincludes' > make[1]: Nothing to be done for `all'. > make[1]: Leaving directory > `/llvm-gcc/obj/build-i686-pc-cygwin/fixincludes' > make[1]: Entering directory `/llvm-gcc/obj/libcpp' > test -f config.h || (rm -f stamp-h1 && make stamp-h1) > test -d po || mkdir po > : --statistics -o po/be.gmo ../../src/libcpp/po/be.po > test -d po || mkdir po > : --statistics -o po/ca.gmo ../../src/libcpp/po/ca.po > test -d po || mkdir po > : --statistics -o po/da.gmo ../../src/libcpp/po/da.po > test -d po || mkdir po > : --statistics -o po/de.gmo ../../src/libcpp/po/de.po > test -d po || mkdir po > : --statistics -o po/el.gmo ../../src/libcpp/po/el.po > test -d po || mkdir po > : --statistics -o po/es.gmo ../../src/libcpp/po/es.po > test -d po || mkdir po > : --statistics -o po/fr.gmo ../../src/libcpp/po/fr.po > test -d po || mkdir po > : --statistics -o po/ja.gmo ../../src/libcpp/po/ja.po > test -d po || mkdir po > : --statistics -o po/nl.gmo ../../src/libcpp/po/nl.po > test -d po || mkdir po > : --statistics -o po/rw.gmo ../../src/libcpp/po/rw.po > test -d po || mkdir po > : --statistics -o po/sv.gmo ../../src/libcpp/po/sv.po > test -d po || mkdir po > : --statistics -o po/tr.gmo ../../src/libcpp/po/tr.po > test -d po || mkdir po > : --statistics -o po/vi.gmo ../../src/libcpp/po/vi.po > make[1]: Leaving directory `/llvm-gcc/obj/libcpp' > make[1]: Entering directory `/llvm-gcc/obj/gcc' > test -d po || mkdir po > : --statistics -o po/be.gmo ../../src/gcc/po/be.po > test -d po || mkdir po > : --statistics -o po/ca.gmo ../../src/gcc/po/ca.po > test -d po || mkdir po > : --statistics -o po/da.gmo ../../src/gcc/po/da.po > test -d po || mkdir po > : --statistics -o po/de.gmo ../../src/gcc/po/de.po > test -d po || mkdir po > : --statistics -o po/el.gmo ../../src/gcc/po/el.po > test -d po || mkdir po > : --statistics -o po/es.gmo ../../src/gcc/po/es.po > test -d po || mkdir po > : --statistics -o po/fr.gmo ../../src/gcc/po/fr.po > test -d po || mkdir po > : --statistics -o po/ja.gmo ../../src/gcc/po/ja.po > test -d po || mkdir po > : --statistics -o po/nl.gmo ../../src/gcc/po/nl.po > test -d po || mkdir po > : --statistics -o po/rw.gmo ../../src/gcc/po/rw.po > test -d po || mkdir po > : --statistics -o po/sv.gmo ../../src/gcc/po/sv.po > test -d po || mkdir po > : --statistics -o po/tr.gmo ../../src/gcc/po/tr.po > test -d po || mkdir po > : --statistics -o po/zh_CN.gmo ../../src/gcc/po/zh_CN.po > gcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -fno-common > -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. > -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include > -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include > -I/llvm/obj/include \ > -DTARGET_MACHINE=\"i686-pc-cygwin\" \ > -c ../../src/gcc/collect2.c -o collect2.o > gcc -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings > -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition > -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS > -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include > -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include > -I/llvm/obj/include ../../src/gcc/tlink.c -o tlink.o > # APPLE LOCAL LLVM > c++ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -fno-common > -DHAVE_CONFIG_H -o Tcollect2.exe \ > collect2.o tlink.o intl.o > version.o ../libcpp/libcpp.a ./../intl/libintl.a > -liconv ../libiberty/libiberty.a > mv -f Tcollect2.exe collect2.exe > if test yes = yes \ > || test -n ""; then \ > /bin/sh ../../src/gcc/genmultilib \ > "" \ > "" \ > "" \ > "" \ > "" \ > "" \ > "" \ > "yes" \ > > tmp-mlib.h; \ > else \ > /bin/sh ../../src/gcc/genmultilib '' '' '' '' '' '' '' no \ > > tmp-mlib.h; \ > fi > /bin/sh ../../src/gcc/../move-if-change tmp-mlib.h multilib.h > echo timestamp > s-mlib > lsf="../../src/gcc/cp/lang- specs.h"; for f in $lsf; do \ > echo "#include \"$f\""; \ > done | sed 's|../../src/gcc/||' > tmp-specs.h > /bin/sh ../../src/gcc/../move-if-change tmp-specs.h specs.h > echo timestamp > s-specs > (SHLIB_LINK='' \ > SHLIB_MULTILIB=''; \ > gcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -fno-common -Wno-error > -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. > -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include > -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include > -I/llvm/obj/include \ > -DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX> \"/llvm-gcc/../install//lib/gcc/\" -DSTANDARD_LIBEXEC_PREFIX> \"/llvm-gcc/../install//libexec/gcc/\" -DDEFAULT_TARGET_VERSION=\" > 4.0.1\" -DDEFAULT_TARGET_MACHINE=\"i686-pc-cygwin\" > -DSTANDARD_BINDIR_PREFIX=\"/llvm-gcc/../install//bin/\" > -DTOOLDIR_BASE_PREFIX=\"../../../../\" `test "X${SHLIB_LINK}" = "X" > || test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test "X > ${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"` \ > -c ../../src/gcc/gcc.c -o gcc.o) > (SHLIB_LINK='' \ > SHLIB_MULTILIB=''; \ > gcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -fno-common > -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS -I. -I. > -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include > -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include > -I/llvm/obj/include \ > -DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX> \"/llvm-gcc/../install//lib/gcc/\" -DSTANDARD_LIBEXEC_PREFIX> \"/llvm-gcc/../install//libexec/gcc/\" -DDEFAULT_TARGET_VERSION=\" > 4.0.1\" -DDEFAULT_TARGET_MACHINE=\"i686-pc-cygwin\" > -DSTANDARD_BINDIR_PREFIX=\"/llvm-gcc/../install//bin/\" > -DTOOLDIR_BASE_PREFIX=\"../../../../\" `test "X${SHLIB_LINK}" = "X" > || test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test "X > ${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"` \ > -c ../../src/gcc/gccspec.c -o gccspec.o) > gcc -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings > -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition > -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS > -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include > -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include > -I/llvm/obj/include \ > ../../src/gcc/config/i386/cygwin1.c > # APPLE LOCAL LLVM > c++ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -fno-common > -DHAVE_CONFIG_H -o xgcc.exe gcc.o gccspec.o intl.o \ > prefix.o version.o cygwin1.o ../libcpp/libcpp.a ./../intl/libintl.a > -liconv ../libiberty/libiberty.a > gcc -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings > -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition > -fno-common -DHAVE_CONFIG_H -DENABLE_LLVM -D__STDC_LIMIT_MACROS > -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include > -I./../intl -I../../src/gcc/../libcpp/include -I/llvm/include > -I/llvm/obj/include ../../src/gcc/cppspec.c -o cppspec.o > # APPLE LOCAL LLVM > c++ -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -fno-common > -DHAVE_CONFIG_H -o cpp.exe gcc.o cppspec.o intl.o \ > prefix.o version.o cygwin1.o ../libcpp/libcpp.a ./../intl/libintl.a > -liconv ../libiberty/libiberty.a > /llvm-gcc/obj/gcc/xgcc -B/llvm-gcc/obj/gcc/ > -B/llvm-gcc/../install//i686-pc-cygwin/bin/ > -B/llvm-gcc/../install//i686-pc-cygwin/lib/ > -isystem /llvm-gcc/../install//i686-pc-cygwin/include > -isystem /llvm-gcc/../install//i686-pc-cygwin/sys-include -dumpspecs > > tmp-specs > mv tmp-specs specs > if ; then \ > > cat ../../src/gcc/limitx.h ../../src/gcc/glimits.h ../../src/gcc/limity.h > tmp-xlimits.h; \ > else \ > cat ../../src/gcc/glimits.h > tmp-xlimits.h; \ > fi > make[1]: Leaving directory `/llvm-gcc/obj/gcc' > > I though it was ld error, first, and reinstalled it to clean 2.17 > instead of cygwn experimental version. but that didn't help. > > > However, the problem appears to be your PATH variable. In your > path you > have the following directory: C:/Program Files/Microsoft > DirectX SDK > (June 2006)/Utilities/Bin/x86. The bash shell doesn't like > this because > ( and ) are operators that invoke a sub-shell. You can do one > of two > things: either remove this directory from your path (its > probably not > needed), or enclose it in single quotes. > > Reid. > > Yeah, thas moved me a little far until another error appeared and I > switched to llvm-gcc4. > > Thanks for any help. > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060801/db46d063/attachment.sig>
> > > I switched to llvm-gcc4 but when I run make from obj folder i run into > > folowing errors: > > > > Can't find a library with no dependencies > > at /llvm/obj/Debug/bin/llvm-config lin > > e 420, <DATA> line 30. > > The key is the above line. IIRC this is fixed in a recent patch. Have > you updated your LLVM tree recently?I've updated it yesterday and rebuilt - llvm built fine. But when building llvm-gcc4 (also updated yesterday from new /trunk directory) it fails with the same error. I've managed to build llvm-gcc3 though. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060803/786e8f06/attachment.html>
Hello Anton Thu, 3 Aug 2006 12:38:54 +0400 you wrote:> I've updated it yesterday and rebuilt - llvm built fine. But when > building llvm-gcc4 (also updated yesterday from new /trunk > directory) it fails with the same error.You might easily get llvm-gcc4-mingw32 binaries from "prerelease" directory. Since stdcall, fastcall & dllimport stuff is unsupported right now, I don't see too much difference between cygwin & mingw builds of llvm-gcc except the extended file names support of the former (e.g. it can accept "/home/user/foo.c"). Could you please show us the contents of your llvm-confg file (it should be in your /llvm/obj/Debug/bin/) -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
On 8/3/06, Anton Korobeynikov <asl at math.spbu.ru> wrote:> > Hello Anton > > Thu, 3 Aug 2006 12:38:54 +0400 you wrote: > > > I've updated it yesterday and rebuilt - llvm built fine. But when > > building llvm-gcc4 (also updated yesterday from new /trunk > > directory) it fails with the same error. > You might easily get llvm-gcc4-mingw32 binaries from "prerelease" > directory. Since stdcall, fastcall & dllimport stuff is unsupported > right now, I don't see too much difference between cygwin & mingw > builds of llvm-gcc except the extended file names support of the former > (e.g. it can accept "/home/user/foo.c"). > > Could you please show us the contents of your llvm-confg file (it > should be in your /llvm/obj/Debug/bin/)here it is: #!/usr/bin/perl ##===- tools/llvm-config ---------------------------------------*- perl -*-===## # # The LLVM Compiler Infrastructure # # This file was developed by Eric Kidd and is distributed under # the University of Illinois Open Source License. See LICENSE.TXT for details. # ##===----------------------------------------------------------------------===## # # Synopsis: Prints out compiler options needed to build against an installed # copy of LLVM. # # Syntax: llvm-config OPTIONS... [COMPONENTS...] # ##===----------------------------------------------------------------------===## use 5.006; use strict; use warnings; #---- begin autoconf values ---- my $PACKAGE_NAME = q{llvm}; my $VERSION = q{1.9cvs}; my $PREFIX = q{/usr/local}; my $LLVM_CONFIGTIME = q{Wed Aug 2 20:17:41 RST 2006}; my $LLVM_SRC_ROOT = q{/llvm/obj/tools/llvm-config/../../..}; my $LLVM_OBJ_ROOT = q{/llvm/obj/tools/llvm-config/../../.}; my $LLVM_ON_WIN32 = q{0}; my $LLVM_ON_UNIX = q{1}; my $LLVMGCCDIR = q{/llvm-gcc3/install}; my $LLVMGCC = q{/llvm-gcc3/install/bin/llvm-gcc.exe}; my $LLVMGXX = q{/llvm-gcc3/install/bin/llvm-g++.exe}; my $LLVMGCC_VERSION = q{3.4}; my $LLVMGCC_MAJVERS = q{3}; my $ENDIAN = q{little}; my $SHLIBEXT = q{.dll}; my $EXEEXT = q{.exe}; my $OS = q{Cygwin}; my $ARCH = lc(q{x86}); my $TARGET_TRIPLE = q{i686-pc-cygwin}; my $TARGETS_TO_BUILD = q{CBackend X86 Sparc PowerPC Alpha IA64 ARM}; my $TARGET_HAS_JIT = q{1}; my @TARGETS_BUILT = map { lc($_) } qw{CBackend X86 Sparc PowerPC Alpha IA64 ARM}; #---- end autoconf values ---- #---- begin Makefile values ---- my $CXXFLAGS = q{ -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -g -D_DEBUG }; my $LDFLAGS = q{}; my $SYSTEM_LIBS = q{-lpthread -lm }; my $LLVM_BUILDMODE = q{Debug}; #---- end Makefile values ---- # Figure out where llvm-config is being run from. Primarily, we care if it has # been installed, or is running from the build directory, which changes the # locations of some files. # Convert the current executable name into its directory (e.g. "."). my ($RUN_DIR) = ($0 =~ /^(.*)\/.*$/); # Turn the directory into an absolute directory on the file system, also pop up # from "bin" into the build or prefix dir. my $ABS_RUN_DIR = `cd $RUN_DIR/..; pwd`; chomp($ABS_RUN_DIR); # Compute the absolute object directory build, e.g. "foo/llvm/Debug". my $ABS_OBJ_ROOT = "$LLVM_OBJ_ROOT/$LLVM_BUILDMODE"; $ABS_OBJ_ROOT = `cd $ABS_OBJ_ROOT; pwd` if (-d $ABS_OBJ_ROOT); chomp($ABS_OBJ_ROOT); my $INCLUDEDIR = "$ABS_RUN_DIR/include"; my $LIBDIR = "$ABS_RUN_DIR/lib"; my $BINDIR = "$ABS_RUN_DIR/bin"; if ($ABS_RUN_DIR eq $ABS_OBJ_ROOT) { # If we are running out of the build directory, the include dir is in the # srcdir. $INCLUDEDIR = "$LLVM_SRC_ROOT/include"; } else { # If installed, ignore the prefix the tree was configured with, use the # current prefix. $PREFIX = $ABS_RUN_DIR; } sub usage; sub fix_library_names (@); sub fix_library_files (@); sub expand_dependecies (@); sub name_map_entries; # Parse our command-line arguments. usage if @ARGV == 0; my @components; my $has_opt = 0; my $want_libs = 0; my $want_libnames = 0; my $want_libfiles = 0; my $want_components = 0; foreach my $arg (@ARGV) { if ($arg =~ /^-/) { if ($arg eq "--version") { $has_opt = 1; print "$VERSION\n"; } elsif ($arg eq "--prefix") { $has_opt = 1; print "$PREFIX\n"; } elsif ($arg eq "--bindir") { $has_opt = 1; print "$BINDIR\n"; } elsif ($arg eq "--includedir") { $has_opt = 1; print "$INCLUDEDIR\n"; } elsif ($arg eq "--libdir") { $has_opt = 1; print "$LIBDIR\n"; } elsif ($arg eq "--cxxflags") { $has_opt = 1; print "-I$INCLUDEDIR $CXXFLAGS\n"; } elsif ($arg eq "--ldflags") { $has_opt = 1; print "-L$LIBDIR $LDFLAGS $SYSTEM_LIBS\n"; } elsif ($arg eq "--libs") { $has_opt = 1; $want_libs = 1; } elsif ($arg eq "--libnames") { $has_opt = 1; $want_libnames = 1; } elsif ($arg eq "--libfiles") { $has_opt = 1; $want_libfiles = 1; } elsif ($arg eq "--components") { $has_opt = 1; print join(' ', name_map_entries), "\n"; } elsif ($arg eq "--targets-built") { $has_opt = 1; print join(' ', @TARGETS_BUILT), "\n"; } elsif ($arg eq "--build-mode") { $has_opt = 1; print "$LLVM_BUILDMODE\n"; } elsif ($arg eq "--obj-root") { $has_opt = 1; print `cd $LLVM_OBJ_ROOT/; pwd` . "\n"; } elsif ($arg eq "--src-root") { $has_opt = 1; print `cd $LLVM_SRC_ROOT/; pwd` . "\n"; } else { usage(); } } else { push @components, $arg; } } # If no options were specified, fail. usage unless $has_opt; # If no components were specified, default to 'all'. if (@components == 0) { push @components, 'all'; } # Handle any arguments which require building our dependency graph. if ($want_libs || $want_libnames || $want_libfiles) { my @libs = expand_dependecies(@components); print join(' ', fix_library_names(@libs)), "\n" if ($want_libs); print join(' ', @libs), "\n" if ($want_libnames); print join(' ', fix_library_files(@libs)), "\n" if ($want_libfiles); } exit 0; #=========================================================================# Support Routines #========================================================================= sub usage { print STDERR <<__EOD__; Usage: llvm-config <OPTION>... [<COMPONENT>...] Get various configuration information needed to compile programs which use LLVM. Typically called from 'configure' scripts. Examples: llvm-config --cxxflags llvm-config --ldflags llvm-config --libs engine bcreader scalaropts Options: --version Print LLVM version. --prefix Print the installation prefix. --src-root Print the source root LLVM was built from. --obj-root Print the object root used to build LLVM. --bindir Directory containing LLVM executables. --includedir Directory containing LLVM headers. --libdir Directory containing LLVM libraries. --cxxflags C++ compiler flags for files that include LLVM headers. --ldflags Print Linker flags. --libs Libraries needed to link against LLVM components. --libnames Bare library names for in-tree builds. --libfiles Fully qualified library filenames for makefile depends. --components List of all possible components. --targets-built List of all targets currently built. --build-mode Print build mode of LLVM tree (e.g. Debug or Release). Typical components: all All LLVM libraries (default). backend Either a native backend or the C backend. engine Either a native JIT or a bytecode interpreter. __EOD__ exit(1); } # Use -lfoo instead of libfoo.a whenever possible, and add directories to # files which can't be found using -L. sub fix_library_names (@) { my @libs = @_; my @result; foreach my $lib (@libs) { # Transform the bare library name appropriately. my ($basename) = ($lib =~ /^lib([^.]*)\.a/); if (defined $basename) { push @result, "-l$basename"; } else { push @result, "$LIBDIR/$lib"; } } return @result; } # Turn the list of libraries into a list of files. sub fix_library_files(@) { my @libs = @_; my @result; foreach my $lib (@libs) { # Transform the bare library name into a filename. push @result, "$LIBDIR/$lib"; } return @result; } #=========================================================================# Library Dependency Analysis #=========================================================================# Given a few human-readable library names, find all their dependencies # and sort them into an order which the linker will like. If we packed # our libraries into fewer archives, we could make the linker do much # of this work for us. # # Libraries have two different types of names in this code: Human-friendly # "component" names entered on the command-line, and the raw file names # we use internally (and ultimately pass to the linker). # # To understand this code, you'll need a working knowledge of Perl 5, # and possibly some quality time with 'man perlref'. sub load_dependencies; sub build_name_map; sub have_native_backend; sub find_best_engine; sub expand_names (@); sub find_all_required_sets (@); sub find_all_required_sets_helper ($$@); # Each "set" contains one or more libraries which must be included as a # group (due to cyclic dependencies). Sets are represented as a Perl array # reference pointing to a list of internal library names. my @SETS; # Various mapping tables. my %LIB_TO_SET_MAP; # Maps internal library names to their sets. my %SET_DEPS; # Maps sets to a list of libraries they depend on. my %NAME_MAP; # Maps human-entered names to internal names. # Have our dependencies been loaded yet? my $DEPENDENCIES_LOADED = 0; # Given a list of human-friendly component names, translate them into a # complete set of linker arguments. sub expand_dependecies (@) { my @libs = @_; load_dependencies; my @required_sets = find_all_required_sets(expand_names(@libs)); my @sorted_sets = topologically_sort_sets(@required_sets); # Expand the library sets into libraries. my @result; foreach my $set (@sorted_sets) { push @result, @{$set}; } return @result; } # Load in the raw dependency data stored at the end of this file. sub load_dependencies { return if $DEPENDENCIES_LOADED; $DEPENDENCIES_LOADED = 1; while (<DATA>) { # Parse our line. my ($libs, $deps) = /^(^[^:]+): ?(.*)$/; die "Malformed dependency data" unless defined $deps; my @libs = split(' ', $libs); my @deps = split(' ', $deps); # Record our dependency data. my $set = \@libs; push @SETS, $set; foreach my $lib (@libs) { $LIB_TO_SET_MAP{$lib} = $set; } $SET_DEPS{$set} = \@deps; } build_name_map; } # Build a map converting human-friendly component names into internal # library names. sub build_name_map { # Add entries for all the actual libraries. foreach my $set (@SETS) { foreach my $lib (sort @$set) { my $short_name = $lib; $short_name =~ s/^(lib)?LLVM([^.]*)\..*$/$2/; $short_name =~ tr/A-Z/a-z/; $NAME_MAP{$short_name} = [$lib]; } } # Add virtual entries. $NAME_MAP{'native'} = have_native_backend() ? [$ARCH] : []; $NAME_MAP{'backend'} = have_native_backend() ? ['native'] : ['cbackend']; $NAME_MAP{'engine'} = find_best_engine; $NAME_MAP{'all'} = [name_map_entries]; # Must be last. } # Return true if we have a native backend to use. sub have_native_backend { my %BUILT; foreach my $target (@TARGETS_BUILT) { $BUILT{$target} = 1; } return defined $NAME_MAP{$ARCH} && defined $BUILT{$ARCH}; } # Find a working subclass of ExecutionEngine for this platform. sub find_best_engine { if (have_native_backend && $TARGET_HAS_JIT) { return ['jit', 'native']; } else { return ['interpreter']; } } # Get all the human-friendly component names. sub name_map_entries { load_dependencies; return sort keys %NAME_MAP; } # Map human-readable names to internal library names. sub expand_names (@) { my @names = @_; my @result; foreach my $name (@names) { if (defined $LIB_TO_SET_MAP{$name}) { # We've hit bottom: An actual library name. push @result, $name; } elsif (defined $NAME_MAP{$name}) { # We've found a short name to expand. push @result, expand_names(@{$NAME_MAP{$name}}); } else { print STDERR "llvm-config: unknown component name: $name\n"; exit(1); } } return @result; } # Given a list of internal library names, return all sets of libraries which # will need to be included by the linker (in no particular order). sub find_all_required_sets (@) { my @libs = @_; my %sets_added; my @result; find_all_required_sets_helper(\%sets_added, \@result, @libs); return @result; } # Recursive closures are pretty broken in Perl, so we're going to separate # this function from find_all_required_sets and pass in the state we need # manually, as references. Yes, this is fairly unpleasant. sub find_all_required_sets_helper ($$@) { my ($sets_added, $result, @libs) = @_; foreach my $lib (@libs) { my $set = $LIB_TO_SET_MAP{$lib}; next if defined $$sets_added{$set}; $$sets_added{$set} = 1; push @$result, $set; find_all_required_sets_helper($sets_added, $result, @{$SET_DEPS{$set}}); } } # Print a list of sets, with a label. Used for debugging. sub print_sets ($@) { my ($label, @sets) = @_; my @output; foreach my $set (@sets) { push @output, join(',', @$set); } print "$label: ", join(';', @output), "\n"; } # Returns true if $lib is a key in $added. sub has_lib_been_added ($$) { my ($added, $lib) = @_; return defined $$added{$LIB_TO_SET_MAP{$lib}}; } # Returns true if all the dependencies of $set appear in $added. sub have_all_deps_been_added ($$) { my ($added, $set) = @_; #print_sets(" Checking", $set); #print_sets(" Wants", $SET_DEPS{$set}); foreach my $lib (@{$SET_DEPS{$set}}) { return 0 unless has_lib_been_added($added, $lib); } return 1; } # Given a list of sets, topologically sort them using dependencies. sub topologically_sort_sets (@) { my @sets = @_; my %added; my @result; SCAN: while (@sets) { # We'll delete items from @sets as we go. #print_sets("So far", reverse(@result)); #print_sets("Remaining", @sets); for (my $i = 0; $i < @sets; ++$i) { my $set = $sets[$i]; if (have_all_deps_been_added(\%added, $set)) { push @result, $set; $added{$set} = 1; #print "Removing $i.\n"; splice(@sets, $i, 1); next SCAN; # Restart our scan. } } die "Can't find a library with no dependencies"; } return reverse(@result); } # Our library dependency data will be added after the '__END__' token, and will # be read through the magic <DATA> filehandle. __END__ LLVMARM.o: libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMAlpha.o: LLVMX86.o libLLVMCodeGen.a libLLVMCore.a libLLVMLinker.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMCBackend.o: libLLVMAnalysis.a libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipa.a LLVMDataStructure.o: libLLVMAnalysis.a libLLVMBCReader.a libLLVMBCWriter.a libLLVMCore.a libLLVMInstrumentation.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMTransforms.a libLLVMipa.a libLLVMipo.a LLVMExecutionEngine.o: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a LLVMIA64.o: LLVMX86.o libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMInterpreter.o: LLVMExecutionEngine.o LLVMJIT.o libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMJIT.o: LLVMExecutionEngine.o libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMPowerPC.o: LLVMX86.o libLLVMCodeGen.a libLLVMCore.a libLLVMLinker.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMipo.a LLVMSparc.o: LLVMX86.o libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMX86.o: libLLVMCodeGen.a libLLVMCore.a libLLVMLinker.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMipa.a libLLVMipo.a libLLVMAnalysis.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMArchive.a: libLLVMBCReader.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMAsmParser.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMBCReader.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMBCWriter.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMCodeGen.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMCore.a: libLLVMSupport.a libLLVMSystem.a libLLVMDebugger.a: libLLVMBCReader.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMInstrumentation.a: libLLVMCore.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMTransformUtils.a libLLVMLinker.a: libLLVMArchive.a libLLVMBCReader.a libLLVMCore.a libLLVMSystem.a libLLVMScalarOpts.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMSelectionDAG.a libLLVMTarget.a libLLVMSelectionDAG.a libLLVMTarget.a: libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMSystem.a libLLVMTransformUtils.a libLLVMSupport.a: libLLVMSystem.a libLLVMbzip2.a libLLVMSystem.a: libLLVMTransformUtils.a: libLLVMAnalysis.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMSystem.a libLLVMipa.a libLLVMTransforms.a: libLLVMCore.a libLLVMSupport.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMbzip2.a: libLLVMipa.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMipo.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMipa.a -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060803/6dc0f88c/attachment.html>
On 8/3/06, Anton Korobeynikov <asl at math.spbu.ru> wrote:> > Hello Anton > > Thu, 3 Aug 2006 12:38:54 +0400 you wrote: > > > I've updated it yesterday and rebuilt - llvm built fine. But when > > building llvm-gcc4 (also updated yesterday from new /trunk > > directory) it fails with the same error. > You might easily get llvm-gcc4-mingw32 binaries from "prerelease" > directory. Since stdcall, fastcall & dllimport stuff is unsupported > right now, I don't see too much difference between cygwin & mingw > builds of llvm-gcc except the extended file names support of the former > (e.g. it can accept "/home/user/foo.c"). > > Could you please show us the contents of your llvm-confg file (it > should be in your /llvm/obj/Debug/bin/) > -- > With best regards, Anton Korobeynikov. > > Faculty of Mathematics & Mechanics, Saint Petersburg State University. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdevhere it is in the attachment :) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060803/6b7273e2/attachment.html> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: llvm-config URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060803/6b7273e2/attachment.ksh>
Hello Anton Thu, 3 Aug 2006 15:06:56 +0400 you wrote:> here it is in the attachment :)Well. There seems to be some additional dependencies not seen here. Reid, is there any way to workaround this? -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
Hello, Thu, 3 Aug 2006 15:41:58 +0400 you wrote:> > here it is in the attachment :) > Well. There seems to be some additional dependencies not seen here.I was wrong. There are some things looking very bad: 1. Line endings. CRLF mixed with CR. Also LF in the middle of the line 2. Two lines (around libLLVMTarget.a) looks merged together. However, when I fix that problems i'm starting to get rather cryptic messages about usage of uninitialized hash element. Will investigate :) -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
Antons, I think the line-ending problem is a red herring. I saved the file directly from Anton's email on Linux and it looked fine. Perhaps it was a cut & paste issue or some other artifact of saving the file on Windows from email. In any event, it should not be delivered in that form via CVS or a tarball. The original symptom: > Can't find a library with no dependencies > at /llvm/obj/Debug/bin/llvm-config lin > e 420, <DATA> line 30. is caused when llvm-config returns empty or no libraries back to the llvm-gcc4 makefile system. We ran into this about a week ago and applied some changes to llvm-config to correct the library dependencies and it went away. That was to get llvm-config to work correctly on PPC/Darwin. It looks like a similar process is needed for cygwin/mingw I have replicated the problem using the llvm-config that Anton V supplied. I'll take a look at what might be causing this. Reid. On Thu, 2006-08-03 at 16:36 +0400, Anton Korobeynikov wrote:> Hello, > > Thu, 3 Aug 2006 15:41:58 +0400 you wrote: > > > > here it is in the attachment :) > > Well. There seems to be some additional dependencies not seen here. > I was wrong. There are some things looking very bad: > > 1. Line endings. CRLF mixed with CR. Also LF in the middle of the line > 2. Two lines (around libLLVMTarget.a) looks merged together. > > However, when I fix that problems i'm starting to get rather cryptic > messages about usage of uninitialized hash element. Will investigate :) >-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060803/7e766680/attachment.sig>
Hello Anton Thu, 3 Aug 2006 15:06:56 +0400 you wrote:> here it is in the attachment :)Ok. Could you also send LibDeps.txt file? It should be in /obj/tools/llvm-config directory -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
On 8/3/06, Anton Korobeynikov <asl at math.spbu.ru> wrote:> > Hello AntonHello, Anton :) Thu, 3 Aug 2006 15:06:56 +0400 you wrote:> > > here it is in the attachment :) > Ok. Could you also send LibDeps.txt file? It should be > in /obj/tools/llvm-config directoryIt is attached. I won't be available for the next 10-12 hours if you'll need some more files. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060803/d3946a11/attachment.html> -------------- next part -------------- LLVMARM.o: libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMAlpha.o: LLVMX86.o libLLVMCodeGen.a libLLVMCore.a libLLVMLinker.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMCBackend.o: libLLVMAnalysis.a libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipa.a LLVMDataStructure.o: libLLVMAnalysis.a libLLVMBCReader.a libLLVMBCWriter.a libLLVMCore.a libLLVMInstrumentation.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMTransforms.a libLLVMipa.a libLLVMipo.a LLVMExecutionEngine.o: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a LLVMIA64.o: LLVMX86.o libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMInterpreter.o: LLVMExecutionEngine.o LLVMJIT.o libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMJIT.o: LLVMExecutionEngine.o libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMPowerPC.o: LLVMX86.o libLLVMCodeGen.a libLLVMCore.a libLLVMLinker.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMipo.a LLVMSparc.o: LLVMX86.o libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipo.a LLVMX86.o: libLLVMCodeGen.a libLLVMCore.a libLLVMLinker.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMipa.a libLLVMipo.a libLLVMAnalysis.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMArchive.a: libLLVMBCReader.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMAsmParser.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMBCReader.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMBCWriter.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMCodeGen.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMCore.a: libLLVMSupport.a libLLVMSystem.a libLLVMDebugger.a: libLLVMBCReader.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMInstrumentation.a: libLLVMCore.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMTransformUtils.a libLLVMLinker.a: libLLVMArchive.a libLLVMBCReader.a libLLVMCore.a libLLVMSystem.a libLLVMScalarOpts.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMSelectionDAG.a: libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMSupport.a: libLLVMSystem.a libLLVMbzip2.a libLLVMSystem.a: libLLVMTarget.a: libLLVMCodeGen.a libLLVMCore.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTransformUtils.a: libLLVMAnalysis.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMSystem.a libLLVMipa.a libLLVMTransforms.a: libLLVMCore.a libLLVMSupport.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMbzip2.a: libLLVMipa.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMipo.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMipa.a
Hello Anton Thu, 3 Aug 2006 23:13:52 +0400 you wrote:> I won't be available for the next 10-12 hours if you'll need some more > files.Well. I have one idea. Could you please execute "sort --version" from your cygwin shell and let me know, whether it's GNU one (it should reply with the words "textutils") or windows-supplied one (it should just give you and error)? -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
On 8/4/06, Anton Korobeynikov <asl at math.spbu.ru> wrote:> > Hello Anton > > Thu, 3 Aug 2006 23:13:52 +0400 you wrote: > > > I won't be available for the next 10-12 hours if you'll need some more > > files. > Well. I have one idea. Could you please execute "sort --version" from > your cygwin shell and let me know, whether it's GNU one (it should > reply with the words "textutils") or windows-supplied one (it should > just give you and error)?It turned out ot be a GNU version. sort (GNU coreutils) 5.97 Copyright (C) 2006 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License < http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law. Written by Mike Haertel and Paul Eggert. I've updated llvm and llvm-gcc4 ant trying to build it again after PR845 was resolved. According to Reid's letter this PR coud be the reason of my problem. When I'll have the results of llvm-gcc4 build I'll report. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060804/b443cd4c/attachment.html>
Hello Anton Fri, 4 Aug 2006 21:45:19 +0400 you wrote:> Written by Mike Haertel and Paul Eggert. > I've updated llvm and llvm-gcc4 ant trying to build it again after > PR845 was resolved. According to Reid's letter this PR coud be the > reason of my problem.Anyway, "sort" call can cause large problems depending, where in your PATH cygwin directory is (before %SystemRoot%, or after). Another question: is your perl a cygwin's supplied one? -- With best regards, Anton Korobeynikov. Faculty of Mathematics & Mechanics, Saint Petersburg State University.
-------------- next part -------------- libLLVMAnalysis.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMArchive.a: libLLVMBCReader.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMAsmParser.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMBCReader.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMBCWriter.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMCodeGen.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMCore.a: libLLVMSupport.a libLLVMSystem.a libLLVMDebugger.a: libLLVMBCReader.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMInstrumentation.a: libLLVMCore.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMTransformUtils.a libLLVMLinker.a: libLLVMArchive.a libLLVMBCReader.a libLLVMCore.a libLLVMSystem.a libLLVMScalarOpts.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMSelectionDAG.a: libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMSupport.a: libLLVMSystem.a libLLVMbzip2.a libLLVMSystem.a: libLLVMTarget.a: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTransformUtils.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMipa.a libLLVMTransforms.a: libLLVMCore.a libLLVMSupport.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMbzip2.a: libLLVMipa.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMipo.a: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMipa.a LLVMARM.o: libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a LLVMAlpha.o: libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a LLVMCBackend.o: libLLVMAnalysis.a libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a libLLVMipa.a LLVMDataStructure.o: libLLVMAnalysis.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a LLVMExecutionEngine.o: libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a LLVMIA64.o: libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a LLVMInterpreter.o: LLVMExecutionEngine.o libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a LLVMJIT.o: LLVMExecutionEngine.o libLLVMCodeGen.a libLLVMCore.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a LLVMPowerPC.o: libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a LLVMSparc.o: libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a LLVMX86.o: libLLVMCodeGen.a libLLVMCore.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSupport.a libLLVMSystem.a libLLVMTarget.a libLLVMTransformUtils.a
Yes, I didn't install it myself. llvm-gcc4 has built successfully. Making install configuration now. Will report about the result tomorrow. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060804/a0265a2f/attachment.html>