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