Re: [Gc] "include/private/gcconfig.h", line 604: #error: "The collector has not been ported to this machine/OS combination."

Bruce Hoult <[email protected]> Tue, 22 Nov 2016 00:22:43 +0300
Newsgroups gmane.comp.programming.garbage-collection.boehmgc
Message-ID <CAMU+EkwU=MRUXJWShNtKQgaX+TguCV+z1HtuPfSGarckq=D6bQ@mail.gmail.com>
--===============1225158712==
Content-Type: multipart/alternative; boundary=089e01493cf0a2900d0541d641d1

--089e01493cf0a2900d0541d641d1
Content-Type: text/plain; charset=UTF-8

You might want to put some #error lines temporarily into here (in
gcconfig.h) to see what is failing to detect your machine. And/or just run
the preprocessor and examine the ouput.

# if defined(sun) && (defined(sparc) || defined(__sparc))
#   define SPARC
    /* Test for SunOS 5.x */
#     include <errno.h>
#     define SOLARIS
#   define mach_type_known
# endif
# if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) \
     && !defined(__OpenBSD__) && !defined(__NetBSD__) \
     && !defined(__FreeBSD__) && !defined(__DragonFly__)
#   define SPARC
#   define DRSNX
#   define mach_type_known
# endif


On Mon, Nov 21, 2016 at 4:56 PM, Dennis Clarke <[email protected]>
wrote:

