pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: gcc version selection





On 10/03/14 07:29, Jonathan Perkin wrote:
* On 2014-10-03 at 13:21 BST, Patrick Welche wrote:

On Fri, Oct 03, 2014 at 12:34:20PM +0100, Jonathan Perkin wrote:
* On 2014-10-03 at 12:14 BST, Patrick Welche wrote:

I'm still confused by gcc version selection - how is it meant to work?

On NetBSD 5/i386 (i.e., a system with gcc 4.1.3):

# cd /usr/pkgsrc/graphics/openexr
# make show-var VARNAME=GCC_REQD
4.3 2.8.0
# make show-depends
{gcc49,gcc49-libs}>=4.9:../../lang/gcc49-libs
ilmbase>=2.2.0nb1:../../graphics/ilmbase
#

So, how did we get from 4.3 to 4.9?

Likely because pkgsrc has no GCC 4.3, and the current logic is that if
none of the patterns match we use the latest, i.e. 4.9.

Actually, as rules go, that doesn't seem like a bad one. The only problem
is that -current has 4.8, so I saw trouble in ImageMagick that doesn't seem
to be happy being compiled with 4.9 (still to be looked at)

Yes, we should probably fix this.

1) teach mk/compiler/gcc.mk to use 4.4 for 4.3?
2) change GCC_REQD in Makefiles from 4.3 to 4.4?
3) something else?

#1 in a general case, i.e. if there is no exact match then use the
next higher version that we offer rather than simply jumping straight
to the highest.

We shouldn't do #2 as it would penalise users of native GCC 4.3.

Case in point: boost currently requires GCC45 for all but NetBSD.

(meta-pkgs/boost/Makefile.common)

This requirement prevents boost from building on CentOS 6.5, which uses GCC 4.4 as the base compiler.

Boost builds and works fine if the requirement is changed to GCC44.

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Jason W. Bacon
  jwbacon%tds.net@localhost

  Circumstances don't make a man:
  They reveal him.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Home | Main Index | Thread Index | Old Index