1 |
On 04/26/2017 11:03 PM, Walter Dnes wrote: |
2 |
> On Wed, Apr 26, 2017 at 06:01:20AM +0800, Bill Kenworthy wrote |
3 |
> |
4 |
>> That flag isn't mentioned here. |
5 |
> |
6 |
> I checked the source code. It forces the old ABI, so it should work, |
7 |
> compiled with GCC 5.4.0, even on a Gcc 4.9.4 system... |
8 |
> |
9 |
> [CentOS65][pmbuilder][~/pmmaster] grep -r GLIBCXX_USE_CXX11_ABI pmsrc |
10 |
> pmsrc/configure: CXXFLAGS="$CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" |
11 |
> pmsrc/configure: HOST_CXXFLAGS="$HOST_CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" |
12 |
> pmsrc/configure.in: CXXFLAGS="$CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" |
13 |
> pmsrc/configure.in: HOST_CXXFLAGS="$HOST_CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" |
14 |
> |
15 |
|
16 |
Walter, |
17 |
|
18 |
That flag "-D_GLIBCXX_USE_CXX11_ABI=0" is a CPPFLAG. It is only |
19 |
recognized by GCC 5.1.x and higher. And it only works on GCC built with |
20 |
dual ABI support. Gentoo doesn't support the dual ABI builds. |
21 |
|
22 |
Info links : |
23 |
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html |
24 |
https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html#abi.versioning.__GLIBCXX__ |
25 |
https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html |
26 |
|
27 |
On my system, I went ahead with the switch to GCC 5.4.0. |
28 |
|
29 |
The "-D_GLIBCXX_USE_CXX11_ABI=1" CPPFLAG forces GCC to check IF the new |
30 |
ABI should be applied FIRST. NO FORCING the ABI on software that doesn't |
31 |
use it. |
32 |
|
33 |
Putting CPPFLAGS="-D_GLIBCXX_USE_CXX11_ABI=1" in make.conf killed almost |
34 |
all the erorrs in the revdep-rebuild process. |
35 |
|
36 |
Putting that in as a CFLAGS or CXXFLAGS switch caused lots of errors in |
37 |
revdep-rebuild. |
38 |
|
39 |
Thought you might want to know. |
40 |
|
41 |
Corbin |