Bugs in Getting Started Guide

(*) The “Getting Started Quickly” section describes commands using gunzip; the binaries are distributed using bzip2 instead.

(*) The directory structure after step 4 doesn’t have a “llvm-3.4” or “platform” directory; no such command ‘fixheaders’ can be found.

(*) The docs aren’t clear as to which “source code” is needed for step 5: the LLVM source code, or one of the GCC front-end source bundles. I’m assuming the LLVM source code, but links here to the most-recent-released-bundles for each would be very helpful here.

(*) There are a bunch of test files in the LLVM source bundle (from the previous point); is this the Test Suite Source Code?

(*) The docs aren’t clear as to whether the source bundle needs to be opened in the directory in which I have unbziped/untarred the previous bundle, or in the directory above it. Since the source build contains a top-level “llvm-2.1” directory in which everything is stored, I’m assuming I want to be in the directory above the previous step, so that all these files are in the same “llvm-2.1” directory.

(*) For a MinGW/MSYS system, is the default /usr/local configure parameter still the correct one? My MSYS installation doesn’t seem to have one, so either I screwed that up, or else this isn’t good advice for a MSYS installation.

When running configure with flex and bison installed, I get “configure: error: cannot find output from flex; giving up”. Not sure what to do next. Anybody who’s gotten LLVM installed with MSYS and is willing to walk me through this, please respond offline. I’ll write up a complete step-by-step guide and donate it back to llvm.org if I can get an LLVM installation going under MSYS/MinGW32.

Ted Neward

Java, .NET, XML Services

Consulting, Teaching, Speaking, Writing

http://www.tedneward.com

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.488 / Virus Database: 269.13.28/1021 - Release Date: 9/21/2007 2:02 PM

(*) The “Getting Started Quickly” section describes commands using gunzip;
the binaries are distributed using bzip2 instead.

(*) The directory structure after step 4 doesn’t have a “llvm-3.4” or
“platform” directory; no such command ‘fixheaders’ can be found.

These two sections have been fixed. Thanks!

(*) The docs aren’t clear as to which “source code” is needed for step 5:
the LLVM source code, or one of the GCC front-end source bundles. I’m
assuming the LLVM source code, but links here to the
most-recent-released-bundles for each would be *very* helpful here.

I'm not sure how we can make this more clear. It says "LLVM source" and also in the instructions gives the file name (llvm--version.tar.gz) which we use when naming the files. Having direct links to the files would mean another place to update when doing a new release. I'm not totally against that, but it is a pain as far as web maintenance.

I do think this is a much bigger issue in that we do not clearly explain what llvm is, what it provides, and how all the pieces fit together. This is something we are aware of and are working on rewriting/organizing all of the documentation and having a new website design.

(*) There are a bunch of test files in the LLVM source bundle (from the
previous point); is this the Test Suite Source Code?

No, they are different:
http://llvm.org/docs/TestingGuide.html

(*) The docs aren’t clear as to whether the source bundle needs to be opened
in the directory in which I have unbziped/untarred the previous bundle, or
in the directory above it. Since the source build contains a top-level
“llvm-2.1” directory in which everything is stored, I’m assuming I want to
be in the directory above the previous step, so that all these files are in
the same “llvm-2.1” directory.

The front-end binary and LLVM are separate things. Once again, I think this is part of the larger issue of how the pieces fit together.. but web redesign is a few weeks out.

The getting started quickly instructions say that you "cd where-you-want-the-C-front-end-to-live" and the unzip the front-end, followed by "cd where-you-want-llvm-to-live". If you have suggestions on how to make this more clear, please let me know. I would be happy to apply the patch.

When running configure with flex and bison installed, I get “configure:
error: cannot find output from flex; giving up”. Not sure what to do next.
Anybody who’s gotten LLVM installed with MSYS and is willing to walk me
through this, please respond offline. I’ll write up a complete step-by-step
guide and donate it back to llvm.org if I can get an LLVM installation going
under MSYS/MinGW32.

Hmm.. I had thought we changed things so flex and bison were not required. If you can file a bug on this, we can try to get it fixed.

Thanks,
Tanya

Maybe this adds to the confusion: that he has to make decisions
("Where do I want the c-front end to live?") --- and at the same
time the new user is, ahem, 'new', so he can't see the
implications of such a decision.

Maybe a cook-book-receive would be more helpful. Don't present
options to the user, but give him a 'quick' result to work with.

$ wget http://this-file
$ wget http://that-file
$ tar xzf this-file
$ cd blah
$ tar xjf ../that-file
$ cd ..
$ ./configure --prefix=`pwd`/dist --some-more-options
$ make
$ PATH=dist/bin:$PATH
$ # now you can use llvm-gcc etc

Do you want me to work out such a thing?

Maybe this adds to the confusion: that he has to make decisions
("Where do I want the c-front end to live?") --- and at the same
time the new user is, ahem, 'new', so he can't see the
implications of such a decision.

Maybe a cook-book-receive would be more helpful. Don't present
options to the user, but give him a 'quick' result to work with.

$ wget http://this-file
$ wget http://that-file
$ tar xzf this-file
$ cd blah
$ tar xjf ../that-file
$ cd ..
$ ./configure --prefix=`pwd`/dist --some-more-options
$ make
$ PATH=dist/bin:$PATH
$ # now you can use llvm-gcc etc

Do you want me to work out such a thing?

Well, I kinda think its important to indicate where to put llvm and llvm-gcc.. or at least tell the user to put it anywhere they want. From your example, I could see someone asking similar questions.. ie.. "Should they be untarred in the same directory?"

Maybe someone else has an opinion?

-Tanya

I think that (a) the cookbook approach to create a "default" installation
gcc installed someplace that makes sense 50 to 70% of the time would be
ideal, and (b) docs to help explain the implications of the decisions
involved, would be ideal.

Ted Neward
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.tedneward.com

If you're asking that question of me, then yes! :slight_smile:

In fact, if you send me the draft, I'll test it out under the normal
circumstances (Windows XP, nothing LLVM-ish installed) to betatest/QA it.

Ted Neward
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.tedneward.com