Joerg Sonnenberger <joerg%bec.de@localhost> writes: >> That sounds like a framework bug. USE_LANGUAGES=c++11 is supposed to >> ensure that the complier used is capable of c++11. > > No, it doesn't. That wouldn't work as it results in random mixing of GCC > versions used with different ABIs. You have to preselect a version that > supports all the C++ ABIs you need. I agree with you about the ABI issue, and have said that before. But, I remembered that the last big discussion of this did not have full consensus, and misremembered the outcome, thinking that we had put in requiring newish gcc for c++11, realizing that it would add ABI issues while maybe fixing some builds. I just went and looked at mk/, and see that what actually happened was simply setting --std for the various USE_LANGUAGES flavors, with no influence on compiler selection. I think pkgsrc should have a better default for c++ than using base 4.4. So I think this is still a framework bug, just one that we know about and didn't reach consensus to fix :-) So trying to find a way forward: 1) Jason should set GCC_REQD=4.8 in mk.conf for his entire build. This is not something to adjust in individual packages because of the ABI issue. But, this solution is not entirely ok because the default build with no patches/settings will not work. 2) We should consider changing mk/ somehow so that platforms with old compilers (<4.8?) GCC_REQD is forced to something that at least supports c++11 for either 1) all builds or 2) all builds with c++. I thought we had almost consensus on this. and explicitly not endorsing 3) Change mk/ so that c++11 sets newish GCC_REQD and c++ does not. I am now thinking that there was disagreement between 2 and 3. Option 1 doesn't involve changing pkgsrc so Jason can do that during the freeze :-) The other changes are obviously too big in freeze. But it would be really good to fix this early in the next quarter.
Attachment:
signature.asc
Description: PGP signature