>
> A somewhat heartbreaking message seen on my Solaris 10 SPARC server
> wherein I use the very strict Oracle Studio 12.4 compiler tools with
> strict C99 compliance CFLAGS :
>
> dclarke@mimas_$ /usr/bin/time -p /usr/local/bin/gmake
> gmake[1]: Entering directory `/usr/local/build/garbage_coll
> ector/gc-7.6.0_SunOS5.10_sparcv9.001'
> source='allchblk.c' object='allchblk.lo' libtool=yes \
> DEPDIR=.deps depmode=dashXmstdout /usr/local/bin/bash ./depcomp \
> /usr/local/bin/bash ./libtool  --tag=CC   --mode=compile
> /opt/solarisstudio12.4/bin/c99 -DHAVE_CONFIG_H   -I./include -I./include
> -I./libatomic_ops/src -I./libatomic_ops/src -D_TS_ERRNO
> -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE   -m64 -xtarget=ultra2
> -xarch=sparcvis -xchip=ultra2 -xcache=generic -errwarn=%none -errhdr=%user
> -erroff=%none -errtags=yes -errfmt=error -errshort=full -xstrconst -xildoff
> -xmemalign=8s -xnolibmil -Xc -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g
> -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1
> -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
> -D_XOPEN_SOURCE=600 -c -o allchblk.lo allchblk.c
> libtool: compile:  /opt/solarisstudio12.4/bin/c99 -DHAVE_CONFIG_H
> -I./include -I./include -I./libatomic_ops/src -I./libatomic_ops/src
> -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -m64
> -xtarget=ultra2 -xarch=sparcvis -xchip=ultra2 -xcache=generic
> -errwarn=%none -errhdr=%user -erroff=%none -errtags=yes -errfmt=error
> -errshort=full -xstrconst -xildoff -xmemalign=8s -xnolibmil -Xc
> -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy
> -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -D_TS_ERRNO
> -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=600 -c
> allchblk.c  -KPIC -DPIC -o .libs/allchblk.o
> "include/private/gcconfig.h", line 604: #error: "The collector has not
> been ported to this machine/OS combination."
> c99: acomp failed for allchblk.c
> gmake[1]: *** [allchblk.lo] Error 1
> gmake[1]: Leaving directory `/usr/local/build/garbage_coll
> ector/gc-7.6.0_SunOS5.10_sparcv9.001'
> gmake: *** [all-recursive] Error 1
>
> real 7.35
> user 0.00
> sys 0.00
>
>
> This could just be because I start the process using C99 compliance
> mode and a collection of restrictive and strict CFLAGS with a debug
> compile such that I can single step along later.
>
> My CFLAGS looks like this :
>
> dclarke@mimas_$ echo $CFLAGS
> -m64 -xtarget=ultra2 -xarch=sparcvis -xchip=ultra2 -xcache=generic
> -errwarn=%none -errhdr=%user -erroff=%none -errtags=yes -errfmt=error
> -errshort=full -xstrconst -xildoff -xmemalign=8s -xnolibmil -Xc
> -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy
> -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -D_TS_ERRNO
> -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=600
>
>
> Note the option -Xc and -D_XOPEN_SOURCE=600 there. Those two alone are
> usually enough to catch every possible variation that strays away from
> C99 and SUSv3.  Enitely too pedantic I know but it is a very good test
> to do on just about any open source code.
>
> Here is what my configure line and output looks like :
>
>
> dclarke@mimas_$ ./configure --disable-silent-rules \
> > --enable-dependency-tracking --enable-threads=posix \
> > --enable-cplusplus --disable-java-finalization \
> > --enable-large-config --enable-handle-fork \
> > --with-libatomic-ops=check
>
>
> Note that I have libatomic_ops-7.4.4 extracted and in a sub-directory
> called libatomic_ops thus :
>
> dclarke@mimas_$ ln -s ./libatomic_ops-7.4.4 ./libatomic_ops
>
> So configure runs fine and outputs this :
>
> checking build system type... sparc-sun-solaris2.10
> checking host system type... sparc-sun-solaris2.10
> checking target system type... sparc-sun-solaris2.10
> checking GC version numbers... major=7 minor=6                 micro=0
> checking for a BSD-compatible install... ./install-sh -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... ./install-sh -c -d
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether make supports nested variables... yes
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking for style of include used by make... GNU
> checking for gcc... /opt/solarisstudio12.4/bin/c99
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... no
> checking whether /opt/solarisstudio12.4/bin/c99 accepts -g... yes
> checking for /opt/solarisstudio12.4/bin/c99 option to accept ISO C89...
> none needed
> checking whether /opt/solarisstudio12.4/bin/c99 understands -c and -o
> together... yes
> checking dependency style of /opt/solarisstudio12.4/bin/c99...
> dashXmstdout
> checking whether we are using the GNU C++ compiler... no
> checking whether /opt/solarisstudio12.4/bin/CC accepts -g... yes
> checking dependency style of /opt/solarisstudio12.4/bin/CC... dashXmstdout
> checking dependency style of /opt/solarisstudio12.4/bin/c99...
> dashXmstdout
> checking how to print strings... printf
> checking for a sed that does not truncate output... /usr/local/bin/sed
> checking for grep that handles long lines and -e... /usr/local/bin/grep
> checking for egrep... /usr/local/bin/grep -E
> checking for fgrep... /usr/local/bin/grep -F
> checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld
> checking if the linker (/usr/ccs/bin/sparcv9/ld) is GNU ld... no
> checking for BSD- or MS-compatible name lister (nm)... /usr/xpg4/bin/nm -p
> checking the name lister (/usr/xpg4/bin/nm -p) interface... BSD nm
> checking whether ln -s works... yes
> checking the maximum length of command line arguments... 786240
> checking how to convert sparc-sun-solaris2.10 file names to
> sparc-sun-solaris2.10 format... func_convert_file_noop
> checking how to convert sparc-sun-solaris2.10 file names to toolchain
> format... func_convert_file_noop
> checking for /usr/ccs/bin/sparcv9/ld option to reload object files... -r
> checking for objdump... no
> checking how to recognize dependent libraries... pass_all
> checking for dlltool... no
> checking how to associate runtime and link libraries... printf %s\n
> checking for archiver @FILE support... no
> checking for strip... strip
> checking for ranlib... ranlib
> checking command to parse /usr/xpg4/bin/nm -p output from
> /opt/solarisstudio12.4/bin/c99 object... ok
> checking for sysroot... no
> checking for a working dd... /usr/bin/dd
> checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
> checking for mt... mt
> checking if mt is a manifest tool... no
> checking how to run the C preprocessor... /opt/solarisstudio12.4/bin/c99 -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 for dlfcn.h... yes
> checking for objdir... .libs
> checking for /opt/solarisstudio12.4/bin/c99 option to produce PIC... -KPIC
> -DPIC
> checking if /opt/solarisstudio12.4/bin/c99 PIC flag -KPIC -DPIC works...
> yes
> checking if /opt/solarisstudio12.4/bin/c99 static flag -Bstatic works...
> yes
> checking if /opt/solarisstudio12.4/bin/c99 supports -c -o file.o... yes
> checking if /opt/solarisstudio12.4/bin/c99 supports -c -o file.o...
> (cached) yes
> checking whether the /opt/solarisstudio12.4/bin/c99 linker
> (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
> checking dynamic linker characteristics... solaris2.10 ld.so
> checking how to hardcode library paths into programs... immediate
> checking whether stripping libraries is possible... no
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking how to run the C++ preprocessor... /opt/solarisstudio12.4/bin/CC
> -E
> checking whether the /opt/solarisstudio12.4/bin/CC linker
> (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
> checking for /opt/solarisstudio12.4/bin/CC option to produce PIC... -KPIC
> -DPIC
> checking if /opt/solarisstudio12.4/bin/CC PIC flag -KPIC -DPIC works... yes
> checking if /opt/solarisstudio12.4/bin/CC static flag -Bstatic works... yes
> checking if /opt/solarisstudio12.4/bin/CC supports -c -o file.o... yes
> checking if /opt/solarisstudio12.4/bin/CC supports -c -o file.o...
> (cached) yes
> checking whether the /opt/solarisstudio12.4/bin/CC linker
> (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
> checking dynamic linker characteristics... solaris2.10 ld.so
> checking how to hardcode library paths into programs... immediate
> checking for inline... inline
> checking for pthread_self in -lpthread... yes
> c99: Warning: Option -nt-multi-os-directory passed to ld, if ld is
> invoked, ignored otherwise
> usage: c99 [ options ] files.  Use 'c99 -flags' for details
> checking for xlc... no
> checking for dlopen in -ldl... no
> checking execinfo.h usability... no
> checking execinfo.h presence... no
> checking for execinfo.h... no
> checking whether to build shared libraries... yes
> checking which machine-dependent code should be used... sparc_mach_dep.lo
> checking whether Solaris gcc optimization fix is necessary... no
> checking for dladdr... no
> checking sys/dg_sys_info.h usability... no
> checking sys/dg_sys_info.h presence... no
> checking for sys/dg_sys_info.h... no
> checking for pkg-config... /usr/bin/pkg-config
> checking pkg-config is at least version 0.9.0... yes
> checking for ATOMIC_OPS... no
> checking which libatomic_ops to use... internal
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating bdw-gc.pc
> config.status: creating include/config.h
> config.status: executing depfiles commands
> config.status: executing libtool commands
> config.status: executing default commands
> === configuring in libatomic_ops (/usr/local/build/garbage_coll
> ector/gc-7.6.0_SunOS5.10_sparcv9.001/libatomic_ops)
> configure: running /usr/local/bin/bash ./configure
> --disable-option-checking '--prefix=/usr/local' '--disable-silent-rules'
> '--enable-dependency-tracking' '--enable-threads=posix'
> '--enable-cplusplus' '--disable-java-finalization' '--enable-large-config'
> '--enable-handle-fork' '--with-libatomic-ops=check'
> 'CC=/opt/solarisstudio12.4/bin/c99' 'CFLAGS=-m64 -xtarget=ultra2
> -xarch=sparcvis -xchip=ultra2 -xcache=generic -errwarn=%none -errhdr=%user
> -erroff=%none -errtags=yes -errfmt=error -errshort=full -xstrconst -xildoff
> -xmemalign=8s -xnolibmil -Xc -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g
> -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1
> -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
> -D_XOPEN_SOURCE=600' 'LDFLAGS=-L/usr/local/lib' 'CPPFLAGS=-D_TS_ERRNO
> -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE'
> 'CXX=/opt/solarisstudio12.4/bin/CC' 'CXXFLAGS=-m64 -xtarget=ultra2
> -xarch=sparcvis -xchip=ultra2 -xcache=generic -errwarn=%none -dalign
> -erroff=%none -errtags=yes -ftrap=%none -g -xcode=pic32 -m64 -mc -xunroll=1
> -xbuiltin=%none -xtarget=ultra2e -xdepend=no -xnolibmopt -xlinkopt=0
> -xnolibmil -xregs=no%appl -xs' --cache-file=/dev/null --srcdir=.
> checking build system type... sparc-sun-solaris2.10
> checking host system type... sparc-sun-solaris2.10
> checking target system type... sparc-sun-solaris2.10
> checking for a BSD-compatible install... ./install-sh -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... ./install-sh -c -d
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether make supports nested variables... yes
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking for style of include used by make... GNU
> checking for gcc... /opt/solarisstudio12.4/bin/c99
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... no
> checking whether /opt/solarisstudio12.4/bin/c99 accepts -g... yes
> checking for /opt/solarisstudio12.4/bin/c99 option to accept ISO C89...
> none needed
> checking whether /opt/solarisstudio12.4/bin/c99 understands -c and -o
> together... yes
> checking dependency style of /opt/solarisstudio12.4/bin/c99...
> dashXmstdout
> checking dependency style of /opt/solarisstudio12.4/bin/c99...
> dashXmstdout
> checking how to print strings... printf
> checking for a sed that does not truncate output... /usr/local/bin/sed
> checking for grep that handles long lines and -e... /usr/local/bin/grep
> checking for egrep... /usr/local/bin/grep -E
> checking for fgrep... /usr/local/bin/grep -F
> checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld -64
> checking if the linker (/usr/ccs/bin/sparcv9/ld -64) is GNU ld... no
> checking for BSD- or MS-compatible name lister (nm)... /usr/xpg4/bin/nm -p
> checking the name lister (/usr/xpg4/bin/nm -p) interface... BSD nm
> checking whether ln -s works... yes
> checking the maximum length of command line arguments... 786240
> checking how to convert sparc-sun-solaris2.10 file names to
> sparc-sun-solaris2.10 format... func_convert_file_noop
> checking how to convert sparc-sun-solaris2.10 file names to toolchain
> format... func_convert_file_noop
> checking for /usr/ccs/bin/sparcv9/ld -64 option to reload object files...
> -r
> checking for objdump... no
> checking how to recognize dependent libraries... pass_all
> checking for dlltool... no
> checking how to associate runtime and link libraries... printf %s\n
> checking for archiver @FILE support... no
> checking for strip... strip
> checking for ranlib... ranlib
> checking command to parse /usr/xpg4/bin/nm -p output from
> /opt/solarisstudio12.4/bin/c99 object... ok
> checking for sysroot... no
> checking for a working dd... /usr/bin/dd
> checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
> checking for mt... mt
> checking if mt is a manifest tool... no
> checking how to run the C preprocessor... /opt/solarisstudio12.4/bin/c99 -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 for dlfcn.h... yes
> checking for objdir... .libs
> checking for /opt/solarisstudio12.4/bin/c99 option to produce PIC... -KPIC
> -DPIC
> checking if /opt/solarisstudio12.4/bin/c99 PIC flag -KPIC -DPIC works...
> yes
> checking if /opt/solarisstudio12.4/bin/c99 static flag -Bstatic works...
> yes
> checking if /opt/solarisstudio12.4/bin/c99 supports -c -o file.o... yes
> checking if /opt/solarisstudio12.4/bin/c99 supports -c -o file.o...
> (cached) yes
> checking whether the /opt/solarisstudio12.4/bin/c99 linker
> (/usr/ccs/bin/sparcv9/ld -64 -64) supports shared libraries... yes
> checking dynamic linker characteristics... solaris2.10 ld.so
> checking how to hardcode library paths into programs... immediate
> checking whether stripping libraries is possible... no
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... no
> checking whether to build static libraries... yes
> checking for stdlib.h... (cached) yes
> checking for unistd.h... (cached) yes
> checking for sys/param.h... yes
> checking for getpagesize... yes
> checking for working mmap... yes
> checking for PIC compiler flag... -Kpic
> checking for pthread_self in -lpthread... no
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating doc/Makefile
> config.status: creating src/Makefile
> config.status: creating tests/Makefile
> config.status: creating pkgconfig/atomic_ops.pc
> config.status: creating pkgconfig/atomic_ops-uninstalled.pc
> config.status: creating src/config.h
> config.status: executing depfiles commands
> config.status: executing libtool commands
> config.status: executing default commands
>
>
> That seems to look fine but I get Makefile's that all have slightly
> broken CFLAGS in them because an option "-O" has been pre-pended to the
> CFLAGS.  That options doesn't mean anything to the compiler and so it
> halts the whole process. I manually edit the Makefile's to remove the
> option -O and then run GNU make. Then I rapidly get that error message.
>
> I figure I could now switch over to cc and some more relaxed CFLAGS and
> give this a try again and see what happens but if it is possible to
> push the sources past a very strict compiler then the results could be
> of value to the project.
>
> Dennis Clarke
>
> ps: I'm not really pedantic .. I just like to test with C99 first.
> _______________________________________________
> bdwgc mailing list
> [email protected]
> https://lists.opendylan.org/mailman/listinfo/bdwgc
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>

--089e01493cf0a2900d0541d641d1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">You might want to put some #error lines temporarily into h=
ere (in gcconfig.h) to see what is failing to detect your machine. And/or j=
ust run the preprocessor and examine the ouput.<div><br></div><div><div># i=
f defined(sun) &amp;&amp; (defined(sparc) || defined(__sparc))</div><div># =
=C2=A0 define SPARC</div><div>=C2=A0 =C2=A0 /* Test for SunOS 5.x */</div><=
div># =C2=A0 =C2=A0 include &lt;errno.h&gt;</div><div># =C2=A0 =C2=A0 defin=
e SOLARIS</div><div># =C2=A0 define mach_type_known</div><div># endif</div>=
<div># if defined(sparc) &amp;&amp; defined(unix) &amp;&amp; !defined(sun) =
&amp;&amp; !defined(linux) \</div><div>=C2=A0 =C2=A0 =C2=A0&amp;&amp; !defi=
ned(__OpenBSD__) &amp;&amp; !defined(__NetBSD__) \</div><div>=C2=A0 =C2=A0 =
=C2=A0&amp;&amp; !defined(__FreeBSD__) &amp;&amp; !defined(__DragonFly__)</=
div><div># =C2=A0 define SPARC</div><div># =C2=A0 define DRSNX</div><div># =
=C2=A0 define mach_type_known</div><div># endif</div></div><div><br></div><=
/div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Mon, Nov =
21, 2016 at 4:56 PM, Dennis Clarke <span dir=3D"ltr">&lt;<a href=3D"mailto:=
[email protected]" target=3D"_blank">[email protected]</a>&gt;</spa=
n> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex"><br>
A somewhat heartbreaking message seen on my Solaris 10 SPARC server<br>
wherein I use the very strict Oracle Studio 12.4 compiler tools with<br>
strict C99 compliance CFLAGS :<br>
<br>
dclarke@mimas_$ /usr/bin/time -p /usr/local/bin/gmake<br>
gmake[1]: Entering directory `/usr/local/build/garbage_coll<wbr>ector/gc-7.=
6.0_SunOS5.10_sparc<wbr>v9.001&#39;<br>
source=3D&#39;allchblk.c&#39; object=3D&#39;allchblk.lo&#39; libtool=3Dyes =
\<br>
DEPDIR=3D.deps depmode=3DdashXmstdout /usr/local/bin/bash ./depcomp \<br>
/usr/local/bin/bash ./libtool=C2=A0 --tag=3DCC=C2=A0 =C2=A0--mode=3Dcompile=
 /opt/solarisstudio12.4/bin/c99 -DHAVE_CONFIG_H=C2=A0 =C2=A0-I./include -I.=
/include -I./libatomic_ops/src -I./libatomic_ops/src -D_TS_ERRNO -D_POSIX_P=
THREAD_SEMANTICS -D_LARGEFILE64_SOURCE=C2=A0 =C2=A0-m64 -xtarget=3Dultra2 -=
xarch=3Dsparcvis -xchip=3Dultra2 -xcache=3Dgeneric -errwarn=3D%none -errhdr=
=3D%user -erroff=3D%none -errtags=3Dyes -errfmt=3Derror -errshort=3Dfull -x=
strconst -xildoff -xmemalign=3D8s -xnolibmil -Xc -xcode=3Dpic32 -xregs=3Dno=
%appl -xlibmieee -mc -g -xs -ftrap=3D%none -Qy -xbuiltin=3D%none -xdebugfor=
mat=3Ddwarf -xunroll=3D1 -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFIL=
E64_SOURCE -D_XOPEN_SOURCE=3D600 -c -o allchblk.lo allchblk.c<br>
libtool: compile:=C2=A0 /opt/solarisstudio12.4/bin/c99 -DHAVE_CONFIG_H -I./=
include -I./include -I./libatomic_ops/src -I./libatomic_ops/src -D_TS_ERRNO=
 -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -m64 -xtarget=3Dultra2 -x=
arch=3Dsparcvis -xchip=3Dultra2 -xcache=3Dgeneric -errwarn=3D%none -errhdr=
=3D%user -erroff=3D%none -errtags=3Dyes -errfmt=3Derror -errshort=3Dfull -x=
strconst -xildoff -xmemalign=3D8s -xnolibmil -Xc -xcode=3Dpic32 -xregs=3Dno=
%appl -xlibmieee -mc -g -xs -ftrap=3D%none -Qy -xbuiltin=3D%none -xdebugfor=
mat=3Ddwarf -xunroll=3D1 -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFIL=
E64_SOURCE -D_XOPEN_SOURCE=3D600 -c allchblk.c=C2=A0 -KPIC -DPIC -o .libs/a=
llchblk.o<br>
&quot;include/private/gcconfig.h&quot;, line 604: #error: &quot;The collect=
or has not been ported to this machine/OS combination.&quot;<br>
c99: acomp failed for allchblk.c<br>
gmake[1]: *** [allchblk.lo] Error 1<br>
gmake[1]: Leaving directory `/usr/local/build/garbage_coll<wbr>ector/gc-7.6=
.0_SunOS5.10_sparc<wbr>v9.001&#39;<br>
gmake: *** [all-recursive] Error 1<br>
<br>
real 7.35<br>
user 0.00<br>
sys 0.00<br>
<br>
<br>
This could just be because I start the process using C99 compliance<br>
mode and a collection of restrictive and strict CFLAGS with a debug<br>
compile such that I can single step along later.<br>
<br>
My CFLAGS looks like this :<br>
<br>
dclarke@mimas_$ echo $CFLAGS<br>
-m64 -xtarget=3Dultra2 -xarch=3Dsparcvis -xchip=3Dultra2 -xcache=3Dgeneric =
-errwarn=3D%none -errhdr=3D%user -erroff=3D%none -errtags=3Dyes -errfmt=3De=
rror -errshort=3Dfull -xstrconst -xildoff -xmemalign=3D8s -xnolibmil -Xc -x=
code=3Dpic32 -xregs=3Dno%appl -xlibmieee -mc -g -xs -ftrap=3D%none -Qy -xbu=
iltin=3D%none -xdebugformat=3Ddwarf -xunroll=3D1 -D_TS_ERRNO -D_POSIX_PTHRE=
AD_SEMANTICS -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=3D600<br>
<br>
<br>
Note the option -Xc and -D_XOPEN_SOURCE=3D600 there. Those two alone are<br=
>
usually enough to catch every possible variation that strays away from<br>
C99 and SUSv3.=C2=A0 Enitely too pedantic I know but it is a very good test=
<br>
to do on just about any open source code.<br>
<br>
Here is what my configure line and output looks like :<br>
<br>
<br>
dclarke@mimas_$ ./configure --disable-silent-rules \<br>
&gt; --enable-dependency-tracking --enable-threads=3Dposix \<br>
&gt; --enable-cplusplus --disable-java-finalization \<br>
&gt; --enable-large-config --enable-handle-fork \<br>
&gt; --with-libatomic-ops=3Dcheck<br>
<br>
<br>
Note that I have libatomic_ops-7.4.4 extracted and in a sub-directory calle=
d libatomic_ops thus :<br>
<br>
dclarke@mimas_$ ln -s ./libatomic_ops-7.4.4 ./libatomic_ops<br>
<br>
So configure runs fine and outputs this :<br>
<br>
checking build system type... sparc-sun-solaris2.10<br>
checking host system type... sparc-sun-solaris2.10<br>
checking target system type... sparc-sun-solaris2.10<br>
checking GC version numbers... major=3D7 minor=3D6=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0micro=3D0<br>
checking for a BSD-compatible install... ./install-sh -c<br>
checking whether build environment is sane... yes<br>
checking for a thread-safe mkdir -p... ./install-sh -c -d<br>
checking for gawk... gawk<br>
checking whether make sets $(MAKE)... yes<br>
checking whether make supports nested variables... yes<br>
checking whether to enable maintainer-specific portions of Makefiles... no<=
br>
checking for style of include used by make... GNU<br>
checking for gcc... /opt/solarisstudio12.4/bin/c99<br>
checking whether the C compiler works... yes<br>
checking for C compiler default output file name... a.out<br>
checking for suffix of executables...<br>
checking whether we are cross compiling... no<br>
checking for suffix of object files... o<br>
checking whether we are using the GNU C compiler... no<br>
checking whether /opt/solarisstudio12.4/bin/c99 accepts -g... yes<br>
checking for /opt/solarisstudio12.4/bin/c99 option to accept ISO C89... non=
e needed<br>
checking whether /opt/solarisstudio12.4/bin/c99 understands -c and -o toget=
her... yes<br>
checking dependency style of /opt/solarisstudio12.4/bin/c99<wbr>... dashXms=
tdout<br>
checking whether we are using the GNU C++ compiler... no<br>
checking whether /opt/solarisstudio12.4/bin/CC accepts -g... yes<br>
checking dependency style of /opt/solarisstudio12.4/bin/CC.<wbr>.. dashXmst=
dout<br>
checking dependency style of /opt/solarisstudio12.4/bin/c99<wbr>... dashXms=
tdout<br>
checking how to print strings... printf<br>
checking for a sed that does not truncate output... /usr/local/bin/sed<br>
checking for grep that handles long lines and -e... /usr/local/bin/grep<br>
checking for egrep... /usr/local/bin/grep -E<br>
checking for fgrep... /usr/local/bin/grep -F<br>
checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld<br>
checking if the linker (/usr/ccs/bin/sparcv9/ld) is GNU ld... no<br>
checking for BSD- or MS-compatible name lister (nm)... /usr/xpg4/bin/nm -p<=
br>
checking the name lister (/usr/xpg4/bin/nm -p) interface... BSD nm<br>
checking whether ln -s works... yes<br>
checking the maximum length of command line arguments... 786240<br>
checking how to convert sparc-sun-solaris2.10 file names to sparc-sun-solar=
is2.10 format... func_convert_file_noop<br>
checking how to convert sparc-sun-solaris2.10 file names to toolchain forma=
t... func_convert_file_noop<br>
checking for /usr/ccs/bin/sparcv9/ld option to reload object files... -r<br=
>
checking for objdump... no<br>
checking how to recognize dependent libraries... pass_all<br>
checking for dlltool... no<br>
checking how to associate runtime and link libraries... printf %s\n<br>
checking for archiver @FILE support... no<br>
checking for strip... strip<br>
checking for ranlib... ranlib<br>
checking command to parse /usr/xpg4/bin/nm -p output from /opt/solarisstudi=
o12.4/bin/c99 object... ok<br>
checking for sysroot... no<br>
checking for a working dd... /usr/bin/dd<br>
checking how to truncate binary pipes... /usr/bin/dd bs=3D4096 count=3D1<br=
>
checking for mt... mt<br>
checking if mt is a manifest tool... no<br>
checking how to run the C preprocessor... /opt/solarisstudio12.4/bin/c99 -E=
<br>
checking for ANSI C header files... yes<br>
checking for sys/types.h... yes<br>
checking for sys/stat.h... yes<br>
checking for stdlib.h... yes<br>
checking for string.h... yes<br>
checking for memory.h... yes<br>
checking for strings.h... yes<br>
checking for inttypes.h... yes<br>
checking for stdint.h... yes<br>
checking for unistd.h... yes<br>
checking for dlfcn.h... yes<br>
checking for objdir... .libs<br>
checking for /opt/solarisstudio12.4/bin/c99 option to produce PIC... -KPIC =
-DPIC<br>
checking if /opt/solarisstudio12.4/bin/c99 PIC flag -KPIC -DPIC works... ye=
s<br>
checking if /opt/solarisstudio12.4/bin/c99 static flag -Bstatic works... ye=
s<br>
checking if /opt/solarisstudio12.4/bin/c99 supports -c -o file.o... yes<br>
checking if /opt/solarisstudio12.4/bin/c99 supports -c -o file.o... (cached=
) yes<br>
checking whether the /opt/solarisstudio12.4/bin/c99 linker (/usr/ccs/bin/sp=
arcv9/ld -64) supports shared libraries... yes<br>
checking dynamic linker characteristics... solaris2.10 ld.so<br>
checking how to hardcode library paths into programs... immediate<br>
checking whether stripping libraries is possible... no<br>
checking if libtool supports shared libraries... yes<br>
checking whether to build shared libraries... yes<br>
checking whether to build static libraries... yes<br>
checking how to run the C++ preprocessor... /opt/solarisstudio12.4/bin/CC -=
E<br>
checking whether the /opt/solarisstudio12.4/bin/CC linker (/usr/ccs/bin/spa=
rcv9/ld -64) supports shared libraries... yes<br>
checking for /opt/solarisstudio12.4/bin/CC option to produce PIC... -KPIC -=
DPIC<br>
checking if /opt/solarisstudio12.4/bin/CC PIC flag -KPIC -DPIC works... yes=
<br>
checking if /opt/solarisstudio12.4/bin/CC static flag -Bstatic works... yes=
<br>
checking if /opt/solarisstudio12.4/bin/CC supports -c -o file.o... yes<br>
checking if /opt/solarisstudio12.4/bin/CC supports -c -o file.o... (cached)=
 yes<br>
checking whether the /opt/solarisstudio12.4/bin/CC linker (/usr/ccs/bin/spa=
rcv9/ld -64) supports shared libraries... yes<br>
checking dynamic linker characteristics... solaris2.10 ld.so<br>
checking how to hardcode library paths into programs... immediate<br>
checking for inline... inline<br>
checking for pthread_self in -lpthread... yes<br>
c99: Warning: Option -nt-multi-os-directory passed to ld, if ld is invoked,=
 ignored otherwise<br>
usage: c99 [ options ] files.=C2=A0 Use &#39;c99 -flags&#39; for details<br=
>
checking for xlc... no<br>
checking for dlopen in -ldl... no<br>
checking execinfo.h usability... no<br>
checking execinfo.h presence... no<br>
checking for execinfo.h... no<br>
checking whether to build shared libraries... yes<br>
checking which machine-dependent code should be used... sparc_mach_dep.lo<b=
r>
checking whether Solaris gcc optimization fix is necessary... no<br>
checking for dladdr... no<br>
checking sys/dg_sys_info.h usability... no<br>
checking sys/dg_sys_info.h presence... no<br>
checking for sys/dg_sys_info.h... no<br>
checking for pkg-config... /usr/bin/pkg-config<br>
checking pkg-config is at least version 0.9.0... yes<br>
checking for ATOMIC_OPS... no<br>
checking which libatomic_ops to use... internal<br>
checking that generated files are newer than configure... done<br>
configure: creating ./config.status<br>
config.status: creating Makefile<br>
config.status: creating bdw-gc.pc<br>
config.status: creating include/config.h<br>
config.status: executing depfiles commands<br>
config.status: executing libtool commands<br>
config.status: executing default commands<br>
=3D=3D=3D configuring in libatomic_ops (/usr/local/build/garbage_coll<wbr>e=
ctor/gc-7.6.0_SunOS5.10_sparc<wbr>v9.001/libatomic_ops)<br>
configure: running /usr/local/bin/bash ./configure --disable-option-checkin=
g &#39;--prefix=3D/usr/local&#39; &#39;--disable-silent-rules&#39; &#39;--e=
nable-dependency-tracking&#39; &#39;--enable-threads=3Dposix&#39; &#39;--en=
able-cplusplus&#39; &#39;--disable-java-finalization&#39; &#39;--enable-lar=
ge-config&#39; &#39;--enable-handle-fork&#39; &#39;--with-libatomic-ops=3Dc=
heck&#39; &#39;CC=3D/opt/solarisstudio12.4/bin<wbr>/c99&#39; &#39;CFLAGS=3D=
-m64 -xtarget=3Dultra2 -xarch=3Dsparcvis -xchip=3Dultra2 -xcache=3Dgeneric =
-errwarn=3D%none -errhdr=3D%user -erroff=3D%none -errtags=3Dyes -errfmt=3De=
rror -errshort=3Dfull -xstrconst -xildoff -xmemalign=3D8s -xnolibmil -Xc -x=
code=3Dpic32 -xregs=3Dno%appl -xlibmieee -mc -g -xs -ftrap=3D%none -Qy -xbu=
iltin=3D%none -xdebugformat=3Ddwarf -xunroll=3D1 -D_TS_ERRNO -D_POSIX_PTHRE=
AD_SEMANTICS -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=3D600&#39; &#39;LDFLAGS=
=3D-L/usr/local/lib&#39; &#39;CPPFLAGS=3D-D_TS_ERRNO -D_POSIX_PTHREAD_SEMAN=
TICS -D_LARGEFILE64_SOURCE&#39; &#39;CXX=3D/opt/solarisstudio12.4/bi<wbr>n/=
CC&#39; &#39;CXXFLAGS=3D-m64 -xtarget=3Dultra2 -xarch=3Dsparcvis -xchip=3Du=
ltra2 -xcache=3Dgeneric -errwarn=3D%none -dalign -erroff=3D%none -errtags=
=3Dyes -ftrap=3D%none -g -xcode=3Dpic32 -m64 -mc -xunroll=3D1 -xbuiltin=3D%=
none -xtarget=3Dultra2e -xdepend=3Dno -xnolibmopt -xlinkopt=3D0 -xnolibmil =
-xregs=3Dno%appl -xs&#39; --cache-file=3D/dev/null --srcdir=3D.<br>
checking build system type... sparc-sun-solaris2.10<br>
checking host system type... sparc-sun-solaris2.10<br>
checking target system type... sparc-sun-solaris2.10<br>
checking for a BSD-compatible install... ./install-sh -c<br>
checking whether build environment is sane... yes<br>
checking for a thread-safe mkdir -p... ./install-sh -c -d<br>
checking for gawk... gawk<br>
checking whether make sets $(MAKE)... yes<br>
checking whether make supports nested variables... yes<br>
checking whether to enable maintainer-specific portions of Makefiles... no<=
br>
checking for style of include used by make... GNU<br>
checking for gcc... /opt/solarisstudio12.4/bin/c99<br>
checking whether the C compiler works... yes<br>
checking for C compiler default output file name... a.out<br>
checking for suffix of executables...<br>
checking whether we are cross compiling... no<br>
checking for suffix of object files... o<br>
checking whether we are using the GNU C compiler... no<br>
checking whether /opt/solarisstudio12.4/bin/c99 accepts -g... yes<br>
checking for /opt/solarisstudio12.4/bin/c99 option to accept ISO C89... non=
e needed<br>
checking whether /opt/solarisstudio12.4/bin/c99 understands -c and -o toget=
her... yes<br>
checking dependency style of /opt/solarisstudio12.4/bin/c99<wbr>... dashXms=
tdout<br>
checking dependency style of /opt/solarisstudio12.4/bin/c99<wbr>... dashXms=
tdout<br>
checking how to print strings... printf<br>
checking for a sed that does not truncate output... /usr/local/bin/sed<br>
checking for grep that handles long lines and -e... /usr/local/bin/grep<br>
checking for egrep... /usr/local/bin/grep -E<br>
checking for fgrep... /usr/local/bin/grep -F<br>
checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld -64<br>
checking if the linker (/usr/ccs/bin/sparcv9/ld -64) is GNU ld... no<br>
checking for BSD- or MS-compatible name lister (nm)... /usr/xpg4/bin/nm -p<=
br>
checking the name lister (/usr/xpg4/bin/nm -p) interface... BSD nm<br>
checking whether ln -s works... yes<br>
checking the maximum length of command line arguments... 786240<br>
checking how to convert sparc-sun-solaris2.10 file names to sparc-sun-solar=
is2.10 format... func_convert_file_noop<br>
checking how to convert sparc-sun-solaris2.10 file names to toolchain forma=
t... func_convert_file_noop<br>
checking for /usr/ccs/bin/sparcv9/ld -64 option to reload object files... -=
r<br>
checking for objdump... no<br>
checking how to recognize dependent libraries... pass_all<br>
checking for dlltool... no<br>
checking how to associate runtime and link libraries... printf %s\n<br>
checking for archiver @FILE support... no<br>
checking for strip... strip<br>
checking for ranlib... ranlib<br>
checking command to parse /usr/xpg4/bin/nm -p output from /opt/solarisstudi=
o12.4/bin/c99 object... ok<br>
checking for sysroot... no<br>
checking for a working dd... /usr/bin/dd<br>
checking how to truncate binary pipes... /usr/bin/dd bs=3D4096 count=3D1<br=
>
checking for mt... mt<br>
checking if mt is a manifest tool... no<br>
checking how to run the C preprocessor... /opt/solarisstudio12.4/bin/c99 -E=
<br>
checking for ANSI C header files... yes<br>
checking for sys/types.h... yes<br>
checking for sys/stat.h... yes<br>
checking for stdlib.h... yes<br>
checking for string.h... yes<br>
checking for memory.h... yes<br>
checking for strings.h... yes<br>
checking for inttypes.h... yes<br>
checking for stdint.h... yes<br>
checking for unistd.h... yes<br>
checking for dlfcn.h... yes<br>
checking for objdir... .libs<br>
checking for /opt/solarisstudio12.4/bin/c99 option to produce PIC... -KPIC =
-DPIC<br>
checking if /opt/solarisstudio12.4/bin/c99 PIC flag -KPIC -DPIC works... ye=
s<br>
checking if /opt/solarisstudio12.4/bin/c99 static flag -Bstatic works... ye=
s<br>
checking if /opt/solarisstudio12.4/bin/c99 supports -c -o file.o... yes<br>
checking if /opt/solarisstudio12.4/bin/c99 supports -c -o file.o... (cached=
) yes<br>
checking whether the /opt/solarisstudio12.4/bin/c99 linker (/usr/ccs/bin/sp=
arcv9/ld -64 -64) supports shared libraries... yes<br>
checking dynamic linker characteristics... solaris2.10 ld.so<br>
checking how to hardcode library paths into programs... immediate<br>
checking whether stripping libraries is possible... no<br>
checking if libtool supports shared libraries... yes<br>
checking whether to build shared libraries... no<br>
checking whether to build static libraries... yes<br>
checking for stdlib.h... (cached) yes<br>
checking for unistd.h... (cached) yes<br>
checking for sys/param.h... yes<br>
checking for getpagesize... yes<br>
checking for working mmap... yes<br>
checking for PIC compiler flag... -Kpic<br>
checking for pthread_self in -lpthread... no<br>
checking that generated files are newer than configure... done<br>
configure: creating ./config.status<br>
config.status: creating Makefile<br>
config.status: creating doc/Makefile<br>
config.status: creating src/Makefile<br>
config.status: creating tests/Makefile<br>
config.status: creating pkgconfig/atomic_ops.pc<br>
config.status: creating pkgconfig/atomic_ops-uninstall<wbr>ed.pc<br>
config.status: creating src/config.h<br>
config.status: executing depfiles commands<br>
config.status: executing libtool commands<br>
config.status: executing default commands<br>
<br>
<br>
That seems to look fine but I get Makefile&#39;s that all have slightly<br>
broken CFLAGS in them because an option &quot;-O&quot; has been pre-pended =
to the<br>
CFLAGS.=C2=A0 That options doesn&#39;t mean anything to the compiler and so=
 it<br>
halts the whole process. I manually edit the Makefile&#39;s to remove the<b=
r>
option -O and then run GNU make. Then I rapidly get that error message.<br>
<br>
I figure I could now switch over to cc and some more relaxed CFLAGS and<br>
give this a try again and see what happens but if it is possible to<br>
push the sources past a very strict compiler then the results could be<br>
of value to the project.<br>
<br>
Dennis Clarke<br>
<br>
ps: I&#39;m not really pedantic .. I just like to test with C99 first.<br>
______________________________<wbr>_________________<br>
bdwgc mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">bdwgc@lists.=
opendylan.org</a><br>
<a href=3D"https://lists.opendylan.org/mailman/listinfo/bdwgc" rel=3D"noref=
errer" target=3D"_blank">https://lists.opendylan.org/ma<wbr>ilman/listinfo/=
bdwgc</a><span class=3D"HOEnZb"><font color=3D"#888888"><br>
<br>
-- <br>
This message has been scanned for viruses and<br>
dangerous content by MailScanner, and is<br>
believed to be clean.<br>
<br>
</font></span></blockquote></div><br></div>

--089e01493cf0a2900d0541d641d1--

--===============1225158712==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
bdwgc mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/bdwgc
--===============1225158712==--