[Cygwin] groff build error

Here it is, a missing file “analyze.1” :-

/usr/bin/groff -Tps -man /usr/build/llvm/docs/CommandGuide/analyze.1 > /usr/buil
d/llvm/docs/CommandGuide/analyze.ps
troff: fatal error: can’t open /usr/build/llvm/docs/CommandGuide/analyze.1': No such file or directory make[2]: *** [/usr/build/llvm/docs/CommandGuide/analyze.ps] Error 1 make[2]: Leaving directory /usr/build/llvm/docs/CommandGuide’
make[1]: *** [install] Error 1
make[1]: Leaving directory `/usr/build/llvm/docs’
make: *** [install] Error 1

Whoopse, this is actually the pre 1.5 version of llvm I am using, so I do not know whether it has been fixed in the 1.5 release, probably not, but if it is not obvious, please, do not waste too much time on it, and I will do a clean 1.5 rebuild tomorrow, then hopefully a CVS build.

Hopefully I can put together a sh script and makefile combination to automate the build process.

Aaron

Aaron,

This looks to be exactly the same problem as with the executables.
There's probably a space where it shouldn't be. Either that or the
CommandGuide directory isn't getting created properly.

Reid

This looks to be exactly the same problem as with the executables.
There's probably a space where it shouldn't be. Either that or the
CommandGuide directory isn't getting created properly.

Okay, I will have a bit more confidence and look into it.

I will have to leave it to tommorow as it is getting late and I have to get up early.

Many thanks,

Aaron

Turns out I did not have Perl installed and hence no pod2man command, so it was not groff after all.

But ‘true’, what ever it does, does not seem to be working on Cygwin.

true pod2man --release=1.5 --center=“LLVM Command Guide” /usr/build/llvm/…/…/src/llvm-1.5/docs/CommandGuide/analyze.pod /usr/build/llvm/docs/CommandGuide/analyze.1

‘true’ seems to behaving like a “do nothing machine”.

From looking at the Bash documentation it does not look like it should be there at all !

http://www.faqs.org/docs/bashman/bashref_68.html

Can anyone enlighten me please as to what ‘true’ is doing there, and can I remove it ?

Aaron

Aaron Gray wrote:

Turns out I did not have Perl installed and hence no pod2man command, so it was not groff after all.
But 'true', what ever it does, does not seem to be working on Cygwin.
true pod2man --release=1.5 --center="LLVM Command Guide" /usr/build/llvm/../../src/llvm-1.5/docs/CommandGuide/analyze.pod /usr/build/llvm/docs/CommandGuide/analyze.1
'true' seems to behaving like a "do nothing machine".
  From looking at the Bash documentation it does not look like it should be there at all !
         Bash Reference Manual: Bash Conditional Expressions
Can anyone enlighten me please as to what 'true' is doing there, and can I remove it ?

This is just a guess, but look in Makefile.config for the POD2MAN variable and see if that's where true is coming from.

I think some of our autoconf magic uses the true command whenever it can't find a particular program. That way, the Makefile rules just use a macro to run <program>, and if program doesn't exist, it just runs "true", which does nothing.

-- John T.

Yeah, that's exactly right, Aaron. "true" is a command that simply
returns with an exit status of 0 and ignores its arguments. When pod2man
can't be found we define the variable that specifies its path as "true
pod2man". This allows the command that should have been run to be shown
while at the same time not interrupting the makefile with a failure.
This is entirely intentional.

Once you've installed Perl, you need to reconfigure your build tree to
get the appropriate variable defined properly. Check your
Makefile.config file (generated by configure) to determine if the PERL
variable has been set properly. Also look for anything else that starts
with "true" as you'll need those programs too.

Reid.

Exactly right, John.

Okay, run a ‘configure’ and build again !

Yeah, that's exactly right, Aaron. "true" is a command that simply
returns with an exit status of 0 and ignores its arguments. When pod2man
can't be found we define the variable that specifies its path as "true
pod2man". This allows the command that should have been run to be shown
while at the same time not interrupting the makefile with a failure.
This is entirely intentional.

Once you've installed Perl, you need to reconfigure your build tree to
get the appropriate variable defined properly. Check your
Makefile.config file (generated by configure) to determine if the PERL
variable has been set properly. Also look for anything else that starts
with "true" as you'll need those programs too.

Okay, I feel very very dumb, really not used to GNU, Cygwin and *nix.

Okay I will check the configuration properly.

Thanks,

Aaron

Got a clean build and install now :)))

Many thanks for all your help.

Wish I had known a few basic things about Cygwin and GNU before tackling this.

A few last things ...

Okay I will check the configuration properly.

I can do without doxygen, and etags, for now, but need runtest, what about tcl, and dot.

Okay got runtest, and doxygen now.

Cannot find tcl on Cygwin, I may allready have it ???
Whats 'dot', do I really need it and where do I get it ???

Presumably I need these for 'make check' ?

Aaron

dot is part of the graphviz project. it is used by doxygen to generate
the inheritance and collaboration diagrams. You can get it from
www.graphviz.org. You don't have to have it, its only used to build the
documentation which you can find online anyway. You don't need this for
"make check".

Reid.

Okay got runtest, and doxygen now.

Cannot find tcl on Cygwin, I may allready have it ???

You must already have it if you were able to install and run 'runtest'. Expect and tcl are required by Dejagnu.

-Tanya

This is what I am getting back from 'make check' :-

                === Summary ===

# of expected passes 1710
# of unexpected failures 49
# of expected failures 55

Is this normal and "expected" ?

Full results attached.

Aaron

makecheck.txt (22.5 KB)

The unexpected failures is high. Looking at the details, it appears that
you have the "space in path" problem. I thought we had this fixed a long
time ago, but apparently not. The issue is that the $PATH variable needs
to be put in quotes so spaces don't affect interpretation of the
command. I'll look into this.

Reid.

Aaron,

Can you try this patch for me please. It goes on your test/Makefile
file. Patching is done like this:

cd test
<save Makefile.diff to this directory>
patch -p0 < Makefile.diff

Then run your "make check" again. Hopefully the # of unexpected failures
will drop significantly.

Reid.

No. From this output:

...
Files/ATI: not found
...

My guess is that you have "Program Files" in your path. Try taking paths with spaces in them out of your PATH variable. If you need thme, consider replacing them with the progra~1 versions of the directory names...

-Chris

Aaron,

Sorry about the missing patch on the last email. Here's one that I think
will actually work. Could you please test this out for us (see below)?
If it works, we'll commit it to cvs so cygwin never runs into this
problem again.

Thanks,

Reid.

Makefile.diff (996 Bytes)

This is what I am getting back from 'make check' :-

# of expected passes 1710
# of unexpected failures 49
# of expected failures 55

Is this normal and "expected" ?

No. From this output:

...
Files/ATI: not found
...

My guess is that you have "Program Files" in your path. Try taking paths with spaces in them out of your PATH variable. If you need thme, consider replacing them with the progra~1 versions of the directory names...

Still getting errors :frowning:

PATH="/usr/build/llvm/Debug/bin:/usr/build/llvm/../../src/llvm-1.5/test/Scripts:
/usr/llvm-gcc/bin:/usr/build/llvm/debug/bin:/usr/binutils-2.15/bin:/usr/gcc/gcc-
3.4.3:/usr/gcc/gcc-3.4.3:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin" \
/usr/bin/runtest
WARNING: Couldn't find the global config file.
WARNING: No tool specified
Test Run By Aaron Gray on Fri May 20 18:54:37 2005
Native configuration is i686-pc-cygwin

                === Summary ===

# of expected passes 1733
# of unexpected failures 49
# of expected failures 56

makecheck.txt (19.6 KB)

The error message you pointed out is "normal" (global config file not
found) so you can ignore it. The results you provided in your attachment
look like you didn't apply the patch to test/Makefile yet? Did you?

Reid.

Much better. Although it looks like I have a library problem though.

There are by the look of it a few more errors too.

# of expected passes 1736
# of unexpected failures 16
# of expected failures 56

Looks like the patch has nearly got it.

Aaron

makecheck.txt (21.5 KB)