Re: [Mingw-users] Building gcc 4.8.3, 4.9.0 for MinGW

Keith Marshall <[email protected]> Mon, 14 Jul 2014 22:35:10 +0100
Newsgroups gmane.comp.gnu.mingw.devel,gmane.comp.gnu.mingw.user
Organization MinGW Project
Message-ID <[email protected]>
On 14/07/14 17:38, Keith Marshall wrote:
> Patches?  What patches?  Oh ... thanks for pointing out the blatant
> untruth of this statement:
> 
>> "This distribution is created from pristine source without patches".
> 
> which appears right at the top of the README on the download site, (and
> is reproduced within the source tarball to which you refer).  I took
> that at face value, and didn't look for patches, which may explain why I
> was unable to realize a working Ada build, for the gcc-4.8.2 release
> which I prepared recently, (in spite of having achieved an apparently
> Ada enabled linux-to-mingw32 cross-compiler, in preparation for the
> subsequent crossed-native build process).

Nope.  After applying the patches from gcc-4.8.1-4-mingw32-src.tar.lzma
to my gcc-4.8.2 source tree -- but excluding the undesirable config.sub
patch -- and also kludging around the float.h issue, my crossed-native
build still aborts after about 45 mins: (see attachment).  Since I have
no personal interest in Ada programming, and my knowledge of the Ada
language is exactly nil, I wouldn't know where to begin to debug this,
(although the use of adalib includes from the $build compiler tree,
rather than from the $host compiler tree, seems possibly suspicious).

BTW, the relocate.patch in gcc-4.8.1-4-mingw32-src.tar.lzma is corrupt;
it is encoded with CRLF line endings, where it should be LF only.

-- 
Regards,
Keith.

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds

_______________________________________________
MinGW-dvlpr mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr
gcc-4.8.2-mingw32.pkgspec (text/plain, 7 KB)
# gcc-4.8.2-mingw32.pkgspec
#
# Package specification file -- automatically generated by mingw-pkg
#
# Package name and version must be explicitly specified; these appear
# as the initial part of the package name, as interpreted by mingw-get.
#
pkgname 	gcc
pkgversion	4.8.2

# Contributed by Keith Marshall <[email protected]>
# Copyright (C) 2014, MinGW.org Project
#
# -----------------------------------------------------------------------------
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
# -----------------------------------------------------------------------------

# A release identifier is optional; if specified, it will be appended
# to the package name and version, delimited by an intervening hyphen.
#
# pkgrelease 	1

# A system architecture identifier is required for any package which
# is to be delivered by mingw-get; it establishes the sub-system type
# identifier which will appear within the package name, following the
# package name, version and release identifiers.
#
arch		mingw32

# The pkgtype specification determines the packaging method to be used
# for all distributable component packages, and the final extension to
# be appended to the component package names.  The default is tar.gz;
# alternatives supported by mingw-get are tar.bz2, tar.lzma and tar.xz
#
pkgtype 	tar.xz

# Optional alias, title, and description specifications may be provided;
# these are used by 'mingw-pkg mkxml', to specify the associated entries
# in mingw-get's xml catalogue specification for this package.
#
# Each of these should be specified only once; 'aliases' is permitted as
# a synonym for 'alias', where the associated value is a space separated
# list of multiple alias names.
#
alias		gcc
title		"The GNU Compiler Collection"
description	"
A collection of packages, which together provide the GNU C Compiler, and
optionally, the GNU C++ Compiler, GNU Object-C Compiler, GNU Object-C++
Compiler, and GNU FORTRAN Compiler.
"

# An affiliate specification is also optional; it identifies a package
# category with which mingw-get will affiliate this package.  Unlike
# the alias, title, and description specifications, multiple affiliate
# specifications are permitted, allowing for affiliation of the package
# with multiple mingw-get categories.
#
affiliate	"MinGW Base System"

# Configuration options for GCC build
#
option		configure --prefix=/mingw
option		configure --disable-win32-registry
option		configure --target=$ARCH --with-arch=i586
option		configure --enable-languages=c,c++,objc,obj-c++,fortran,ada
option		configure --enable-static --enable-shared --enable-threads
option		configure --with-dwarf2 --disable-sjlj-exceptions
option		configure --enable-version-specific-runtime-libs
option		configure --enable-libstdcxx-debug
option		configure --with-tune=generic
option		configure --enable-nls

# The distributable package inventory is established by means of a
# collection of component specifications; each is of the form:
#
#   component  keyword  "content"
#
#   where:
#     keyword	specifies the component package class name, as it
#		will be included in the mingw-get compatible package
#		archive name, immediately preceding the pkgtype.
#     content	specifies a white-space separated list of directory
#		and/or file path names, relative to the top of the
#		staging directory tree in which the distribution is
#		prepared, which are to be passed as argument list
#		to the archiving program, so defining the content
#		for the associated component package.
#
abs_top_srcdir=`cd ../..;pwd`
component  lic "
  --transform=s,$abs_top_srcdir,share/doc,
  --transform=s,$PACKAGE-$VERSION,$PACKAGE/$VERSION,
  `find $abs_top_srcdir/$PACKAGE-$VERSION -name COPYING\* -o -name LICEN[CS]E\*`
  --exclude=go --exclude=libgo --exclude=libiberty --exclude=libjava
  --exclude=$PACKAGE-$VERSION/gcc --exclude=include
  --exclude=libquadmath --exclude=libsanitizer
  --transform=s,/contrib/dotzlib,,
  --transform=s,/LIC,_LIC,
