Re: (PR#7257) Re: [Rd] bzip2 directory won't build on OSF1 due to C99 code and -std1 option

From: Michael Hoffman <hoffman+R_at_ebi.ac.uk>
Date: Fri 01 Oct 2004 - 23:24:09 EST

On Fri, 1 Oct 2004, Prof Brian Ripley wrote:

> What `C99 code' is that?

Specifically it uses the inline keyword. I do not believe that is supported by a strict C89 compiler.

> Please don't expect us to guess what you have in mind, for we
> haven't a clue.

Please accept my apologies for an inadequate bug report. This might make things easier to understand:

mh5@ecs4d /ecs4/scratch2/ensembl/mh5/sandbox/R-2.0.0/src/extra/bzip2 $ make
making blocksort.d from blocksort.c
making bzlib.d from bzlib.c
making compress.d from compress.c
making crctable.d from crctable.c
making decompress.d from decompress.c
making huffman.d from huffman.c
making randtable.d from randtable.c

gmake[1]: Entering directory `/ecs4/scratch2/ensembl/mh5/sandbox/R-2.0.0/src/extra/bzip2'
gmake[1]: `Makedeps' is up to date.
gmake[1]: Leaving directory `/ecs4/scratch2/ensembl/mh5/sandbox/R-2.0.0/src/extra/bzip2'
gmake[1]: Entering directory `/ecs4/scratch2/ensembl/mh5/sandbox/R-2.0.0/src/extra/bzip2'
cc -I. -I. -I../../../src/include -I../../../src/include -I/usr/local/include -DHAVE_CONFIG_H -std1 -ieee_with_inexact -fast -arch ev6 -c blocksort.c -o blocksort.o cc: Error: blocksort.c, line 79: Missing ";". (nosemi) void fallbackSimpleSort ( UInt32* fmap,
^
cc: Info: blocksort.c, line 78: "inline" is a keyword in the C99 revision of the C standard. Using it as an identifier will prevent your program from conforming to that standard. (futurekeywd2) R_INLINE
^
cc: Error: blocksort.c, line 395: Missing ";". (nosemi) Bool BZmainGtU ( UInt32 i1,
^
cc: Error: blocksort.c, line 631: Missing ";". (nosemi) UChar mmed3 ( UChar a, UChar b, UChar c ) ^
gmake[1]: *** [blocksort.o] Error 1
gmake[1]: Leaving directory `/ecs4/scratch2/ensembl/mh5/sandbox/R-2.0.0/src/extra/bzip2' gmake: *** [R] Error 2

Configure output at the end of the message.

> AFAIK, R's configure does not know about OSF1 v5.x, so it is quite likely
> that the assumptions (which are inside
>
> case "${host_cpu}" in
> alpha*)
>
> ) are wrong for that untested platform. The code in the bzip2 directory
> has not been changed for a very long time, except for possibly allowing
> inlining (and for which there is a configure test).

Well I'm not going to posit any hypotheses or note that inlining won't work on this platform if the -std1 option is uesd. ;-)

> Note that feedback 3 days before release is too late for
> configuration changes to be made.

I'll just have to live with that :-)

-- 
Michael Hoffman <hoffman@ebi.ac.uk>
European Bioinformatics Institute

====
Output of configure --prefix=$HOME/arch/$ARCH/opt/R > configure.out 2>&1

