[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: present but cannot be compiled (Was: OMVS unix configure error)
From: |
Akim Demaille |
Subject: |
Re: present but cannot be compiled (Was: OMVS unix configure error) |
Date: |
Wed, 14 May 2003 10:15:03 +0200 |
User-agent: |
Gnus/5.1001 (Gnus v5.10.1) Emacs/21.3 (gnu/linux) |
Thanks for the bug report!
Unfortunately, the problem comes from the package itself, not from
Autoconf. The configure.ac script needs to be updated. Please, send
all this message (which your output attached) to the bug list (or the
authors) of the package you were trying to configure.
Below two parts of the Autoconf documentation are included: 1. the
documentation of AC_CHECK_HEADER(S), and 2. what's to be done to
upgrade configure.ac.
If you have some knowledge in C compilation, then there is something
more you can do to help: find out what are the prerequisite headers on
your system.
For instance, if the error message is:
sys/socket.h: present but cannot be compiled
sys/socket.h: check for missing prerequisite headers?
sys/socket.h: proceeding with the preprocessor's result
then try to compile the program sample.c:
#include <sys/socket.h>
with `cc -c sample.c'. It will fail. Then try to understand what
other headers are needed. For instance, on Darwin, one needs:
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/socket.h>
to get a successful compilation. Then, send this additional
information to the package maintainers, together with a description of
your machine.
Thanks!
----------------------------------------------------------------------
Generic Header Checks
---------------------
These macros are used to find system header files not covered by the
"particular" test macros. If you need to check the contents of a header
as well as find out whether it is present, you have to write your own
test for it (*note Writing Tests::).
- Macro: AC_CHECK_HEADER (HEADER-FILE, [ACTION-IF-FOUND],
[ACTION-IF-NOT-FOUND], [INCLUDES = `default-includes'])
If the system header file HEADER-FILE is compilable, execute shell
commands ACTION-IF-FOUND, otherwise execute ACTION-IF-NOT-FOUND.
If you just want to define a symbol if the header file is
available, consider using `AC_CHECK_HEADERS' instead.
For compatibility issues with older versions of Autoconf, please
read below.
- Macro: AC_CHECK_HEADERS (HEADER-FILE..., [ACTION-IF-FOUND],
[ACTION-IF-NOT-FOUND], [INCLUDES = `default-includes'])
For each given system header file HEADER-FILE in the
whitespace-separated argument list that exists, define
`HAVE_HEADER-FILE' (in all capitals). If ACTION-IF-FOUND is
given, it is additional shell code to execute when one of the
header files is found. You can give it a value of `break' to
break out of the loop on the first match. If ACTION-IF-NOT-FOUND
is given, it is executed when one of the header files is not found.
For compatibility issues with older versions of Autoconf, please
read below.
Previous versions of Autoconf merely checked whether the header was
accepted by the preprocessor. This was changed because the old test was
inappropriate for typical uses. Headers are typically used to compile,
not merely to preprocess, and the old behavior sometimes accepted
headers that clashed at compile-time. If you need to check whether a
header is preprocessable, you can use `AC_PREPROC_IFELSE' (*note
Running the Preprocessor::).
This scheme, which improves the robustness of the test, also requires
that you make sure that headers that must be included before the
HEADER-FILE be part of the INCLUDES, (*note Default Includes::). If
looking for `bar.h', which requires that `foo.h' be included before if
it exists, we suggest the following scheme:
AC_CHECK_HEADERS([foo.h])
AC_CHECK_HEADERS([bar.h], [], [],
[#if HAVE_FOO_H
# include <foo.h>
# endif
])
----------------------------------------------------------------------
Header Present But Cannot Be Compiled
=====================================
The most important guideline to bear in mind when checking for
features is to mimic as much as possible the intended use.
Unfortunately, old versions of `AC_CHECK_HEADER' and `AC_CHECK_HEADERS'
failed to follow this idea, and called the preprocessor, instead of the
compiler, to check for headers. As a result, incompatibilities between
headers went unnoticed during configuration, and maintainers finally
had to deal with this issue elsewhere.
As of Autoconf 2.56 both checks are performed, and `configure'
complains loudly if the compiler and the preprocessor do not agree.
For the time being the result used is that of the preprocessor, to give
maintainers time to adjust their `configure.ac', but in the near
future, only the compiler will be considered.
Consider the following example:
$ cat number.h
typedef int number;
$ cat pi.h
const number pi = 3;
$ cat configure.ac
AC_INIT
AC_CHECK_HEADERS(pi.h)
$ autoconf -Wall
$ ./configure
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking pi.h usability... no
checking pi.h presence... yes
configure: WARNING: pi.h: present but cannot be compiled
configure: WARNING: pi.h: check for missing prerequisite headers?
configure: WARNING: pi.h: proceeding with the preprocessor's result
configure: WARNING: ## ------------------------------------ ##
configure: WARNING: ## Report this to address@hidden ##
configure: WARNING: ## ------------------------------------ ##
checking for pi.h... yes
The proper way the handle this case is using the fourth argument (*note
Generic Headers::):
$ cat configure.ac
AC_INIT
AC_CHECK_HEADERS(number.h pi.h,,,
[[#if HAVE_NUMBER_H
# include <number.h>
#endif
]])
$ autoconf -Wall
$ ./configure
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for number.h... yes
checking for pi.h... yes
See *Note Particular Headers::, for a list of headers with their
prerequisite.
----------------------------------------------------------------------
Portability of Headers
----------------------
This section tries to collect knowledge about common headers, and the
problems they cause. By definition, this list will always require
additions. Please help us keeping it as complete as possible.
`inttypes.h' vs. `stdint.h'
Paul Eggert notes that: ISO C 1999 says that `inttypes.h' includes
`stdint.h', so there's no need to include `stdint.h' separately in
a standard environment. Many implementations have `inttypes.h'
but not `stdint.h' (e.g., Solaris 7), but I don't know of any
implementation that has `stdint.h' but not `inttypes.h'. Nor do I
know of any free software that includes `stdint.h'; `stdint.h'
seems to be a creation of the committee.
`linux/irda.h'
It requires `linux/types.h' and `sys/socket.h'.
`net/if.h'
On Darwin, this file requires that `sys/socket.h' be included
beforehand. One should run:
AC_CHECK_HEADERS([sys/socket.h])
AC_CHECK_HEADERS([net/if.h], [], [],
[#include <stdio.h>
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# if HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
#if HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
])
`stdint.h'
See above, item `inttypes.h' vs. `stdint.h'.
`stdlib.h'
On many systems (e.g., Darwin), `stdio.h' is a prerequisite.
`sys/socket.h'
On Darwin, `stdlib.h' is a prerequisite.
`X11/extensions/scrnsaver.h'
Using XFree86, this header requires `X11/Xlib.h', which is probably
so required that you might not even consider looking for it.
AC_CHECK_HEADERS([X11/extensions/scrnsaver.h], [], [],
[[#include <X11/Xlib.h>
]])
./configure --prefix=/usr/local --with-png=/usr/local
mvs with gnu make
Why I sent this email
checking for FT_Init_FreeType in -lfreetype...
no
configure: WARNING: not found - disabling freetype
support
checking freetype/freetype.h usability...
yes
checking freetype/freetype.h presence...
no
configure: WARNING: freetype/freetype.h: accepted by the compiler,
rejected by the
preprocessor!
configure: WARNING: freetype/freetype.h: proceeding with the
preprocessor's
result
configure: WARNING: ## ------------------------------------
##
configure: WARNING: ## Report this to address@hidden
##
configure: WARNING: ## ------------------------------------
##
checking for freetype/freetype.h...
no
checking for jpeg_set_defaults in -ljpeg...
no
checking for XpmReadFileToXpmImage in -lXpm... no
Full list of log
trap: ./configure 1311: FSUM7327 signal number 13 not conventional
checking for a BSD-compatible install... config/install-sh -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... ac_maketemp="": eval: ./configure
no
checking for gcc... no
checking for cc... cc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... no
checking whether cc accepts -g... yes
checking for cc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of cc... none
checking for cc option to accept ANSI C... none needed
checking for a BSD-compatible install... config/install-sh -c
checking build system type... i370-ibm-openedition
checking host system type... i370-ibm-openedition
checking for non-GNU ld... /usr/local/bin/ld
checking if the linker (/usr/local/bin/ld) is GNU ld... no
checking for /usr/local/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /bin/nm -p
checking for a sed that does not truncate output... FSUM9199 input line
/bin/sed
checking whether ln -s works... yes
checking how to recognise dependent libraries... unknown
checking command to parse /bin/nm -p output... failed
checking how to run the C preprocessor... cc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... no
configure: WARNING: dlfcn.h: accepted by the compiler, rejected by the p
configure: WARNING: dlfcn.h: proceeding with the preprocessor's result
configure: WARNING: ## ------------------------------------ ##
configure: WARNING: ## Report this to address@hidden ##
configure: WARNING: ## ------------------------------------ ##
checking for dlfcn.h... no
checking for ranlib... :
checking for strip... strip
checking for objdir... .libs
checking for cc option to produce PIC... none
checking if cc static flag works... yes
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.lo... yes
checking whether the linker (/usr/local/bin/ld) supports shared librarie
checking how to hardcode library paths into programs... unsupported
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... no
checking if libtool supports shared libraries... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes
creating libtool
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) no
checking for ranlib... (cached) :
checking for X... libraries /usr/lib, headers
checking for ANSI C header files... (cached) yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for non-GNU ld... /usr/local/bin/ld
checking if the linker (/usr/local/bin/ld) is GNU ld... no
checking for shared library run path origin... done
checking for iconv... yes
checking for iconv declaration...
extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking whether iconv.h defines iconv_t... yes
checking for sin... yes
checking for deflate in -lz... no
configure: WARNING: zlib is required - see http://www.gzip.org/zlib/
checking for libpng-config... no
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_create_read_struct in -lpng... no
configure: WARNING: libpng is required - see http://www.libpng.org/pub/p
checking for freetype-config... no
checking for FT_Init_FreeType in -lfreetype... no
configure: WARNING: not found - disabling freetype support
checking freetype/freetype.h usability... yes
checking freetype/freetype.h presence... no
configure: WARNING: freetype/freetype.h: accepted by the compiler, rejec
configure: WARNING: freetype/freetype.h: proceeding with the preprocesso
configure: WARNING: ## ------------------------------------ ##
configure: WARNING: ## Report this to address@hidden ##
configure: WARNING: ## ------------------------------------ ##
checking for freetype/freetype.h... no
checking for jpeg_set_defaults in -ljpeg... no
checking for XpmReadFileToXpmImage in -lXpm... no
** Configuration summary for gd 2.0.12:
Support for PNG library: no
Support for JPEG library: no
Support for Freetype 2.x library: no
Support for Xpm library: no
configure: creating ./config.status
trap: ./config.status 428: FSUM7327 signal number 13 not conventional
config.status: creating Makefile
config.status: creating config/Makefile
config.status: creating config/gdlib-config
config.status: creating test/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
- OMVS unix configure error, Dan Roller, 2003/05/07
- Re: present but cannot be compiled (Was: OMVS unix configure error),
Akim Demaille <=