texinfo-4.6.92 build feedback
"Nelson H. F. Beebe" <[email protected]> Thu, 18 Mar 2004 18:38:24 -0700 (MST)
| Newsgroups | gmane.comp.tex.texinfo.pretest |
|---|---|
| Message-ID | <[email protected]> |
I launched build attempts of texinfo-4.6.92 in 71 C/C++ compilation
environments on about 20 flavors of Unix. Of the 71 attempts, 30
reported "All 20 tests passed".
Examination of the build logs show that the code is not yet fully
conformant to 1989 ISO Standard C, and thus, cannot be compiled by C++
compilers. I'm therefore ignoring all of the build failures with C++.
There are some systematic problems that foiled many builds:
------------------------------------------------------------------------
info/signals.c fails to compile on several systems because
static void
mask_termsig (sigset_t *set)
{ ... }
is seen by the compiler when sigset_t is not defined.
------------------------------------------------------------------------
info/session.c fails to compile on at least one system with this
error:
session.c: In function `incremental_search':
session.c:4122: `strncasecmp' undeclared (first use in this function)
That is a nonstandard function; don't use it, or provide an
alternative under a different name. The str prefix is reserved in the
ISO C Standards for future library directions, so avoid it.
------------------------------------------------------------------------
On MacOS 10.3.2, configure failed with this error:
configure:6111: checking build system type
configure:6124: error: /bin/sh ./config.sub -apple-darwin7.2.0 failed
...
ac_cv_build='config.sub: invalid option -apple-darwin7.2.0
The config.{sub,guess} files are the latest available. The problem
is that the argument should be powerpc-apple-darwin7.2.0, not
-apple-darwin7.2.0. Evidently, powerpc is not being set properly.
I then tracked down the problem: after I installed the latest
coreutils-5.2.1 earlier this week, I forgot to replace
/usr/local/bin/uname with a link to /usr/bin/uname. I've been through
this before with the coreutils developers, and they don't see an
acceptable way to solve this problem with the -p option:
% /usr/bin/uname -p
powerpc
% /usr/local/bin/uname -p
unknown
You may get build failure reports from other MacOS 10 sites; advise
them to do
rm $prefix/bin/uname && ln -s /usr/bin/uname $prefix/bin/uname
where prefix is usually /usr/local, but might not be at theirs.
One I made that symlink and relaunched the builds, both succeeded and
reported that all 20 tests passed.
------------------------------------------------------------------------
Several systems got this failure:
"html.c", line 498: undefined symbol: start_or_end
"html.c", line 526: undefined symbol: tag
The problem is inconsistent argument lists in two definitions of the
function:
#if defined (VA_FPRINTF) && __STDC__
insert_html_tag_with_attribute (int start_or_end, char *tag, char *format, ...)
#else
insert_html_tag_with_attribute (elt, arg, format, va_alist)
int arg;
char *elt;
char *format;
va_dcl
#endif
The code body lacks similar protection in its use of start_or_end.
------------------------------------------------------------------------
Linking on Compaq/DEC Alpha OSF/1 fails because snprintf is not
available. It is the ONLY one of my 20+ Unix flavors that doesn't
have it, so a year ago, I tracked down a portable version at
http://www.ijs.si/software/snprintf/
and build a private library for snprintf on that system. A restart
with
make LIBS='-L/usr/local/lib -lsnprintf -lc'
got a successful build, and all 20 tests passed.
However, I had to add -lc to the LIBS variable, because it incorrectly
appears in the link after -lc:
cc -std1 -ieee -I/usr/local/include -Wl,-rpath,/usr/local/lib \
-Wl,-oldstyle_liblookup -L/usr/local/lib -o makeinfo cmds.o defun.o \
files.o float.o footnote.o html.o index.o insertion.o lang.o macro.o \
makeinfo.o multi.o node.o sectioning.o toc.o xml.o xref.o \
../lib/libtxi.a /usr/local/lib/libintl.so /usr/local/lib/libiconv.so \
-lc -rpath /usr/local/lib -L/usr/local/lib -lsnprintf -L/usr/lib -lc
A similar build with gcc failed at link time for both snprintf and
bcopy. I don't see where the bcopy reference is coming from; there is
only a comment in one Texinfo source file about it, and it appears in
none of the *.a or *.o files in the build tree, or in the
/usr/local/lib/libgccsnprintf.a library. I'd say forget this
particular build failure.
------------------------------------------------------------------------
On HP/Compaq/DEC Alpha OSF/1 5.1, compilation with native c89
failed in info/session.c with a fatal internal compiler assertion
error. A restart with -O added to CFLAGS worked around the problem.
and all 20 tests passed.
------------------------------------------------------------------------
Compilation with the Portland Group compiler, pgcc-5.1-3 (released in
January 2004) failed at info/m-x.c because this statement
(*InfoFunction(command)) (active_window, count, 0);
expands to
( * ( ( command ) ? ( command ) -> func : ( ( void * ) 0 ) ) ) ( active_window , count , 0 ) ;
and the compiler rejects it with
PGC-S-0098-Expression of type void * cannot be dereferenced (m-x.c: 151)
PGC-S-0056-Attempt to call non-function (m-x.c: 151)
------------------------------------------------------------------------
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: [email protected] -
- 155 S 1400 E RM 233 [email protected] [email protected] -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe -
-------------------------------------------------------------------------------
_______________________________________________
Texinfo home page: http://www.gnu.org/software/texinfo/
[email protected]
http://ff0.org/mailman/listinfo/texinfo-pretest