LLVM 1.3 Release!]

Chris Lattner wrote:

             LLVM Compiler Infrastructure -- Release 1.3
                       http://llvm.cs.uiuc.edu

We are pleased to announce the release of version 1.3 of the LLVM
Compiler Infrastructure.

Great news, thanks.

However, I wonder if someone supplies pre-built cfrontend binaries for cygwin?

I followed the instructions and tried to build them myself but get

gcc -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-p
rototypes -pedantic -Wno-long-long -fno-common -Wno-error -DHAVE_CONFIG_H -I
. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include \
-DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX=\"/lib/gcc/\"
-DSTANDARD_LIBEXEC_PREFIX=\"/libexec/gcc/\" -DDEFAULT_TARGET_VERSION=\"3.4-llvm
\" -DDEFAULT_TARGET_MACHINE=\"i686-pc-cygwin\" -DSTANDARD_BINDIR_PREFIX=\"/bin/\
" -DTOOLDIR_BASE_PREFIX=\"../../../../\" `test "X${SHLIB_LINK}" = "X"

test "

no" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test "X${SHLIB_MULTILIB}" = "X"

echo "-DNO_SHARED_LIBGCC_MULTILIB"` \

-c ../../src/gcc/gcc.c -o gcc.o)
../../src/gcc/gcc.c:942: warning: string length `529' is greater than the length
`509' ISO C89 compilers are required to support
../../src/gcc/gcc.c:960: warning: string length `608' is greater than the length
`509' ISO C89 compilers are required to support
../../src/gcc/gcc.c:1544: warning: string length `695' is greater than the lengt
h `509' ISO C89 compilers are required to support
../../src/gcc/gcc.c: In function `process_command':
../../src/gcc/gcc.c:3694: error: assignment of read-only location
../../src/gcc/gcc.c:3696: error: assignment of read-only location
make[1]: *** [gcc.o] Error 1
make[1]: Leaving directory `/usr/pd/llvm/cfrontend/build/gcc'
make: *** [all-gcc] Error 2

when building the cfrontend. Any ideas?

This is on a Windows XP Pro SP1 machine running a recently updated cygwin with

$ gcc --version
gcc (GCC) 3.3.3 (cygwin special)

Regards,

Robert Feldt

However, I wonder if someone supplies pre-built cfrontend binaries for
cygwin?

Nope, we don't have one yet, sorry.

I followed the instructions and tried to build them myself but get
when building the cfrontend. Any ideas?

That is really wierd. Looking at that line of gcc.c, I have no idea how
it ever worked. In any case, this patch should help things:

http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040809/017143.html

-Chris

Chris Lattner wrote:

However, I wonder if someone supplies pre-built cfrontend binaries for
cygwin?
   
Nope, we don't have one yet, sorry.

I followed the instructions and tried to build them myself but get
when building the cfrontend. Any ideas?
   
That is really wierd. Looking at that line of gcc.c, I have no idea how
it ever worked. In any case, this patch should help things:

http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040809/017143.html

Thanks, now I can compile llvm-gcc without problems. However, when I go back to rebuild llvm, reconfigure, setting the CFEINSTALL dir, then make it can build the tools ok but not the runtime:

make[1]: Entering directory `/usr/pd/llvm/llvm/runtime'
make[2]: Entering directory `/usr/pd/llvm/llvm/runtime/GCCLibraries'
make[3]: Entering directory `/usr/pd/llvm/llvm/runtime/GCCLibraries/crtend'
Compiling crtend.c to bytecode
Files/ATI: not found
make[3]: *** [/usr/pd/llvm/llvm/runtime/GCCLibraries/crtend/BytecodeObj/crtend.b
c] Error 127
make[3]: Leaving directory `/usr/pd/llvm/llvm/runtime/GCCLibraries/crtend'
make[2]: *** [crtend/.makeall] Error 2
make[2]: Leaving directory `/usr/pd/llvm/llvm/runtime/GCCLibraries'
make[1]: *** [GCCLibraries/.makeall] Error 2
make[1]: Leaving directory `/usr/pd/llvm/llvm/runtime'
make: *** [all] Error 1

I don't understand the error message since I see no reference to Files/ATI. Any clues?

Regards,

Robert

However, when I go back to rebuild llvm, reconfigure, setting the
CFEINSTALL dir, then make it can build the tools ok but not the
runtime:

[snip]

Compiling crtend.c to bytecode
Files/ATI: not found

[snip]

I don't understand the error message since I see no reference to
Files/ATI. Any clues?

Can you please give us the output log with you run "gmake VERBOSE=1"?
That should give us the exact compilation line used.

Thanks,

In addition to what Misha said, please check to see that you're not trying
to build LLVM in a directory that has spaces in it. For some reason, the
cygwin bash gets confused with spaces (it's probably bugs in our makefiles
or something), but I never got to fixing it.

If you try unpacking the LLVM tree in /LLVM or something, it should work.

-Chris

Misha Brukman wrote:

However, when I go back to rebuild llvm, reconfigure, setting the
CFEINSTALL dir, then make it can build the tools ok but not the
runtime:
   

[snip]

Compiling crtend.c to bytecode
Files/ATI: not found
   

[snip]

I don't understand the error message since I see no reference to Files/ATI. Any clues?
   
Can you please give us the output log with you run "gmake VERBOSE=1"?
That should give us the exact compilation line used.

Good idea since it indicates that the problem is that the PATH contains dirs with spaces in it even though the dir I build in has no spaces:

robert_feldt@it002473 /usr/pd/llvm/llvm/runtime/GCCLibraries/crtend
$ pwd
/usr/pd/llvm/llvm/runtime/GCCLibraries/crtend

robert_feldt@it002473 /usr/pd/llvm/llvm/runtime/GCCLibraries/crtend
$ gmake VERBOSE=1
Compiling crtend.c to bytecode
PATH=/usr/pd/llvm/llvm/tools/Debug:/usr/pd/llvm/llvm/tools/Debug:/usr/X11R6/bin:
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/Prg/texmf/miktex/bin:/cy
gdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:
/cygdrive/c/Program Files/ATI Technologies/ATI Control Panel:/cygdrive/c/WINDOWS
/system32/nls:/cygdrive/c/WINDOWS/system32/nls/ENGLISH:/cygdrive/c/Program Files
/Common Files/GTK/2.0/bin:/cygdrive/c/Program Files/Common Files/GTK/2.0/lib:/cy
gdrive/c/Program Files/Mono-0.28/bin:/cygdrive/c/Program Files/Mono-0.28/lib:/cy
gdrive/c/Program Files/Objective Caml/bin:/cygdrive/c/ruby/bin:/cygdrive/c/PROGR
A~1/ATT/Graphviz/bin:/cygdrive/c/PROGRA~1/ATT/Graphviz/bin/tools:/cygdrive/c/Prg
/Subversion/bin /usr/pd/llvm/cfrontend/install/bin/gcc -Wall -W -Wwrite-strings
-Wno-unused -I/usr/pd/llvm/llvm/runtime/GCCLibraries/crtend -I/usr/pd/llvm/llvm/
runtime/GCCLibraries/crtend -I/usr/pd/llvm/llvm/include -I/usr/pd/llvm/llvm/incl
ude -I../../../include -I/usr/pd/llvm/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_
MACROS -DATTR_DEPRECATED='__attribute__ ((deprecated))' -c crtend.c -o /usr/pd/l
lvm/llvm/runtime/GCCLibraries/crtend/BytecodeObj/crtend.bc
Files/ATI: not found
gmake: *** [/usr/pd/llvm/llvm/runtime/GCCLibraries/crtend/BytecodeObj/crtend.bc]
Error 127

So I excluded all the windows-specific dirs in PATH and rebuilt and it went ok. So it does not seem to be enough to build in dirs with no spaces. To build llvm on cygwin you currently need to have only dirs without spaces in your PATH.

Thanks,

Robert

Thanks for the clarification, I'll update the release notes!

-Chris