Bug 163103 - lang/gcc42 build fail on FreeBSD 9.0-RC2
Summary: lang/gcc42 build fail on FreeBSD 9.0-RC2
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Gerald Pfeifer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-07 06:20 UTC by cheunghonyu
Modified: 2011-12-22 15:20 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description cheunghonyu 2011-12-07 06:20:08 UTC
build from ports tree and get the errors

The first error point
=====================

checking whether fprintf_unlocked is declared... .././../gcc-4.2-20090325/libcpp/charset.c:1307: error: conflicting types for 'cpp_interpret_string'
././../gcc-4.2-20090325/libcpp/include/cpplib.h:692: error: previous declaration of 'cpp_interpret_string' was here
././../gcc-4.2-20090325/libcpp/charset.c:1362: error: conflicting types for 'cpp_interpret_string_notranslate'
././../gcc-4.2-20090325/libcpp/include/cpplib.h:695: error: previous declaration of 'cpp_interpret_string_notranslate' was here
gmake[3]: *** [charset.o] Error 1
gmake[3]: Leaving directory `/usr/obj/usr/ports/lang/gcc42/work/build/libcpp'
gmake[2]: *** [all-stage1-libcpp] Error 2


The final error message
=======================
gmake[2]: Leaving directory `/usr/obj/usr/ports/lang/gcc42/work/build'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/usr/obj/usr/ports/lang/gcc42/work/build'
gmake: *** [bootstrap-lean] Error 2
*** Error code 1

How-To-Repeat: cd /usr/ports/lang/gcc42
make
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2011-12-07 06:20:19 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gerald

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Jan Beich freebsd_committer freebsd_triage 2011-12-07 14:12:32 UTC
Hon-Yu Lawrence Cheung <cheunghonyu@gmail.com> writes:

> declared... .././../gcc-4.2-20090325/libcpp/charset.c:1307: error:
> conflicting types for 'cpp_interpret_string'
> ././../gcc-4.2-20090325/libcpp/include/cpplib.h:692: error: previous declaration of 'cpp_interpret_string' was here
> ././../gcc-4.2-20090325/libcpp/charset.c:1362: error: conflicting types for 'cpp_interpret_string_notranslate'
> ././../gcc-4.2-20090325/libcpp/include/cpplib.h:695: error: previous declaration of 'cpp_interpret_string_notranslate' was here

Have you built world WITH_ICONV= ? Try the 2nd patch in ports/161417,
it should apply to any lang/gcc* version, I've tested only gcc42, gcc46.
Comment 3 Gerald Pfeifer freebsd_committer freebsd_triage 2011-12-11 08:28:28 UTC
State Changed
From-To: open->closed

I have just removed lang/gcc42 from the Ports Collection, so this 
does not apply any more.  Please use lang/gcc46 or later (or lang/gcc) 
instead.
Comment 4 dfilter service freebsd_committer freebsd_triage 2011-12-11 09:07:10 UTC
gerald      2011-12-11 09:06:56 UTC

  FreeBSD ports repository

  Modified files:
    lang                 Makefile 
  Removed files:
    lang/gcc42           Makefile distinfo pkg-descr pkg-plist 
    lang/gcc42/files     java-patch-hier 
  Log:
  Remove the lang/gcc42 port (GCC 4.2) which does not have any user in
  the tree any more and has been obsoleted by several newer versions of
  GCC -- ones that actually build on FreeBSD 10.x out of the box and
  provide better support for newer CPUs, better optimizations overall,
  and more advanced language support.
  
  GCC 4.6 aka lang/gcc or lang/gcc46 is the new default version of GCC
  in ports.
  
  The system compiler version of GCC 4.2 is still available up to and
  including FreeBSD 9.x and users of USE_GCC=4.2+ will be transparently
  redirected to lang/gcc if, or rather when, this changes.
  
  PR:             163103
  Feature safe:   yes
  
  Revision  Changes    Path
  1.759     +0 -1      ports/lang/Makefile
  1.362     +0 -106    ports/lang/gcc42/Makefile (dead)
  1.232     +0 -6      ports/lang/gcc42/distinfo (dead)
  1.6       +0 -13     ports/lang/gcc42/files/java-patch-hier (dead)
  1.11      +0 -6      ports/lang/gcc42/pkg-descr (dead)
  1.97      +0 -13     ports/lang/gcc42/pkg-plist (dead)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 5 dfilter service freebsd_committer freebsd_triage 2011-12-11 09:09:11 UTC
gerald      2011-12-11 09:09:03 UTC

  FreeBSD ports repository

  Modified files:
    .                    MOVED 
  Log:
  Remove the lang/gcc42 port (GCC 4.2) which does not have any user in
  the tree any more and has been obsoleted by several newer versions of
  GCC -- ones that actually build on FreeBSD 10.x out of the box and
  provide better support for newer CPUs, better optimizations overall,
  and more advanced language support.
  
  GCC 4.6 aka lang/gcc or lang/gcc46 is the new default version of GCC
  in ports.
  
  The system compiler version of GCC 4.2 is still available up to and
  including FreeBSD 9.x and users of USE_GCC=4.2+ will be transparently
  redirected to lang/gcc if, or rather when, this changes.
  
  PR:             163103
  Feature safe:   yes
  
  Revision  Changes    Path
  1.2697    +2 -1      ports/MOVED
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 6 Jan Beich freebsd_committer freebsd_triage 2011-12-11 20:56:32 UTC
gerald@FreeBSD.org writes:

> I have just removed lang/gcc42 from the Ports Collection, so this 
> does not apply any more.  Please use lang/gcc46 or later (or lang/gcc) 
> instead. 

The issue wasn't gcc42 specific, see

  http://docs.freebsd.org/cgi/mid.cgi?4EDEF1FF.5020307
Comment 7 gerald 2011-12-22 14:54:25 UTC
On Sun, 11 Dec 2011, Jan Beich wrote:
>  The issue wasn't gcc42 specific, see

Fair point, Jan.  So the right status would be duplicate to PR161417?

The GCC patch there is quite a hack, unfortunately.  We'd rather need
something that can go upstream (and goes upstream), at least for newer
lang/gcc ports.

And, really, even better not to break things like that in the first
place and keep interfaces and assumptions in place unless absolutely
necessary.

Gerald
Comment 8 gerald 2011-12-22 14:57:29 UTC
I looked at the patch for lang/gcc and this really is a bad hack.

My recommendation is to unbreak things by making the base system
more compatible with the iconv port.  Why differ, and cause troubles,
unless absolutely necessary and very beneficial?

Software like GCC needs to work out of the box, also outside the
context of ports, so a patch that can be accepted upstream and goes
there would be great if src is not fixed.

Thanks,
Gerald