checking for a BSD-compatible install... tools/install-sh -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal-1.4... missing
checking for working autoconf... found
checking for working automake-1.4... missing
checking for working autoheader... found
checking for working makeinfo... missing
checking build system type... alphaev68-dec-osf5.1b
checking host system type... alphaev68-dec-osf5.1b
loading site script './config.site'
loading build specific script './config.site'
checking for pwd... /usr/bin/pwd
checking whether builddir is srcdir... yes
checking for gawk... nawk
checking for egrep... grep -E
checking whether ln -s works... yes
checking for ranlib... ranlib
checking for bison... bison -y
checking for ar... ar
checking for javac... /nfs/acari/mh5/bin/javac
checking for sed... /usr/bin/sed
checking for less... /usr/local/bin/less
checking for perl... /usr/local/ensembl/bin/perl
checking whether perl version is at least 5.004... yes
checking for dvips... no
checking for tex... no
checking for latex... no
configure: WARNING: you cannot build DVI versions of the R manuals
checking for makeindex... no
checking for pdftex... no
checking for pdflatex... no
configure: WARNING: you cannot build PDF versions of the R manuals
checking for /ecs4/scratch2/ensembl/mh5/sandbox/R-2.0.0/tools/missing... no
checking for makeinfo... no
checking for makeinfo... no
checking for unzip... /usr/local/bin/unzip
checking for zip... /usr/local/bin/zip
checking for gzip... /usr/bin/gzip
checking for netscape... /usr/local/bin/netscape
using default browser ... /usr/local/bin/netscape
checking for acroread... /usr/local/bin/acroread
checking for gcc... cc
checking for C compiler default output file name... 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 how to run the C preprocessor... cc -E
checking how to run the C preprocessor... cc -E
defining F77 to be f77
checking whether we are using the GNU Fortran 77 compiler... no
checking whether f77 accepts -g... yes
checking whether we are using the GNU C++ compiler... no
checking whether cxx accepts -g... yes
checking how to run the C++ preprocessor... cxx -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for non-GNU ld... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... no
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/local/bin/nm -B
checking how to recognise dependent libraries... pass_all
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... no
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 16384
checking command to parse /usr/local/bin/nm -B output from cc object... ok
checking for objdir... .libs
checking for ranlib... (cached) ranlib
checking for strip... strip
checking if cc static flag  works... yes
checking for cc option to produce PIC... 
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... osf5.1b ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking whether the cxx linker (/usr/bin/ld) supports shared libraries... yes
checking for cxx option to produce PIC... 
checking if cxx supports -c -o file.o... yes
checking whether the cxx linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... osf5.1b ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for f77 option to produce PIC... 
checking if f77 supports -c -o file.o... yes
checking whether the f77 linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... osf5.1b ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
configure: WARNING: you cannot build info versions of the R manuals
checking for cos in -lm... yes
checking for sin in -lm... yes
checking for main in -lncurses... yes
checking for dlopen in -ldl... no
checking for rl_callback_read_char in -lreadline... yes
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for sys/wait.h that is POSIX.1 compatible... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking dl.h usability... no
checking dl.h presence... no
checking for dl.h... no
checking for dlfcn.h... (cached) yes
checking elf.h usability... no
checking elf.h presence... no
checking for elf.h... no
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking floatingpoint.h usability... no
checking floatingpoint.h presence... no
checking for floatingpoint.h... no
checking fpu_control.h usability... no
checking fpu_control.h presence... no
checking for fpu_control.h... no
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking ieee754.h usability... no
checking ieee754.h presence... no
checking for ieee754.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking readline/history.h usability... yes
checking readline/history.h presence... yes
checking for readline/history.h... yes
checking readline/readline.h usability... yes
checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking for strings.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for sys/stat.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking for unistd.h... (cached) yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for string.h... (cached) yes
checking whether setjmp.h is POSIX.1 compatible... yes
checking for GNU C library with version >= 2... no
checking return type of signal handlers... void
checking for pid_t... yes
checking for size_t... yes
checking whether SIZE_MAX is declared... no
checking for blkcnt_t... no
checking for type of socket length... size_t *
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 8
checking for long long... yes
checking size of long long... 8
checking for long double... yes
checking size of long double... 16
checking whether we can compute C Make dependencies... yes, using cpp -M
checking whether cc supports -c -o FILE.lo... yes
checking how to get verbose linking output from f77... -v
checking for Fortran libraries of f77...  -L/usr/local/lib -lUfor -lfor -lFutil -lm -lots -lm_c32 -lmld -lexc
checking for dummy main to link with Fortran libraries... none
checking for Fortran name-mangling scheme... lower case, underscore, no extra underscore
checking whether f77 appends underscores to external names... yes
checking whether mixed C/Fortran code can be run... yes
checking whether f77 and cc agree on int and double... yes
checking whether f77 and cc agree on double complex... yes
checking whether f77 supports -c -o FILE.lo... yes
checking whether cxx accepts -M for generating dependencies... yes
checking whether cxx supports -c -o FILE.lo... yes
checking whether cc accepts -std1... yes
checking whether cc accepts -ieee_with_inexact... yes
checking whether f77 accepts -fpe3... yes
checking whether cxx accepts -ieee... yes
checking for xmkmf... /usr/bin/X11/xmkmf
configure: WARNING: I could not determine SHLIB_CXXLDFLAGS
checking for off_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for access... yes
checking for chdir... yes
checking for expm1... yes
checking for fcntl... yes
checking for finite... yes
checking for fseeko... yes
checking for ftello... yes
checking for ftruncate... yes
checking for getcwd... yes
checking for getgrgid... yes
checking for getpwuid... yes
checking for getuid... yes
checking for hypot... yes
checking for isascii... yes
checking for log1p... yes
checking for matherr... no
checking for mkfifo... yes
checking for popen... yes
checking for putenv... yes
checking for rint... yes
checking for setenv... yes
checking for strcoll... yes
checking for stat... yes
checking for strptime... yes
checking for symlink... yes
checking for system... yes
checking for times... yes
checking for unsetenv... yes
checking whether isfinite is declared... no
checking whether isnan is declared... yes
checking for finite... (cached) yes
checking for isnan... yes
checking whether isfinite is declared... (cached) no
checking whether isnan is declared... (cached) yes
checking whether you have IEEE 754 floating-point arithmetic... yes
checking for nl_langinfo and CODESET... yes
checking for KeySym... yes
checking for acosh... yes
checking for asinh... yes
checking for atanh... yes
checking for snprintf... yes
checking for strdup... yes
checking for strncasecmp... yes
checking for vsnprintf... yes
checking whether acosh is declared... yes
checking whether asinh is declared... yes
checking whether atanh is declared... yes
checking whether snprintf is declared... yes
checking whether strdup is declared... yes
checking whether strncasecmp is declared... yes
checking whether vsnprintf is declared... yes
checking for library containing connect... none required
checking for library containing gethostbyname... none required
checking for library containing xdr_string... none required
checking for __setfpucw... no
checking for working calloc... no
checking for working finite... no
checking for working log... no
checking for working log1p... yes
checking for working strptime... yes
checking whether ftell works correctly on files opened for append... yes
checking for sgemm_... no
checking for ATL_xerbla in -latlas... no
checking for sgemm_ in -lblas... no
checking for sgemm_ in -lsunperf... no
checking for sgemm_ in -lblas... (cached) no
checking for sgemm_ in -lblas... (cached) no
checking for X... libraries , headers 
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for tclConfig.sh... no
checking for tclConfig.sh in library (sub)directories... /usr/local/lib/tclConfig.sh
checking for tkConfig.sh... no
checking for tkConfig.sh in library (sub)directories... no
checking /usr/local/include/tcl8.4/generic/tcl.h usability... no
checking /usr/local/include/tcl8.4/generic/tcl.h presence... no
checking for /usr/local/include/tcl8.4/generic/tcl.h... no
checking /usr/local/include/tcl8.4/tcl.h usability... no
checking /usr/local/include/tcl8.4/tcl.h presence... no
checking for /usr/local/include/tcl8.4/tcl.h... no
checking /usr/local/include/tcl.h usability... yes
checking /usr/local/include/tcl.h presence... yes
checking for /usr/local/include/tcl.h... yes
checking for tk.h... yes
checking for BSD networking... yes
checking if jpeglib version >= 6b... yes
checking for jpeg_destroy_compress in -ljpeg... yes
checking for main in -lz... yes
checking if libpng version >= 1.0.5... yes
checking for png_create_write_struct in -lpng... yes
checking rpc/types.h usability... yes
checking rpc/types.h presence... yes
checking for rpc/types.h... yes
checking for rpc/xdr.h... yes
checking for XDR support... yes
checking whether zlib support needs to be compiled... yes
checking mmap support for zlib... yes
checking whether bzip2 support needs to be compiled... yes
checking whether PCRE support needs to be compiled... yes
checking whether leap seconds are treated according to POSIX... yes
checking for setitimer... yes
checking for lpr... lpr
checking for paperconf... false
checking for recommended packages... yes
configure: creating ./config.status
config.status: creating Makeconf
config.status: creating Makefile
config.status: creating afm/Makefile
config.status: creating doc/Makefile
config.status: creating doc/html/Makefile
config.status: creating doc/html/search/Makefile
config.status: creating doc/manual/Makefile
config.status: creating etc/Makefile
config.status: creating etc/Makeconf
config.status: creating etc/Renviron
config.status: creating m4/Makefile
config.status: creating share/Makefile
config.status: creating src/Makefile
config.status: creating src/appl/Makefile
config.status: creating src/extra/Makefile
config.status: creating src/extra/bzip2/Makefile
config.status: creating src/extra/pcre/Makefile
config.status: creating src/extra/xdr/Makefile
config.status: creating src/extra/zlib/Makefile
config.status: creating src/include/Makefile
config.status: creating src/include/Rmath.h0
config.status: creating src/include/R_ext/Makefile
config.status: creating src/library/Recommended/Makefile
config.status: creating src/library/Makefile
config.status: creating src/library/base/DESCRIPTION
config.status: creating src/library/base/Makefile
config.status: creating src/library/datasets/DESCRIPTION
config.status: creating src/library/datasets/Makefile
config.status: creating src/library/graphics/DESCRIPTION
config.status: creating src/library/graphics/Makefile
config.status: creating src/library/grDevices/DESCRIPTION
config.status: creating src/library/grDevices/Makefile
config.status: creating src/library/grid/DESCRIPTION
config.status: creating src/library/grid/Makefile
config.status: creating src/library/grid/src/Makefile
config.status: creating src/library/methods/DESCRIPTION
config.status: creating src/library/methods/Makefile
config.status: creating src/library/methods/src/Makefile
config.status: creating src/library/profile/Makefile
config.status: creating src/library/stats/DESCRIPTION
config.status: creating src/library/stats/Makefile
config.status: creating src/library/stats/src/Makefile
config.status: creating src/library/stats4/DESCRIPTION
config.status: creating src/library/stats4/Makefile
config.status: creating src/library/splines/DESCRIPTION
config.status: creating src/library/splines/Makefile
config.status: creating src/library/splines/src/Makefile
config.status: creating src/library/tcltk/DESCRIPTION
config.status: creating src/library/tcltk/Makefile
config.status: creating src/library/tcltk/src/Makefile
config.status: creating src/library/tools/DESCRIPTION
config.status: creating src/library/tools/Makefile
config.status: creating src/library/tools/src/Makefile
config.status: creating src/library/utils/DESCRIPTION
config.status: creating src/library/utils/Makefile
config.status: creating src/main/Makefile
config.status: creating src/modules/Makefile
config.status: creating src/modules/X11/Makefile
config.status: creating src/modules/aqua/Makefile
config.status: creating src/modules/aqua/Info.plist
config.status: creating src/modules/aqua/Contents/Info.plist
config.status: creating src/modules/gnome/Makefile
config.status: creating src/modules/internet/Makefile
config.status: creating src/modules/lapack/Makefile
config.status: creating src/modules/vfonts/Makefile
config.status: creating src/nmath/Makefile
config.status: creating src/nmath/standalone/Makefile
config.status: creating src/scripts/Makefile
config.status: creating src/scripts/COMPILE
config.status: creating src/scripts/INSTALL
config.status: creating src/scripts/REMOVE
config.status: creating src/scripts/R.sh
config.status: creating src/scripts/Rdconv
config.status: creating src/scripts/Rprof
config.status: creating src/scripts/SHLIB
config.status: creating src/scripts/Sd2Rd
config.status: creating src/scripts/build
config.status: creating src/scripts/check
config.status: creating src/scripts/f77
config.status: creating src/unix/Makefile
config.status: creating tests/Makefile
config.status: creating tests/Embedding/Makefile
config.status: creating tests/Examples/Makefile
config.status: creating tests/Native/Makefile
config.status: creating tools/Makefile
config.status: creating src/include/config.h
config.status: src/include/config.h is unchanged
config.status: executing stamp-h commands

R is now configured for alphaev68-dec-osf5.1b

   Source directory:          .
   Installation directory:    /nfs/acari/mh5/arch/OSF1/opt/R

   C compiler:                cc -std1 -ieee_with_inexact -fast -arch ev6
   C++ compiler:              cxx -ieee -g
   Fortran compiler:          f77 -fpe3 -g

   Interfaces supported:      X11
   External libraries:        readline
   Additional capabilities:   PNG, JPEG
   Options enabled:           R profiling

   Recommended packages:      yes

configure: WARNING: I could not determine SHLIB_CXXLDFLAGS
configure: WARNING: you cannot build DVI versions of the R manuals
configure: WARNING: you cannot build info versions of the R manuals
configure: WARNING: you cannot build PDF versions of the R manuals

______________________________________________
R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Fri Oct 01 23:44:58 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 09:00:26 EST