ports/117948: lang/gcc342: NEW PORT, needed to build 5-STABLE from recent releases
Philip M. Gollucci
pgollucci at p6m7g8.com
Fri Nov 9 18:10:03 UTC 2007
>Number: 117948
>Category: ports
>Synopsis: lang/gcc342: NEW PORT, needed to build 5-STABLE from recent releases
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Fri Nov 09 18:10:03 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Philip M. Gollucci
>Release: FreeBSD 8.0-CURRENT
>Organization:
Riderway Inc.
>Environment:
FreeBSD philip.hq.rws 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Tue Nov 6 16:28:12 EST 2007 pgollucci at philip.hq.rws:/usr/obj/usr/src/sys/RIDERWAY i386
>Description:
Trying to setup things for ports-mgmt/tinderbox and/or compile RELENG_5 from
never branches.
>How-To-Repeat:
With default:
gcc -v
Using built-in specs.
Target: i386-undermydesk-freebsd
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 4.2.1 20070719 [FreeBSD]
cd /usr/src
cvs up -dP -rRELENG_5
make buildworld
===> gnu/usr.bin/binutils/as
cc -O -pipe -I. -I/usr/src/gnu/usr.bin/binutils/as -I/usr/src/gnu/usr.bin/binutils/as/../libbfd -I/usr/obj/usr/src/i386/usr/src/gnu/usr.bin/binutils/as/../libbfd -I/usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/include -DDEFAULT_ARCH=\"i386\" -DTARGET_CPU=\"i386\" -DTARGET_CANONICAL=\"i386-obrien-freebsd\" -DTARGET_ALIAS=\"i386-obrien-freebsd\" -DVERSION=\""2.15 [FreeBSD] 2004-05-23"\" -D_GNU_SOURCE -I/usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas -I/usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/config -I/usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils -I/usr/src/gnu/usr.bin/binutils/as -I/usr/src/gnu/usr.bin/binutils/as/i386-freebsd -I/usr/obj/usr/src/i386/legacy/usr/include -c /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/app.c
In file included from /usr/src/gnu/usr.bin/binutils/as/i386-freebsd/targ-cpu.h:1,
from /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/config/obj-elf.h:42,
from /usr/src/gnu/usr.bin/binutils/as/obj-format.h:3,
from /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/config/te-freebsd.h:30,
from /usr/src/gnu/usr.bin/binutils/as/targ-env.h:3,
from /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/as.h:626,
from /usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/app.c:30:
/usr/src/gnu/usr.bin/binutils/as/../../../../contrib/binutils/gas/config/tc-i386.h:451: error: array type has incomplete element type
*** Error code 1
Stop in /usr/src/gnu/usr.bin/binutils/as.
*** Error code 1
Stop in /usr/src/gnu/usr.bin/binutils.
With lang/gcc34:
(sudo pkg_add -r gcc34)
/usr/local/bin/gcc34 -v
Reading specs from /usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6/gcc/i386-portbld-freebsd7.0/3.4.6/specs
Configured with: ./..//gcc-3.4.6/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --program-suffix=34 --libdir=/usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6 --with-gxx-include-dir=/usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6/include/c++/ --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc34 i386-portbld-freebsd7.0
Thread model: posix
gcc version 3.4.6 [FreeBSD]
CC=/usr/local/bin/gcc34 CXX=/usr/local/bin/g++34 make buildworld
===> lib/libcrypt
rm -f .depend
CC='/usr/local/bin/gcc34' mkdep -f .depend -a -I/usr/src/lib/libcrypt/../../sys -I/usr/src/lib/libcrypt/../libmd -I/usr/src/lib/libcrypt/../libutil -I/usr/src/lib/libcrypt -DHAS_DES -DHAS_BLOWFISH -Dauth_getval=__auth_getval -Dproperty_find=__property_find -Dproperties_read=__properties_read -Dproperties_free=__properties_free -DMD4Init=__MD4Init -DMD4Final=__MD4Final -DMD4Update=__MD4Update -DMD4Pad=__MD4Pad -DMD5Init=__MD5Init -DMD5Final=__MD5Final -DMD5Update=__MD5Update -DMD5Pad=__MD5Pad /usr/src/lib/libcrypt/crypt.c /usr/src/lib/libcrypt/misc.c /usr/src/lib/libcrypt/crypt-md5.c /usr/src/lib/libcrypt/../libmd/md5c.c /usr/src/lib/libcrypt/crypt-nthash.c /usr/src/lib/libcrypt/../libmd/md4c.c /usr/src/lib/libcrypt/../../secure/lib/libcrypt/crypt-des.c /usr/src/lib/libcrypt/../../secure/lib/libcrypt/crypt-blowfish.c /usr/src/lib/libcrypt/../../secure/lib/libcrypt/blowfish.c /usr/src/lib/libcrypt/../libutil/auth.c /usr/src/lib/libcrypt/../libutil/property.c
/usr/local/bin/gcc34 -O -pipe -I/usr/src/lib/libcrypt/../../sys -I/usr/src/lib/libcrypt/../libmd -I/usr/src/lib/libcrypt/../libutil -I/usr/src/lib/libcrypt -DHAS_DES -DHAS_BLOWFISH -Dauth_getval=__auth_getval -Dproperty_find=__property_find -Dproperties_read=__properties_read -Dproperties_free=__properties_free -DMD4Init=__MD4Init -DMD4Final=__MD4Final -DMD4Update=__MD4Update -DMD4Pad=__MD4Pad -DMD5Init=__MD5Init -DMD5Final=__MD5Final -DMD5Update=__MD5Update -DMD5Pad=__MD5Pad -c /usr/src/lib/libcrypt/crypt.c
/usr/local/bin/gcc34 -O -pipe -I/usr/src/lib/libcrypt/../../sys -I/usr/src/lib/libcrypt/../libmd -I/usr/src/lib/libcrypt/../libutil -I/usr/src/lib/libcrypt -DHAS_DES -DHAS_BLOWFISH -Dauth_getval=__auth_getval -Dproperty_find=__property_find -Dproperties_read=__properties_read -Dproperties_free=__properties_free -DMD4Init=__MD4Init -DMD4Final=__MD4Final -DMD4Update=__MD4Update -DMD4Pad=__MD4Pad -DMD5Init=__MD5Init -DMD5Final=__MD5Final -DMD5Update=__MD5Update -DMD5Pad=__MD5Pad -c /usr/src/lib/libcrypt/misc.c
/usr/local/bin/gcc34 -O -pipe -I/usr/src/lib/libcrypt/../../sys -I/usr/src/lib/libcrypt/../libmd -I/usr/src/lib/libcrypt/../libutil -I/usr/src/lib/libcrypt -DHAS_DES -DHAS_BLOWFISH -Dauth_getval=__auth_getval -Dproperty_find=__property_find -Dproperties_read=__properties_read -Dproperties_free=__properties_free -DMD4Init=__MD4Init -DMD4Final=__MD4Final -DMD4Update=__MD4Update -DMD4Pad=__MD4Pad -DMD5Init=__MD5Init -DMD5Final=__MD5Final -DMD5Update=__MD5Update -DMD5Pad=__MD5Pad -c /usr/src/lib/libcrypt/crypt-md5.c
In file included from /usr/src/lib/libcrypt/crypt-md5.c:34:
/usr/local/lib/gcc/i386-portbld-freebsd7.0/3.4.6/gcc/i386-portbld-freebsd7.0/3.4.6/include/stdio.h:346: error: syntax error before "__format_arg"
Note, See also (filed yesterday)
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/117933
Note, that RELENG_5's compiler(5-STABLE) is actually 3.4.2
(as seen on i.e. - tb3.droso.net)
>Fix:
1) Repo copy ports/lang/gcc34 -> ports/lang/gcc342
2) Apply the patch over top.
3) Note, 2 patch files deleted, 2 patch files added.
Since its a repo copy, I'll attach the diff. Then follow up with the shar next.
Also, if gerald@ wants to be maintainer thats fine too; but, I'll attempt it if he doesn't want it.
Patch attached with submission follows:
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/lang/gcc342/Makefile,v
retrieving revision 1.245
diff -u -r1.245 Makefile
--- Makefile 17 Oct 2007 10:12:41 -0000 1.245
+++ Makefile 8 Nov 2007 23:08:29 -0000
@@ -7,9 +7,7 @@
#
PORTNAME= gcc
-PORTVERSION= 3.4.6
-PORTREVISION= 2
-PORTEPOCH= 1
+PORTVERSION= 3.4.2
CATEGORIES= lang
VERSIONSTRING= ${PORTVERSION}
MASTER_SITES= ${MASTER_SITE_GCC}
@@ -20,10 +18,10 @@
gcc-objc-${VERSIONSTRING}${EXTRACT_SUFX} \
gcc-testsuite-${VERSIONSTRING}${EXTRACT_SUFX}
-MAINTAINER?= gerald at FreeBSD.org
-COMMENT?= GNU Compiler Collection 3.4
+MAINTAINER?= pgollucci at p6m7g8.com
+COMMENT?= GNU Compiler Collection 3.4.2
-SUFFIX= 34
+SUFFIX= 342
LATEST_LINK?= gcc${SUFFIX}${PKGNAMESUFFIX}
USE_BISON= build
USE_BZIP2= yes
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/lang/gcc342/distinfo,v
retrieving revision 1.139
diff -u -r1.139 distinfo
--- distinfo 26 Mar 2006 18:08:14 -0000 1.139
+++ distinfo 8 Nov 2007 23:09:27 -0000
@@ -1,15 +1,15 @@
-MD5 (gcc-core-3.4.6.tar.bz2) = 5324ace5145b12afd9ca867af7ec084d
-SHA256 (gcc-core-3.4.6.tar.bz2) = 3aab171d86e5a6c14cb9de35467a0472a7d5ef1d5b79a1df72ca533f8e82a133
-SIZE (gcc-core-3.4.6.tar.bz2) = 13366790
-MD5 (gcc-g++-3.4.6.tar.bz2) = ef81fd74bc9fd964120af47243a1360f
-SHA256 (gcc-g++-3.4.6.tar.bz2) = f186937402752d25317adf2832b0b1d316334e158ae380471ab62509e4ea90b1
-SIZE (gcc-g++-3.4.6.tar.bz2) = 2511332
-MD5 (gcc-g77-3.4.6.tar.bz2) = eb4c248fa10a96e8d9edc9831c75a895
-SHA256 (gcc-g77-3.4.6.tar.bz2) = 4a8b841ce79c70abfb5c0f523b710d298fc80a6f1104dedece5617de21d6c762
-SIZE (gcc-g77-3.4.6.tar.bz2) = 908261
-MD5 (gcc-objc-3.4.6.tar.bz2) = 87453b6e9b32047de11ae933a985155f
-SHA256 (gcc-objc-3.4.6.tar.bz2) = 053061f7d828f73e1c6a6b9d2a4eeba8d1d8f64bd0a77d2df40091a429de1f5d
-SIZE (gcc-objc-3.4.6.tar.bz2) = 215655
-MD5 (gcc-testsuite-3.4.6.tar.bz2) = 32a1057b841b4782ae3f4be84a98c085
-SHA256 (gcc-testsuite-3.4.6.tar.bz2) = 87f8c7ca951fd13ea241328de2e0e1af8281f1aa3a68e5831e37ff746a256574
-SIZE (gcc-testsuite-3.4.6.tar.bz2) = 2646715
+MD5 (gcc-core-3.4.2.tar.bz2) = cb1613efd03f4ed9969f076c012b9fee
+SHA256 (gcc-core-3.4.2.tar.bz2) = 254dba1cf126db6c4e69dbb8305b0db80aba151f5fdd05b61be88aff3088f2d2
+SIZE (gcc-core-3.4.2.tar.bz2) = 12938168
+MD5 (gcc-g++-3.4.2.tar.bz2) = 247e312c5f4d8baa7fdfc16597ec2b4b
+SHA256 (gcc-g++-3.4.2.tar.bz2) = ccd30a0a9cf8530940663e799d51a243c60059a57142727920503eaaab9c3090
+SIZE (gcc-g++-3.4.2.tar.bz2) = 2469082
+MD5 (gcc-g77-3.4.2.tar.bz2) = ed3113df2913fd700bb5daa5ff0a41ce
+SHA256 (gcc-g77-3.4.2.tar.bz2) = 39744ba3202c9f4b1a883fba3042e1a3dbf23f26a0a52fc87fb0a361373fa3ad
+SIZE (gcc-g77-3.4.2.tar.bz2) = 902942
+MD5 (gcc-objc-3.4.2.tar.bz2) = 65c112b8464a034d9f14a3ebf2966feb
+SHA256 (gcc-objc-3.4.2.tar.bz2) = 4adf22d2e5cfeaf3c22992928edea42131dfc8e5c9eedaf1285740333019a53a
+SIZE (gcc-objc-3.4.2.tar.bz2) = 212296
+MD5 (gcc-testsuite-3.4.2.tar.bz2) = 70046557dd99761709dd0613ace12329
+SHA256 (gcc-testsuite-3.4.2.tar.bz2) = d53f46300032b7f3bdf06ae812a02dac878210d3e963b14c2e36f31495bcdfb2
+SIZE (gcc-testsuite-3.4.2.tar.bz2) = 2615124
cvs diff: files/patch-config-freebsd-spec.h was removed, no comparison available
cvs diff: files/patch-gcc__config.gcc is a new entry, no comparison available
cvs diff: files/patch-gcc__config__freebsd-spec.h is a new entry, no comparison available
cvs diff: files/patch-gengtype-yacc.y was removed, no comparison available
--- /dev/null 2007-11-09 12:05:48.000000000 -0500
+++ files/patch-gcc__config.gcc 2007-11-08 20:47:49.000000000 -0500
@@ -0,0 +1,15 @@
+--- ./gcc/config.gcc.orig 2007-11-08 20:47:35.000000000 -0500
++++ ./gcc/config.gcc 2007-11-08 20:47:37.000000000 -0500
+@@ -400,6 +400,12 @@
+ tm_defines="${tm_defines} FBSD_MAJOR=5" ;;
+ *-*-freebsd6 | *-*-freebsd[6].*)
+ tm_defines="${tm_defines} FBSD_MAJOR=6" ;;
++ *-*-freebsd7 | *-*-freebsd[7].*)
++ tm_defines="${tm_defines} FBSD_MAJOR=7" ;;
++ *-*-freebsd8 | *-*-freebsd[8].*)
++ tm_defines="${tm_defines} FBSD_MAJOR=8" ;;
++ *-*-freebsd9 | *-*-freebsd[9].*)
++ tm_defines="${tm_defines} FBSD_MAJOR=9" ;;
+ *)
+ echo 'Please update *-*-freebsd* in gcc/config.gcc'
+ exit 1
--- /dev/null 2007-11-09 12:05:48.000000000 -0500
+++ files/patch-gcc__config__freebsd-spec.h 2007-11-08 20:15:45.000000000 -0500
@@ -0,0 +1,55 @@
+--- ./gcc/config/freebsd-spec.h.orig 2007-11-08 20:14:52.000000000 -0500
++++ ./gcc/config/freebsd-spec.h 2007-11-08 20:14:57.000000000 -0500
+@@ -48,26 +48,32 @@
+ || !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \
+ || !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
+
+-#define FBSD_TARGET_OS_CPP_BUILTINS() \
+- do \
+- { \
+- if (FBSD_MAJOR == 6) \
+- builtin_define ("__FreeBSD__=6"); \
+- else if (FBSD_MAJOR == 5) \
+- builtin_define ("__FreeBSD__=5"); \
+- else if (FBSD_MAJOR == 4) \
+- builtin_define ("__FreeBSD__=4"); \
+- else if (FBSD_MAJOR == 3) \
+- builtin_define ("__FreeBSD__=3"); \
+- else \
+- builtin_define ("__FreeBSD__"); \
+- builtin_define_std ("unix"); \
+- builtin_define ("__KPRINTF_ATTRIBUTE__"); \
+- builtin_assert ("system=unix"); \
+- builtin_assert ("system=bsd"); \
+- builtin_assert ("system=FreeBSD"); \
+- FBSD_TARGET_CPU_CPP_BUILTINS(); \
+- } \
++#define FBSD_TARGET_OS_CPP_BUILTINS() \
++ do \
++ { \
++ if (FBSD_MAJOR == 9) \
++ builtin_define ("__FreeBSD__=9"); \
++ else if (FBSD_MAJOR == 8) \
++ builtin_define ("__FreeBSD__=8"); \
++ else if (FBSD_MAJOR == 7) \
++ builtin_define ("__FreeBSD__=7"); \
++ else if (FBSD_MAJOR == 6) \
++ builtin_define ("__FreeBSD__=6"); \
++ else if (FBSD_MAJOR == 5) \
++ builtin_define ("__FreeBSD__=5"); \
++ else if (FBSD_MAJOR == 4) \
++ builtin_define ("__FreeBSD__=4"); \
++ else if (FBSD_MAJOR == 3) \
++ builtin_define ("__FreeBSD__=3"); \
++ else \
++ builtin_define ("__FreeBSD__"); \
++ builtin_define_std ("unix"); \
++ builtin_define ("__KPRINTF_ATTRIBUTE__"); \
++ builtin_assert ("system=unix"); \
++ builtin_assert ("system=bsd"); \
++ builtin_assert ("system=FreeBSD"); \
++ FBSD_TARGET_CPU_CPP_BUILTINS(); \
++ } \
+ while (0)
+
+ /* Define the default FreeBSD-specific per-CPU hook code. */
>Release-Note:
>Audit-Trail:
>Unformatted:
>[pgollucci at trillian ~]$ /space/5-pgollucci/usr/bin/gcc -v
>Using built-in specs.
>Configured with: FreeBSD/amd64 system compiler
>Thread model: posix
>gcc version 3.4.2 [FreeBSD] 20040728
Now, hopefully the magic combo:
this new port
lang/gcc342
gcc342 -v
Reading specs from /usr/local/lib/gcc/i386-portbld-freebsd8.0/3.4.2/gcc/i386-portbld-freebsd8.0/3.4.2/specs
Configured with: ./..//gcc-3.4.2/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --program-suffix=342 --libdir=/usr/local/lib/gcc/i386-portbld-freebsd8.0/3.4.2 --with-gxx-include-dir=/usr/local/lib/gcc/i386-portbld-freebsd8.0 /3.4.2/include/c++/ --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc342 i386-portbld-freebsd8.0
Thread model: posix
gcc version 3.4.2 [FreeBSD]
CC=/usr/local/bin/gcc342 CXX=/usr/local/bin/g++342 make buildworld -DNO_CLEAN -DNOCLEAN
Gets fathers this time:
===> lib/libkvm
rm -f .depend
CC='/usr/local/bin/gcc342' mkdep -f .depend -a -DLIBC_SCCS -I/usr/src/lib/libkvm /usr/src/lib/libkvm/kvm.c /usr/src/lib/libkvm/kvm_i386.c /usr/src/lib/libkvm/kvm_file.c /usr/src/lib/libkvm/kvm_getloadavg.c /usr/src/lib/libkvm/kvm_getswapinfo.c /usr/sr c/lib/libkvm/kvm_proc.c
/usr/local/bin/gcc342 -O -pipe -DLIBC_SCCS -I/usr/src/lib/libkvm -c /usr/src/lib/libkvm/kvm.c
/usr/local/bin/gcc342 -O -pipe -DLIBC_SCCS -I/usr/src/lib/libkvm -c /usr/src/lib/libkvm/kvm_i386.c
/usr/local/bin/gcc342 -O -pipe -DLIBC_SCCS -I/usr/src/lib/libkvm -c /usr/src/lib/libkvm/kvm_file.c
/usr/local/bin/gcc342 -O -pipe -DLIBC_SCCS -I/usr/src/lib/libkvm -c /usr/src/lib/libkvm/kvm_getloadavg.c
/usr/local/bin/gcc342 -O -pipe -DLIBC_SCCS -I/usr/src/lib/libkvm -c /usr/src/lib/libkvm/kvm_getswapinfo.c
/usr/local/bin/gcc342 -O -pipe -DLIBC_SCCS -I/usr/src/lib/libkvm -c /usr/src/lib/libkvm/kvm_proc.c
/usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
/usr/src/lib/libkvm/kvm_proc.c:108: error: storage size of 'mkg' isn't known
/usr/src/lib/libkvm/kvm_proc.c:132: error: structure has no member named `p_ksegrps'
/usr/src/lib/libkvm/kvm_proc.c:137: error: structure has no member named `p_ksegrps'
/usr/src/lib/libkvm/kvm_proc.c:218: error: structure has no member named `p_sflag'
/usr/src/lib/libkvm/kvm_proc.c:231: error: structure has no member named `p_ru'
/usr/src/lib/libkvm/kvm_proc.c:347: error: structure has no member named `p_runtime'
/usr/src/lib/libkvm/kvm_proc.c:357: error: structure has no member named `p_swtime'
/usr/src/lib/libkvm/kvm_proc.c:359: error: structure has no member named `p_sflag'
*** Error code 1
Stop in /usr/src/lib/libkvm.
I might be over my head on this error in the kernel magic, but I still think this is a good port to keep in the tree as long as RELENG_5 anything is officially supported.
Feel free to put me in place though.
More information about the freebsd-ports-bugs
mailing list