Re: Configuring GCC 10.3 on PPC Mac OS X 10.4.11/Tiger for build reveals flaws in configure scripts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

Here is my evaluation from building GCC 10.4 on PPC Mac OS X 10.4.11, Tiger, with modern tools with 40 hours. I am using in the first, leftmost column, line numbers from compile log in GNU Emacs which quantify when one of the many steps is taken. It might help classify and explain some differences between building GCC 10.3 and GCC 10.4 I encountered.

   10:Configuring stage 1 in ./intl
  134:Configuring stage 1 in ./gcc
  620:Configuring stage 1 in ./libiberty
        configure: target_header_dir =                          <=== no title here
 1367:Configuring in build-powerpc-apple-darwin8.11.0/libiberty
        configure: target_header_dir =                          <=== no title here
 2110:Configuring in build-powerpc-apple-darwin8.11.0/fixincludes
 2232:Configuring in build-powerpc-apple-darwin8.11.0/libcpp
 2397:Configuring stage 1 in ./libbacktrace
        checking for readelf... readelf
        checking whether objcopy supports debuglink... ..../gcc-10.4.0/libbacktrace/configure: line 13493: --add-gnu-debuglink=x: command not found
        no
        checking whether tests can run... yes
 2598:Configuring stage 1 in ./libcpp
 2766:Configuring stage 1 in ./libdecnumber
        checking target system type... powerpc-apple-darwin8.11.0
        checking for decimal floating point... configure: WARNING: decimal float is not supported for this target, ignored
 ==>    dpd
        checking whether byte ordering is bigendian... yes
 4128:Configuring stage 1 in powerpc-apple-darwin8.11.0/libgcc
 5263:Configuring stage 1 in powerpc-apple-darwin8.11.0/libgomp
 5588:Configuring stage 1 in powerpc-apple-darwin8.11.0/libstdc++-v3
        configure: Debug build flags set to -gdwarf-4 -g3 -O0 -D_GLIBCXX_ASSERTIONS
...
        checking uchar.h usability... no
        checking uchar.h presence... no
        checking for uchar.h... no2
==>     no
        checking for int64_t... yes
        checking for int64_t as long... checking for int64_t as long long... yes
...
        checking for local stylesheet directory... yes
        configure:                                              <=== no comment here
        checking for docbook stylesheets for documentation creation... yes
...
        Running configure in multilib subdir ppc64
...
        configure: Debug build flags set to -gdwarf-4 -g3 -O0 -D_GLIBCXX_ASSERTIONS  /* for orientation */
...
        checking uchar.h usability... no
        checking uchar.h presence... no
        checking for uchar.h... no
==>     no
        checking for int64_t... yes
        checking for int64_t as long... checking for int64_t as long long... yes
...
        checking for local stylesheet directory... yes
        configure:                                              <=== no comment here
        checking for docbook stylesheets for documentation creation... yes
 8500:Configuring stage 2 in ./intl
 8626:Configuring stage 2 in ./gcc
        checking __stack_chk_fail in target C library... checking for __stack_chk_fail... no
        no __stack_chk_fail on this target
==>     no
        checking sys/sdt.h in the target C library... no
...
        checking for otool64... otool64
        checking for -single_module linker flag... warning: no debug map in executable (-arch ppc)
        yes
        checking for -exported_symbols_list linker flag... yes
        checking for -force_load linker flag... warning: no debug map in executable (-arch ppc)
        no
        checking for dlfcn.h... yes
 9116:Configuring stage 2 in ./libiberty
        checking whether to install libiberty headers and static library... no
        configure: target_header_dir = 
        checking for powerpc-apple-darwin8.11.0-gcc...  ..../feddich/./prev-gcc/xgcc -B..../feddich/./prev-gcc/ -B/usr/local/powerpc-apple-darwin8.11.0/bin/ -B/usr/local/powerpc-apple-darwin8.11.0/bin/ -B/usr/local/powerpc-apple-darwin8.11.0/lib/ -isystem /usr/local/powerpc-apple-darwin8.11.0/include -isystem /usr/local/powerpc-apple-darwin8.11.0/sys-include   -fno-checking
 9888:Configuring stage 2 in ./libbacktrace
        checking whether objcopy supports debuglink... ..../gcc-10.4.0/libbacktrace/configure: line 13493: --add-gnu-debuglink=x: command not found
        no
        checking whether tests can run... yes
