Texinfo 5 fix (partial)

Gene Smith gds@chartertn.net
Sun Jan 5 00:15:00 GMT 2014


Jeff Johnston wrote, On 04/29/2013 04:49 PM:
> Thanks.  Patch committed.
>
> -- Jeff J.
>
> On 04/28/2013 02:03 PM, Freddie Chopin wrote:
>> Hi!
>>
>> I attach a fix for building newlib docs with texinfo 5.
>>
>> First fix (@ -> @@) is based on fix from binutils, as they have almost
>> exactly the same fragment in their docs. Here's the link to binutils'
>> patch
>>
>> http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1113210.html
>>
>>
>>
>> Without the attached patch I get sth like "unknown commands - colophon
>> and cygnus" (don't have the exact wording now, sorry).
>>
>> The other change (ifinfo -> ifnottex) is based on suggestion from error
>> message.
>>
>> The first fix allows me to build pdf correctly, but HTML generation
>> fails with:
>>
>>> rm -rf libm.htp
>>> if makeinfo --split-size=5000000 --split-size=5000000  --html   -I
>>> /home/freddie/bleeding-edge-toolchain/src/newlib/newlib/libm \
>>>  -o libm.htp
>>> /home/freddie/bleeding-edge-toolchain/src/newlib/newlib/libm/libm.texinfo;
>>>
>>> \
>>> then \
>>>   rm -rf libm.html; \
>>>   if test ! -d libm.htp && test -d libm; then \
>>>     mv libm libm.html; else mv libm.htp libm.html; fi; \
>>> else \
>>>   if test ! -d libm.htp && test -d libm; then \
>>>     rm -rf libm; else rm -Rf libm.htp libm.html; fi; \
>>>   exit 1; \
>>> fi
>>> ./targetdep.tex:41: @menu reference to nonexistent node `acos'
>>> ./targetdep.tex:42: @menu reference to nonexistent node `acosh'
>>> ./targetdep.tex:43: @menu reference to nonexistent node `asin'
>>> ./targetdep.tex:44: @menu reference to nonexistent node `asinh'
>>> ./targetdep.tex:45: @menu reference to nonexistent node `atan'
>>> ./targetdep.tex:46: @menu reference to nonexistent node `atan2'
>>> ./targetdep.tex:47: @menu reference to nonexistent node `atanh'
>>> ./targetdep.tex:48: @menu reference to nonexistent node `jN'
>>> ./targetdep.tex:49: @menu reference to nonexistent node `cbrt'
>>> ./targetdep.tex:50: @menu reference to nonexistent node `copysign'
>>> ./targetdep.tex:51: @menu reference to nonexistent node `cosh'
>>> ./targetdep.tex:52: @menu reference to nonexistent node `erf'
>>> ./targetdep.tex:53: @menu reference to nonexistent node `exp'
>>> ./targetdep.tex:54: @menu reference to nonexistent node `exp2'
>>> ./targetdep.tex:55: @menu reference to nonexistent node `expm1'
>>> ./targetdep.tex:56: @menu reference to nonexistent node `fabs'
>>> ./targetdep.tex:57: @menu reference to nonexistent node `fdim'
>>> ./targetdep.tex:58: @menu reference to nonexistent node `floor'
>>> ./targetdep.tex:59: @menu reference to nonexistent node `fma'
>>> ./targetdep.tex:60: @menu reference to nonexistent node `fmax'
>>> ./targetdep.tex:61: @menu reference to nonexistent node `fmin'
>>> ./targetdep.tex:62: @menu reference to nonexistent node `fmod'
>>> ./targetdep.tex:63: @menu reference to nonexistent node `fpclassify'
>>> ./targetdep.tex:64: @menu reference to nonexistent node `frexp'
>>> ./targetdep.tex:65: @menu reference to nonexistent node `gamma'
>>> ./targetdep.tex:66: @menu reference to nonexistent node `hypot'
>>> ./targetdep.tex:67: @menu reference to nonexistent node `ilogb'
>>> ./targetdep.tex:68: @menu reference to nonexistent node `infinity'
>>> ./targetdep.tex:69: @menu reference to nonexistent node `isgreater'
>>> ./targetdep.tex:70: @menu reference to nonexistent node `ldexp'
>>> ./targetdep.tex:71: @menu reference to nonexistent node `log'
>>> ./targetdep.tex:72: @menu reference to nonexistent node `log10'
>>> ./targetdep.tex:73: @menu reference to nonexistent node `log1p'
>>> ./targetdep.tex:74: @menu reference to nonexistent node `log2'
>>> ./targetdep.tex:75: @menu reference to nonexistent node `logb'
>>> ./targetdep.tex:76: @menu reference to nonexistent node `lrint'
>>> ./targetdep.tex:77: @menu reference to nonexistent node `lround'
>>> ./targetdep.tex:78: @menu reference to nonexistent node `matherr'
>>> ./targetdep.tex:79: @menu reference to nonexistent node `modf'
>>> ./targetdep.tex:80: @menu reference to nonexistent node `nan'
>>> ./targetdep.tex:81: @menu reference to nonexistent node `nearbyint'
>>> ./targetdep.tex:82: @menu reference to nonexistent node `nextafter'
>>> ./targetdep.tex:83: @menu reference to nonexistent node `pow'
>>> ./targetdep.tex:84: @menu reference to nonexistent node `remainder'
>>> ./targetdep.tex:85: @menu reference to nonexistent node `remquo'
>>> ./targetdep.tex:86: @menu reference to nonexistent node `rint'
>>> ./targetdep.tex:87: @menu reference to nonexistent node `round'
>>> ./targetdep.tex:88: @menu reference to nonexistent node `scalbn'
>>> ./targetdep.tex:89: @menu reference to nonexistent node `signbit'
>>> ./targetdep.tex:90: @menu reference to nonexistent node `sin'
>>> ./targetdep.tex:91: @menu reference to nonexistent node `sinh'
>>> ./targetdep.tex:92: @menu reference to nonexistent node `sqrt'
>>> ./targetdep.tex:93: @menu reference to nonexistent node `tan'
>>> ./targetdep.tex:94: @menu reference to nonexistent node `tanh'
>>> ./targetdep.tex:95: @menu reference to nonexistent node `trunc'
>>> ./targetdep.tex:228: @menu reference to nonexistent node `cabs'
>>> ./targetdep.tex:229: @menu reference to nonexistent node `cacos'
>>> ./targetdep.tex:230: @menu reference to nonexistent node `cacosh'
>>> ./targetdep.tex:231: @menu reference to nonexistent node `carg'
>>> ./targetdep.tex:232: @menu reference to nonexistent node `casin'
>>> ./targetdep.tex:233: @menu reference to nonexistent node `casinh'
>>> ./targetdep.tex:234: @menu reference to nonexistent node `catan'
>>> ./targetdep.tex:235: @menu reference to nonexistent node `catanh'
>>> ./targetdep.tex:236: @menu reference to nonexistent node `ccos'
>>> ./targetdep.tex:237: @menu reference to nonexistent node `ccosh'
>>> ./targetdep.tex:238: @menu reference to nonexistent node `cexp'
>>> ./targetdep.tex:239: @menu reference to nonexistent node `cimag'
>>> ./targetdep.tex:240: @menu reference to nonexistent node `clog'
>>> ./targetdep.tex:241: @menu reference to nonexistent node `conj'
>>> ./targetdep.tex:242: @menu reference to nonexistent node `cpow'
>>> ./targetdep.tex:243: @menu reference to nonexistent node `cproj'
>>> ./targetdep.tex:244: @menu reference to nonexistent node `creal'
>>> ./targetdep.tex:245: @menu reference to nonexistent node `csin'
>>> ./targetdep.tex:246: @menu reference to nonexistent node `csinh'
>>> ./targetdep.tex:247: @menu reference to nonexistent node `csqrt'
>>> ./targetdep.tex:248: @menu reference to nonexistent node `ctan'
>>> ./targetdep.tex:249: @menu reference to nonexistent node `ctanh'
>>> make[4]: *** [libm.html] Error 1

I still see this error even with Freddie C's patches (using the latest 
newlib which seems to contain them). Build of newlib works OK including 
"make pdf". Only "make.html" is failing so don't get libc.html nor 
libm.html built due to above error. Only if I remove the offending lines 
in targetdep.tex listed above, I can run

makeinfo --split-size=5000000 --split-size=5000000  --html   -I
/home/<my-path>/src/newlib/newlib/libm \
-o libm.htp /home/<my-path>/src/newlib/newlib/libm/libm.texinfo

and it produces libm.htp. However, don't know enough about how 
tex/makeinfo etc works to understand what needs to be fixed (or what I 
may be doing wrong). Had no problems with older texi stuff (4.x) with 
exact same build scripts but new fedora 20 has moved to 5.x. (Several 
other packages failed to build documentation due to 5.x but found 
solutions for them.)

>>
>> Previous to that there are also some warnings for libc:
>>
>>> rm -rf libc.htp
>>> if makeinfo --split-size=5000000 --split-size=5000000  --html   -I
>>> /home/freddie/bleeding-edge-toolchain/src/newlib/newlib/libc \
>>>  -o libc.htp
>>> /home/freddie/bleeding-edge-toolchain/src/newlib/newlib/libc/libc.texinfo;
>>>
>>> \
>>> then \
>>>   rm -rf libc.html; \
>>>   if test ! -d libc.htp && test -d libc; then \
>>>     mv libc libc.html; else mv libc.htp libc.html; fi; \
>>> else \
>>>   if test ! -d libc.htp && test -d libc; then \
>>>     rm -rf libc; else rm -Rf libc.htp libc.html; fi; \
>>>   exit 1; \
>>> fi
>>> stdlib/div.def:1: warning: node next `div' in menu `ecvtbuf' and in
>>> sectioning `ecvt' differ
>>> stdlib/efgcvt.def:1: warning: node next `ecvt' in menu `__env_lock'
>>> and in sectioning `gvcvt' differ
>>> stdlib/efgcvt.def:1: warning: node prev `ecvt' in menu `ecvtbuf' and
>>> in sectioning `div' differ
>>> stdlib/efgcvt.def:60: warning: node next `gvcvt' in menu `exit' and in
>>> sectioning `ecvtbuf' differ
>>> stdlib/efgcvt.def:60: warning: node prev `gvcvt' in menu `__env_lock'
>>> and in sectioning `ecvt' differ
>>> stdlib/ecvtbuf.def:1: warning: node next `ecvtbuf' in menu `ecvt' and
>>> in sectioning `__env_lock' differ
>>> stdlib/ecvtbuf.def:1: warning: node prev `ecvtbuf' in menu `div' and
>>> in sectioning `gvcvt' differ
>>> stdlib/envlock.def:1: warning: node next `__env_lock' in menu `gvcvt'
>>> and in sectioning `exit' differ
>>> stdlib/envlock.def:1: warning: node prev `__env_lock' in menu `ecvt'
>>> and in sectioning `ecvtbuf' differ
>>> stdlib/exit.def:1: warning: node prev `exit' in menu `gvcvt' and in
>>> sectioning `__env_lock' differ
>>> stdlib/mlock.def:1: warning: node next `__malloc_lock' in menu
>>> `mbsrtowcs' and in sectioning `mblen' differ
>>> stdlib/mblen.def:1: warning: node next `mblen' in menu `mbtowc' and in
>>> sectioning `mbsrtowcs' differ
>>> stdlib/mblen.def:1: warning: node prev `mblen' in menu `mbstowcs' and
>>> in sectioning `__malloc_lock' differ
>>> stdlib/mbsnrtowcs.def:1: warning: node prev `mbsrtowcs' in menu
>>> `__malloc_lock' and in sectioning `mblen' differ
>>> stdlib/mbstowcs.def:1: warning: node next `mbstowcs' in menu `mblen'
>>> and in sectioning `mbtowc' differ
>>> stdlib/mbtowc.def:1: warning: node prev `mbtowc' in menu `mblen' and
>>> in sectioning `mbstowcs' differ
>>> ctype/iswalpha.def:1: warning: node next `iswalpha' in menu `iswblank'
>>> and in sectioning `iswcntrl' differ
>>> ctype/iswcntrl.def:1: warning: node next `iswcntrl' in menu `iswdigit'
>>> and in sectioning `iswblank' differ
>>> ctype/iswcntrl.def:1: warning: node prev `iswcntrl' in menu `iswblank'
>>> and in sectioning `iswalpha' differ
>>> ctype/iswblank.def:1: warning: node next `iswblank' in menu `iswcntrl'
>>> and in sectioning `iswdigit' differ
>>> ctype/iswblank.def:1: warning: node prev `iswblank' in menu `iswalpha'
>>> and in sectioning `iswcntrl' differ
>>> ctype/iswdigit.def:1: warning: node prev `iswdigit' in menu `iswcntrl'
>>> and in sectioning `iswblank' differ
>>
>> But these make no harm - libc.html is generated and seems to be correct
>> - it's libm.html that causes trouble.
>>
>> 4\/3!!
>
>



More information about the Newlib mailing list