"
component  lang "
  share/locale/*/LC_MESSAGES
"
component  man "
  --exclude=share/man/man1/g++.1
  --exclude=share/man/man1/gfortran.1
  share/man
"

subpackage gcc-core
component  bin "
  bin/*.exe
  --exclude=bin/*[cg]++*.exe
  --exclude=bin/*fortran.exe
  libexec/$PACKAGE/$ARCH/$VERSION/*.exe
  --exclude=libexec/$PACKAGE/$ARCH/$VERSION/cc1plus.exe
  --exclude=libexec/$PACKAGE/$ARCH/$VERSION/cc1obj*.exe
  --exclude=libexec/$PACKAGE/$ARCH/$VERSION/f951.exe
  libexec/$PACKAGE/$ARCH/$VERSION/install-tools
  libexec/$PACKAGE/$ARCH/$VERSION/*_plugin*
  lib/$PACKAGE/$ARCH/$VERSION/include
  --exclude=lib/$PACKAGE/$ARCH/$VERSION/include/c++
  --exclude=lib/$PACKAGE/$ARCH/$VERSION/include/objc
  lib/$PACKAGE/$ARCH/$VERSION/include-fixed
  --exclude=lib/$PACKAGE/$ARCH/$VERSION/libs??c++.*
  --exclude=lib/$PACKAGE/$ARCH/$VERSION/libgfortran*
  --exclude=lib/$PACKAGE/$ARCH/$VERSION/libobjc*.a
  lib/$PACKAGE/$ARCH/$VERSION/*.[oa]
  --exclude=*.la
"

subpackage libgcc
component  dll-1 "
  --transform=s,.*/,bin/,
  lib/$PACKAGE/$ARCH/libgcc_s_dw2-1.dll
"

subpackage gcc-g++
component  bin "
  bin/*[cg]++*.exe
  libexec/$PACKAGE/$ARCH/$VERSION/cc1plus.exe
  lib/$PACKAGE/$ARCH/$VERSION/debug
  lib/$PACKAGE/$ARCH/$VERSION/include/c++
  lib/$PACKAGE/$ARCH/$VERSION/libs??c++.*
  share/$PACKAGE-$VERSION/python
  --exclude=*.la
"
component  man "
  share/man/man1/g++.1
"

subpackage libstdc++
component  dll-6 "
  bin/libstdc++-6.dll
"

subpackage gcc-fortran
component  bin "
  bin/*fortran.exe
  libexec/$PACKAGE/$ARCH/$VERSION/f951.exe
  lib/$PACKAGE/$ARCH/$VERSION/finclude
  lib/$PACKAGE/$ARCH/$VERSION/libgfortran.*
  --exclude=*.la
"

subpackage libgfortran
component  dll-3 "
  bin/libgfortran-3.dll
"
component  man "
  share/man/man1/gfortran.1
"

subpackage gcc-objc
component  bin "
  libexec/$PACKAGE/$ARCH/$VERSION/cc1obj*.exe
  lib/$PACKAGE/$ARCH/$VERSION/include/objc
  lib/$PACKAGE/$ARCH/$VERSION/libobjc*.a
"

subpackage libobjc
component  dll-4 "
  bin/libobjc-4.dll
"

subpackage libquadmath
component  dll-0 "
  bin/libquadmath-0.dll
"
component  info "
  share/info/libquadmath.info
"
# gcc-4.8.2-mingw32.pkgspec: end of file
failure.msg (text/plain, 1 KB)
$ mingw-pkg SRCDIR=../gcc-4.8.2 configure
...

$ mingw-pkg SRCDIR=../gcc-4.8.2 compile
...
mingw32-gcc -c -I./ -I/home/keith/gcc-native/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/adalib/../adainclude -I/home/keith/gcc-native/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/adalib/ -I. -I/home/keith/src/mingw/gcc-build/gcc-4.8.2/gcc/ada -g -O2 -D__USE_MINGW_ACCESS -W -Wall -gnatpg -gnata -I- /home/keith/src/mingw/gcc-build/gcc-4.8.2/gcc/ada/osint-m.adb
osint.adb:3182:07: warning: types for unchecked conversion have different sizes
gnatmake: "/home/keith/src/mingw/gcc-build/gcc-4.8.2/gcc/ada/osint.adb" compilation error
make[3]: *** [gnatmake-re] Error 4
make[3]: Leaving directory `/home/keith/src/mingw/gcc-build/mingw32-gcc-with-ada/gcc/ada/tools'
make[2]: *** [gnattools-cross] Error 2
make[2]: Leaving directory `/home/keith/src/mingw/gcc-build/mingw32-gcc-with-ada/gnattools'
make[1]: *** [all-gnattools] Error 2
make[1]: Leaving directory `/home/keith/src/mingw/gcc-build/mingw32-gcc-with-ada'
make: *** [all] Error 2
mingw-pkg: *** FATAL *** application build failed