Date: Mon, 25 Mar 2013 19:21:17 +0200 From: "Andrew W. Nosenko" <andrew.w.nosenko@gmail.com> To: Gerald Pfeifer <gerald@pfeifer.com> Cc: Anton Shterenlikht <mexas@bristol.ac.uk>, freebsd-ports@freebsd.org, bdrewery@freebsd.org Subject: Re: is it a good idea to overwrite GCC_DEFAULT_VERSION= in Mk/bsd.gcc.mk? Message-ID: <CALa-7vw=e2GkfvReD4-eurUv%2BNaR6nJAT9cZ45tQVT6uac-n7Q@mail.gmail.com> In-Reply-To: <alpine.LNX.2.00.1303251658150.1897@trevally.site> References: <201303251549.r2PFnx8W004768@mech-cluster241.men.bris.ac.uk> <alpine.LNX.2.00.1303251658150.1897@trevally.site>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 25, 2013 at 5:59 PM, Gerald Pfeifer <gerald@pfeifer.com> wrote: > On Mon, 25 Mar 2013, Anton Shterenlikht wrote: >> I've now run ia64 with the above change for over 2 weeks, >> mostly rebuilding ports, etc. >> I didn't see any issues with gcc47. >> So, from my very limited testing, >> gcc47 can be made default. > > Thanks for the feedback, Anton! To really make that switch > globally, we'll need more extensive testing, a full ports builds > run, since there is a chance that some port you are not using may > be broken, and I hope to get this done in the coming weeks. >From my expiriense, devel/glib20 cannot be compiled with gcc47. Reason, as I see it, the reality may be slightly different or more complex, but, I hope it will give a hint about direction: 1. glib'c configure checks whether -Bsymbolic-functions option is supported by linker (by passing it as -Wl,-Bsymbolic-functions through CC/CXX frontend) 2. Because gcc47 frontend calls /usr/local/lib/ld, which is fresh enough, the check passes as "supported". 3. configure registers gcc47 as linker frontend, generates libtool script, and so on... 4. At the real link time the port machinery hijacks invocations to the generated libtool scrips and redirects them to the own gnome-libtool, which know nothing about configure results, and which uses hardcoded "cc" instead of requested gcc47 5. cc is /usr/bin/cc aka gcc-4.2 in my case. It uses /usr/bin/ld (from base) instead of /usr/local/bin/ld (from ports). 6. Base version lf ld is old enough and know nothing about -Bsymbolic-functions flag. 7. As consequence, build finishes with linker error. Again: The description above may be inaccurate or wrong in details. I didn't investigate the problem throughly. But it is how it looks like. -- Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALa-7vw=e2GkfvReD4-eurUv%2BNaR6nJAT9cZ45tQVT6uac-n7Q>