[tex-live] Problem with TL source tree (eomegadir/eover-rc1.ch)

Gerben Wierda Gerben.Wierda at rna.nl
Tue Jan 6 08:40:03 CET 2004


On Jan 6, 2004, at 05:12, Thomas Esser wrote:

>>> It works (compiles) for me. I just successfully did:
>>>  rm -rf /build/X; mkdir -p /build/X; cd /build/X
>>>  /t/texlive/Build/source/TeX/configure ; make
>>
>> Did you try a make (dist)clean in between? The Makefiles are not
>> reliable with respect to recreating stuff when they should, so you
>> might still be compiling old stuff even if you have synced.
>
> No, I did not. However, I have startet in a new and empty build 
> directory.
> There is nothing from an old build lying around. To be 100% sure, I'll
> redo this after a
>   "rm -rf /t/texlive/Build/source; p4 sync -f 
> /t/texlive/Build/source/...".

OK, I did the same thing. Removed the entire source/... tree and 
resynced it (what the use is of a source maintenance system if I have 
to do this to trust the outcome is unclear to me). Note that this may 
mask an actual error in the sources (see below).

A fresh build ends in an error as well:

> srcdir=. /bin/sh ./web2c/convert bibtex
> gcc -DHAVE_CONFIG_H  -I. -I. -I.. -I./..  -no-cpp-precomp  -g -O2  -c 
> bibtex.c -o bibtex.o
> /bin/sh ../libtool --mode=link gcc -o bibtex   bibtex.o lib/lib.a 
> ../kpathsea/libkpathsea.la -lm
> gcc -o bibtex bibtex.o  lib/lib.a ../kpathsea/.libs/libkpathsea.a -lm
> gcc -DHAVE_CONFIG_H  -I. -I. -I.. -I./..  -no-cpp-precomp  -g -O2  -c 
> ctangleboot.c -o ctangleboot.o
> gcc -DHAVE_CONFIG_H  -I. -I. -I.. -I./..  -no-cpp-precomp  -g -O2  -c 
> cwebboot.c -o cwebboot.o
> /bin/sh ../libtool --mode=link gcc -o ctangleboot   ctangleboot.o 
> cwebboot.o lib/lib.a ../kpathsea/libkpathsea.la -lm
> gcc -o ctangleboot ctangleboot.o cwebboot.o  lib/lib.a 
> ../kpathsea/.libs/libkpathsea.a -lm
> CWEBINPUTS=./cwebdir ./ctangleboot ctangle ctang-w2c
> This is CTANGLE, Version 3.64 (Web2C 7.5.2)
> *1*15*22*26*34*40*54*60*74*81*95
> Writing the output file (ctangle.c):.....500.....1000..
> Done.
> (No errors were found.)
> gcc -DHAVE_CONFIG_H  -I. -I. -I.. -I./..  -no-cpp-precomp  -g -O2  -c 
> ctangle.c -o ctangle.o
> CWEBINPUTS=./cwebdir ./ctangleboot common comm-w2c cweb.c
> ! Cannot open output file cweb.c
> (That was a fatal error, my friend.)

It seems cweb.c is downloaded but with a time stamp that lets make try 
to remake this read-only file. So I touched cweb.c and went ahead. (the 
same happened to me with source/TeX/texk/cjkutils/hbf2gf/hbf2gf.c)

NOTE:

The fact that I do not have the problem now, corroborates my hunch that 
there *is* something wrong. After all, this way of removing all files 
and resyncing them with p4 gives you not only base files, but it also 
gives you intermediate results (like cweb.c) that are stored in 
perforce. So, you *cannot* be sure that the files you get are actually 
used (there may be a different version of a web file around which is 
not used because the sync ships you a resulting C file with a newer 
time stamp but which is actually older. That is why getting everything 
clean is not really clean. I guess a 'make distclean' is clean, but 
that I am not even certain of (is everything intermediary indeed 
removed?). I have no time now to test the make distclean route (have to 
run), but I know that in the current state of the perforce tree (which 
holds intermediary files) we are never certain we actually use the 
latest modifications. In fact, that I ran into this problem suggests 
that a basic source file was adapted and may contain a problem, but 
that nobody notices it because during a compile, the old intermediary 
file keeps getting used.

So, I still think that with generally fast computers today, there 
should be *no* intermediate files in the source trees.

G

Warnings the following, BTW, always merit attention (dead code, and 
that is generally not intentional)

> pltotf.c: In function `readinput':
> pltotf.c:2608: warning: comparison is always false due to limited 
> range of data type
> texini.c: In function `loadfmtfile':
> texini.c:3151: warning: comparison is always false due to limited 
> range of data type
> vptovf.c: In function `readinput':
> vptovf.c:3464: warning: comparison is always false due to limited 
> range of data type
> omegaini.c: In function `loadfmtfile':
> omegaini.c:3840: warning: comparison is always false due to limited 
> range of data type
> omega3.c: In function `maincontrol':
> omega3.c:8297: warning: comparison is always true due to limited range 
> of data type
> omega3.c:8304: warning: comparison is always true due to limited range 
> of data type
> omega3.c:8313: warning: comparison is always true due to limited range 
> of data type
> eomegaini.c: In function `loadfmtfile':
> eomegaini.c:3950: warning: comparison is always false due to limited 
> range of data type



More information about the tex-live mailing list