10096:Configuring stage 2 in ./libcpp
10266:Configuring stage 2 in ./libdecnumber
        checking target system type... powerpc-apple-darwin8.11.0
        checking for decimal floating point... configure: WARNING: decimal float is not supported for this target, ignored
==>     dpd
        checking whether byte ordering is bigendian... yes
34397:Configuring stage 2 in powerpc-apple-darwin8.11.0/libgcc
35532:Configuring stage 2 in powerpc-apple-darwin8.11.0/libgomp
35857:Configuring stage 2 in powerpc-apple-darwin8.11.0/libstdc++-v3
        configure: Debug build flags set to -gdwarf-4 -g3 -O0 -D_GLIBCXX_ASSERTIONS
...
        checking uchar.h usability... no
        checking uchar.h presence... no
        checking for uchar.h... no
==>     no
        checking for int64_t... yes
        checking for int64_t as long... checking for int64_t as long long... yes
...
        checking for local stylesheet directory... yes
        configure:                                              <=== no comment here
        checking for docbook stylesheets for documentation creation... yes
...
Running configure in multilib subdir ppc64
...
        configure: Debug build flags set to -gdwarf-4 -g3 -O0 -D_GLIBCXX_ASSERTIONS
...
        checking uchar.h usability... no
        checking uchar.h presence... no
        checking for uchar.h... no
==>     no
        checking for int64_t... yes
        checking for int64_t as long... checking for int64_t as long long... yes
...
        checking for shared library run path origin... done
        checking for iconv... no, consider installing GNU libiconv      <=== libiconv and /opt/local/bin/iconv are installed, other tests (stage3 stdc++) find it
        looking for a compliant stdint.h in stdint.h, checking for uintmax_t... yes
...
        checking for local stylesheet directory... yes
        configure:                                              <=== no comment here
        checking for docbook stylesheets for documentation creation... yes
38769:Configuring stage 3 in ./intl
38895:Configuring stage 3 in ./gcc
        checking __stack_chk_fail in target C library... checking for __stack_chk_fail... no
        no __stack_chk_fail on this target
==>     no
        checking sys/sdt.h in the target C library... no
39383:Configuring stage 3 in ./libiberty
40155:Configuring stage 3 in ./libbacktrace
        checking output filetype... 
        configure: WARNING: could not determine output file type        <=== happens three times during build
        looking for a compliant stdint.h in stdint.h, checking for uintmax_t... yes
...
        checking for readelf... readelf
        checking whether objcopy supports debuglink... ..../gcc-10.4.0/libbacktrace/configure: line 13493: --add-gnu-debuglink=x: command not found
        no
        checking whether tests can run... yes
40361:Configuring stage 3 in ./libcpp
40531:Configuring stage 3 in ./libdecnumber
        checking target system type... powerpc-apple-darwin8.11.0
        checking for decimal floating point... configure: WARNING: decimal float is not supported for this target, ignored
==>     dpd
        checking whether byte ordering is bigendian... yes
64662:Configuring stage 3 in powerpc-apple-darwin8.11.0/libgcc
65797:Configuring stage 3 in powerpc-apple-darwin8.11.0/libgomp
66122:Configuring stage 3 in powerpc-apple-darwin8.11.0/libstdc++-v3
        checking uchar.h usability... no
        checking uchar.h presence... no
        checking for uchar.h... no
==>     no
        checking for int64_t... yes
        checking for int64_t as long... checking for int64_t as long long... yes
...
        checking for local stylesheet directory... yes
        configure:                                              <=== no comment here
        checking for docbook stylesheets for documentation creation... yes
...
Running configure in multilib subdir ppc64
...
        configure: Debug build flags set to -gdwarf-4 -g3 -O0 -D_GLIBCXX_ASSERTIONS
