1 |
On 10/19/14 19:08, Alex Xu wrote: |
2 |
> On 19/10/14 06:53 PM, Anthony G. Basile wrote: |
3 |
>> the default is still gnu++98 |
4 |
> what does this mean, how does it differ from c++98? |
5 |
|
6 |
Its a gnu dialect. I'm not sure of the details of how it deviates from |
7 |
the strict standard. I'm more familiar with how c++11 differs from |
8 |
c++98. Google around and let me know what you find. |
9 |
|
10 |
> |
11 |
>> in the older ABI, can lead to a crippled system. |
12 |
> what do you mean, will other packages break too? maybe "may lead to |
13 |
> non-functioning or possibly broken packages". adjust as necessary; I am |
14 |
> not familiar with what may break if incompatible libraries are linked |
15 |
> together. |
16 |
|
17 |
If you build a library in the "other" abi, then executables which link |
18 |
against it may fail. I say "may" because you might get lucky and just |
19 |
miss one of the changes. See |
20 |
https://gcc.gnu.org/wiki/Cxx11AbiCompatibility. That's only for gcc-4.7 |
21 |
though. I got a feeling that list is not complete. |
22 |
|
23 |
> |
24 |
>> However, as c++11 gains in popularity and the number of packages using it |
25 |
>> increase, it is important that users understand these precautions. |
26 |
> what precautions? what am I supposed to do? is there a option to warn me |
27 |
> if I try to do something stupid? should I check some packages on my system? |
28 |
|
29 |
Do nothing. A careful reading implies that you should not just add |
30 |
-std=c++11 or gnu++11 to your compiler flags without knowing that things |
31 |
can break. I can emphasis that at this point. |
32 |
|
33 |
> |
34 |
> remember that gcc-4.7 is literally all (standard) gentoo users, so a |
35 |
> news item needs to be clear about who exactly needs to care about the |
36 |
> issue, which here appears to be a small subset of "all (standard) gentoo |
37 |
> users"; namely, those who specifically opt in to using C++11 (or are |
38 |
> compiling such packages manually). |
39 |
|
40 |
User fool around with stuff all the time which I like. This is a |
41 |
cautionary note which increases awareness especially when we get bug |
42 |
reports. The real question to my colleagues is whether they think this |
43 |
is news worthy or not. I don't want to turn it into a c++11 gentoo howto. |
44 |
|
45 |
> |
46 |
> also, strictly speaking, last I checked, the name of the standard is |
47 |
> C++11; c++11 is just what gcc takes. |
48 |
> |
49 |
> and maybe some links about what could break if I link incompatible |
50 |
> libraries together would be helpful, since the links don't seem to go |
51 |
> over that (at least apparently; I did not read the entire contents). |
52 |
> |
53 |
|
54 |
Basically what happens is you get unresolved symbols. You will know them |
55 |
because of the charactarist c++ mangled names which you can demangle |
56 |
with c++filt. |
57 |
|
58 |
-- |
59 |
Anthony G. Basile, Ph.D. |
60 |
Gentoo Linux Developer [Hardened] |
61 |
E-Mail : blueness@g.o |
62 |
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA |
63 |
GnuPG ID : F52D4BBA |