egcs-1.1b compiles invalid TeX

Stanislav Brabec utx@k332.feld.cvut.cz
Wed Dec 2 12:26:00 GMT 1998


Hallo egcs developers,

I have found an error in egcs-1.1b compiled web2c TeX.

My system is i686-pc-linux-gnu & linux-2.1 & glibc-2.1.

I have tried to compile the same source with gcc-2.8.1 and it gives good
code.

TeX is very complitated program, so my knowledges are too small to
catch the bug. The bug seems to be repeatable, so if anybody wants to
try to catch it, I am adding all make stuff.
(web2c will need make-3.76.1, which needs small patch to be compiled with glibc-2.1.)

This is excerpt of my Build script:

# egcs-1.1b stuff
configure --prefix=/usr --enable-shared --disable-static --enable-threads=posix 
--with-gnu-as --with-gnu-ld --with-stabs --with-fast-fixincludes --verbose
make
make install
# we will use these hard links
ln -f /usr/bin/gcc /usr/bin/cc
ln -f /usr/bin/g77 /usr/bin/f77
ln -sf /usr/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.57/cpp /lib/cpp
strip --preserve-dates /usr/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.57/c[cop]*
strip --preserve-dates /usr/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.57/f771
rm /usr/lib/libstdc++.a /usr/lib/libiberty.a

# texk-7.2b stuff
# we have single platform: --disable-dump-share
# but the bug occurs also without --disable-dump-share
export PATH=/usr/src/make-3.76.1:$PATH # this is already reported to make 3.77 maintainers
# if we will use following line, stuff will be compiled OK
# export PATH=/usr/gcc/bin:/usr/src/make-3.76.1:$PATH #/usr/gcc is prefix of gcc-2.8.1
configure --prefix=/usr/tex --datadir=/usr/tex --enable-shared --disable-static \
--with-etex=tex --with-system-zlib --with-system-pnglib --enable-ipc --with-epsfwin \
--with-x11win --with-x=/usr/X11/lib --disable-dump-share
make

After some time make terminates when etex tries to create format file.
But if we ignore this error and install package compiled with egcs,
we will get other bugs (especially for \read command) in non extended TeX mode.

Example outputs of corrupted TeX:

Example 1:
--------------------------------------------------------
This is e-TeX, Version 3.14159-2.0 (Web2C 7.2) (INITEX)
entering extended mode
(/usr/tex/texmf/etex/plain/base/etex.src
(/usr/tex/texmf/tex/plain/base/plain.tex Preloading the plain format: codes,
registers, parameters, fonts, more fonts, macros, math definitions,
output routines, hyphenation (/usr/tex/texmf/tex/generic/hyphen/hyphen.tex
[skipping from \patterns to end-of-file...]))
! Missing control sequence inserted.
<inserted text> 
                \inaccessible 
<to be read again> 
                    
\etexhdrchk ...nechar =-1 \readline \et@xinput to 
                                                  \et@xbuf \closein \et@xinp...
l.140 \etexhdrchk {file} {\et@xfmtsrc}
                                      ^^M
? 
! Emergency stop.
<inserted text> 
                \inaccessible 
<to be read again> 
                    
\etexhdrchk ...nechar =-1 \readline \et@xinput to 
                                                  \et@xbuf \closein \et@xinp...
l.140 \etexhdrchk {file} {\et@xfmtsrc}
                                      ^^M
No pages of output.
Transcript written on etex.log.
make[1]: *** [etex.efmt] Error 1
--------------------------------------------------------
Example 2:
-----------
\input epsf
\epsfbox{test.eps} % realy _any_ image
\end
-----------
Tried with any image fails:
               \read\epsffilein to \epsffileline
as \inaccessible.
--------------------------------------------------------

-- Stanislav Brabec



More information about the Gcc-bugs mailing list