...
        checking uchar.h usability... no
        checking uchar.h presence... no
        checking for uchar.h... no
==>     no
        checking for int64_t... yes
        checking for int64_t as long... checking for int64_t as long long... yes
...
        checking for local stylesheet directory... yes
        configure:                                              <=== no comment here
        checking for docbook stylesheets for documentation creation... yes
69046:Configuring in ./fixincludes
69175:Configuring in ./libcc1
checking for gethostbyname... yes
                                                                <=== empty line
checking for exported symbols... yes
69307:Configuring in powerpc-apple-darwin8.11.0/libssp
69784:Configuring in powerpc-apple-darwin8.11.0/libquadmath
Running configure in multilib subdir ppc64
        checking for egrep... /opt/local/bin/ggrep -E
        checking for ANSI C header files... rm: conftest.dSYM: is a directory
==>     rm: conftest.dSYM: is a directory                       <=== complains twice
        yes
        checking for sys/types.h... yes
70158:Configuring in powerpc-apple-darwin8.11.0/libobjc
70851:Configuring in powerpc-apple-darwin8.11.0/libitm
71440:Configuring in powerpc-apple-darwin8.11.0/libatomic


GCC 10.3 was built with old system's tools and utilities, while for GCC 10.4 I could use modernised versions. This might explain a few differences. Particularly the following:

  134:Configuring stage 1 in ./gcc
	  524:checking assembler for -mmacosx-version-min option... no
	  537:checking assembler for compressed debug sections... 0
	  549:checking linker for compressed debug sections... 0

Presumingly the old as is better integrated in Mac OS X and configure finds in GCC 10.3:

	checking assembler for -mmacosx-version-min option... yes
	checking assembler for compressed debug sections... 2
	checking linker for compressed debug sections... 0

Is this difference intended?


Three times configure finds:

 2509:configure: WARNING: could not determine output file type
10005:configure: WARNING: could not determine output file type
40270:configure: WARNING: could not determine output file type

while it finds 45 times:

	checking for C compiler default output file name... a.out

Is this difference intended?


Another (intended?) difference is this:

10.3:
	checking whether a program can dlopen itself... yes
	checking whether a statically linked program can dlopen itself... yes
	checking whether a program can dlopen itself... cross
	checking whether a program can dlopen itself... yes
	checking whether a statically linked program can dlopen itself... yes
	checking whether a program can dlopen itself... cross
	checking whether a program can dlopen itself... yes
	checking whether a statically linked program can dlopen itself... yes
	checking whether a program can dlopen itself... cross
	
10.4:
	 5673:checking whether a program can dlopen itself... no
	 6244:checking whether a program can dlopen itself... cross
	35942:checking whether a program can dlopen itself... no
	36513:checking whether a program can dlopen itself... cross
	66207:checking whether a program can dlopen itself... no
	66778:checking whether a program can dlopen itself... cross


A bit disturbing is this, finding yes and no for the same item, __int128 (because libquadmath supports this data type?):

	 5698:checking for ISO/IEC TR 24733 ... no
	 5699:checking for __int128... no
	 5700:checking for __float128... no
	 6269:checking for ISO/IEC TR 24733 ... no
	 6270:checking for __int128... yes
	 6271:checking for __float128... no
	35967:checking for ISO/IEC TR 24733 ... no
	35968:checking for __int128... no
	35969:checking for __float128... no
	36538:checking for ISO/IEC TR 24733 ... no
	36539:checking for __int128... yes
	36540:checking for __float128... no
	66232:checking for ISO/IEC TR 24733 ... no
	66233:checking for __int128... no
	66234:checking for __float128... no
	66803:checking for ISO/IEC TR 24733 ... no
	66804:checking for __int128... yes
	66805:checking for __float128... no


(Disk space used after building: almost 5 GB.)

--
Greetings

  Pete

A designer knows he has arrived at perfection not when there is no longer anything to add, but when there is no longer anything to take away.
				– Antoine de Saint-Exupéry





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux