gcc: fail sanity check error, I suppose due to cxx USE flag missed

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
0
down vote

favorite
2












Recently I've done emerge -e world and then found that gcc was compiled without cxx flag. Now I can't compile any C++ package due to



configure: error: C++ preprocessor "/lib/cpp" fails sanity check


I'm thinking on copying files returned by equery f gcc|grep -v share
from stage3. Will it help? Is there any simpler way?



UPDATE 1
Here's my config.log



UPDATE 2
Here's my make.conf
Please, note there's cxx flag in USE. I've added it recently, but it does not help as I can't rebuild packages.



UPDATE 3 I have tried to reinstall gcc-4.6.3 from binary package via



emerge -avK gcc:4.6


It completed successfully but error didn't go.



Also, I've noticed that:



configure:11955: /lib/cpp conftest.cpp
cpp: error: conftest.cpp: C++ compiler not installed on this system
configure:11955: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "expat"
| #define PACKAGE_TARNAME "expat"
| #define PACKAGE_VERSION "2.1.0"
| #define PACKAGE_STRING "expat 2.1.0"
| #define PACKAGE_BUGREPORT "expat-bugs@libexpat.org"
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error


Looks like it claims that C++ compiler is not installed on my system. But this sounds like rubbish, since gcc:4.6 was installed from bin-package and I assume it's compiled with C++ support.



UPDATE 4 Indeed there's a problem with g++



uhradio ~ # g++ queue.cpp 
gcc-config: error: could not run/locate 'g++'
uhradio ~ # cpp queue.cpp
cpp: error: queue.cpp: C++ compiler not installed on this system


The output from gcc-config -l is:



[1] x86_64-pc-linux-gnu-4.6.3 *









share|improve this question























  • What does which g++ say? Run the command from update 4 with -v, so it tells you exactly what it is trying to do, and hunt down the programs it is trying to run. I believe your diagnosis is correct, you didn't build GCC with C++ support, that's all.
    – vonbrand
    Jan 25 '13 at 12:12










  • Did you add the CXX flag inside or outside of the chroot?
    – eyoung100
    Dec 14 '14 at 2:16














up vote
0
down vote

favorite
2












Recently I've done emerge -e world and then found that gcc was compiled without cxx flag. Now I can't compile any C++ package due to



configure: error: C++ preprocessor "/lib/cpp" fails sanity check


I'm thinking on copying files returned by equery f gcc|grep -v share
from stage3. Will it help? Is there any simpler way?



UPDATE 1
Here's my config.log



UPDATE 2
Here's my make.conf
Please, note there's cxx flag in USE. I've added it recently, but it does not help as I can't rebuild packages.



UPDATE 3 I have tried to reinstall gcc-4.6.3 from binary package via



emerge -avK gcc:4.6


It completed successfully but error didn't go.



Also, I've noticed that:



configure:11955: /lib/cpp conftest.cpp
cpp: error: conftest.cpp: C++ compiler not installed on this system
configure:11955: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "expat"
| #define PACKAGE_TARNAME "expat"
| #define PACKAGE_VERSION "2.1.0"
| #define PACKAGE_STRING "expat 2.1.0"
| #define PACKAGE_BUGREPORT "expat-bugs@libexpat.org"
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error


Looks like it claims that C++ compiler is not installed on my system. But this sounds like rubbish, since gcc:4.6 was installed from bin-package and I assume it's compiled with C++ support.



UPDATE 4 Indeed there's a problem with g++



uhradio ~ # g++ queue.cpp 
gcc-config: error: could not run/locate 'g++'
uhradio ~ # cpp queue.cpp
cpp: error: queue.cpp: C++ compiler not installed on this system


The output from gcc-config -l is:



[1] x86_64-pc-linux-gnu-4.6.3 *









share|improve this question























  • What does which g++ say? Run the command from update 4 with -v, so it tells you exactly what it is trying to do, and hunt down the programs it is trying to run. I believe your diagnosis is correct, you didn't build GCC with C++ support, that's all.
    – vonbrand
    Jan 25 '13 at 12:12










  • Did you add the CXX flag inside or outside of the chroot?
    – eyoung100
    Dec 14 '14 at 2:16












up vote
0
down vote

favorite
2









up vote
0
down vote

favorite
2






2





Recently I've done emerge -e world and then found that gcc was compiled without cxx flag. Now I can't compile any C++ package due to



configure: error: C++ preprocessor "/lib/cpp" fails sanity check


I'm thinking on copying files returned by equery f gcc|grep -v share
from stage3. Will it help? Is there any simpler way?



UPDATE 1
Here's my config.log



UPDATE 2
Here's my make.conf
Please, note there's cxx flag in USE. I've added it recently, but it does not help as I can't rebuild packages.



UPDATE 3 I have tried to reinstall gcc-4.6.3 from binary package via



emerge -avK gcc:4.6


It completed successfully but error didn't go.



Also, I've noticed that:



configure:11955: /lib/cpp conftest.cpp
cpp: error: conftest.cpp: C++ compiler not installed on this system
configure:11955: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "expat"
| #define PACKAGE_TARNAME "expat"
| #define PACKAGE_VERSION "2.1.0"
| #define PACKAGE_STRING "expat 2.1.0"
| #define PACKAGE_BUGREPORT "expat-bugs@libexpat.org"
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error


Looks like it claims that C++ compiler is not installed on my system. But this sounds like rubbish, since gcc:4.6 was installed from bin-package and I assume it's compiled with C++ support.



UPDATE 4 Indeed there's a problem with g++



uhradio ~ # g++ queue.cpp 
gcc-config: error: could not run/locate 'g++'
uhradio ~ # cpp queue.cpp
cpp: error: queue.cpp: C++ compiler not installed on this system


The output from gcc-config -l is:



[1] x86_64-pc-linux-gnu-4.6.3 *









share|improve this question















Recently I've done emerge -e world and then found that gcc was compiled without cxx flag. Now I can't compile any C++ package due to



configure: error: C++ preprocessor "/lib/cpp" fails sanity check


I'm thinking on copying files returned by equery f gcc|grep -v share
from stage3. Will it help? Is there any simpler way?



UPDATE 1
Here's my config.log



UPDATE 2
Here's my make.conf
Please, note there's cxx flag in USE. I've added it recently, but it does not help as I can't rebuild packages.



UPDATE 3 I have tried to reinstall gcc-4.6.3 from binary package via



emerge -avK gcc:4.6


It completed successfully but error didn't go.



Also, I've noticed that:



configure:11955: /lib/cpp conftest.cpp
cpp: error: conftest.cpp: C++ compiler not installed on this system
configure:11955: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "expat"
| #define PACKAGE_TARNAME "expat"
| #define PACKAGE_VERSION "2.1.0"
| #define PACKAGE_STRING "expat 2.1.0"
| #define PACKAGE_BUGREPORT "expat-bugs@libexpat.org"
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| Syntax error


Looks like it claims that C++ compiler is not installed on my system. But this sounds like rubbish, since gcc:4.6 was installed from bin-package and I assume it's compiled with C++ support.



UPDATE 4 Indeed there's a problem with g++



uhradio ~ # g++ queue.cpp 
gcc-config: error: could not run/locate 'g++'
uhradio ~ # cpp queue.cpp
cpp: error: queue.cpp: C++ compiler not installed on this system


The output from gcc-config -l is:



[1] x86_64-pc-linux-gnu-4.6.3 *






gentoo gcc






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 17 '16 at 12:59









Faheem Mitha

22.3k1677134




22.3k1677134










asked Jan 25 '13 at 9:56









archer

869




869











  • What does which g++ say? Run the command from update 4 with -v, so it tells you exactly what it is trying to do, and hunt down the programs it is trying to run. I believe your diagnosis is correct, you didn't build GCC with C++ support, that's all.
    – vonbrand
    Jan 25 '13 at 12:12










  • Did you add the CXX flag inside or outside of the chroot?
    – eyoung100
    Dec 14 '14 at 2:16
















  • What does which g++ say? Run the command from update 4 with -v, so it tells you exactly what it is trying to do, and hunt down the programs it is trying to run. I believe your diagnosis is correct, you didn't build GCC with C++ support, that's all.
    – vonbrand
    Jan 25 '13 at 12:12










  • Did you add the CXX flag inside or outside of the chroot?
    – eyoung100
    Dec 14 '14 at 2:16















What does which g++ say? Run the command from update 4 with -v, so it tells you exactly what it is trying to do, and hunt down the programs it is trying to run. I believe your diagnosis is correct, you didn't build GCC with C++ support, that's all.
– vonbrand
Jan 25 '13 at 12:12




What does which g++ say? Run the command from update 4 with -v, so it tells you exactly what it is trying to do, and hunt down the programs it is trying to run. I believe your diagnosis is correct, you didn't build GCC with C++ support, that's all.
– vonbrand
Jan 25 '13 at 12:12












Did you add the CXX flag inside or outside of the chroot?
– eyoung100
Dec 14 '14 at 2:16




Did you add the CXX flag inside or outside of the chroot?
– eyoung100
Dec 14 '14 at 2:16










2 Answers
2






active

oldest

votes

















up vote
0
down vote













This is probably what you're looking for. In short, install the kernel headers and you should be set.






share|improve this answer




















  • linux-headers-3.6 was installed, problem still persist
    – archer
    Jan 25 '13 at 10:03










  • This being the case, I'd go with a reinstall, with /home and the important files (e.g. make.conf) backed up. In terms of time spent, you are probably better off.
    – schaiba
    Jan 25 '13 at 10:12










  • that's absolutelly impossible as this is remote box. This system is fresh and clean but only fails sanity check is my issue.
    – archer
    Jan 25 '13 at 10:16










  • Please paste your make.conf as well.
    – schaiba
    Jan 25 '13 at 10:46

















up vote
0
down vote













Although emerge -avK gcc:4.6 didn't help I've manually extracted gcc-4.6.3.tbz2 into / directory then set gcc-config 1 and it helped (although my /usr/lib has gone after that operation, I've manually symlinked it back to /usr/lib64. Now I'm rebuilding both gcc's (4.5 and 4.6) with cxx USE flag.



My quesion now turns into another one. What's the reason cxx USE flag gone from my system built from stage3? I'm installing gentoo linux for years and never explicitly set cxx USE flag like now.






share|improve this answer




















  • You really need to reinstall... the CXX flag is inherited from the profile using eselect profile If you never set the profile, you're going to spend more time repairing damage than using the system.
    – eyoung100
    Dec 14 '14 at 2:18










Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f62527%2fgcc-fail-sanity-check-error-i-suppose-due-to-cxx-use-flag-missed%23new-answer', 'question_page');

);

Post as a guest






























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
0
down vote













This is probably what you're looking for. In short, install the kernel headers and you should be set.






share|improve this answer




















  • linux-headers-3.6 was installed, problem still persist
    – archer
    Jan 25 '13 at 10:03










  • This being the case, I'd go with a reinstall, with /home and the important files (e.g. make.conf) backed up. In terms of time spent, you are probably better off.
    – schaiba
    Jan 25 '13 at 10:12










  • that's absolutelly impossible as this is remote box. This system is fresh and clean but only fails sanity check is my issue.
    – archer
    Jan 25 '13 at 10:16










  • Please paste your make.conf as well.
    – schaiba
    Jan 25 '13 at 10:46














up vote
0
down vote













This is probably what you're looking for. In short, install the kernel headers and you should be set.






share|improve this answer




















  • linux-headers-3.6 was installed, problem still persist
    – archer
    Jan 25 '13 at 10:03










  • This being the case, I'd go with a reinstall, with /home and the important files (e.g. make.conf) backed up. In terms of time spent, you are probably better off.
    – schaiba
    Jan 25 '13 at 10:12










  • that's absolutelly impossible as this is remote box. This system is fresh and clean but only fails sanity check is my issue.
    – archer
    Jan 25 '13 at 10:16










  • Please paste your make.conf as well.
    – schaiba
    Jan 25 '13 at 10:46












up vote
0
down vote










up vote
0
down vote









This is probably what you're looking for. In short, install the kernel headers and you should be set.






share|improve this answer












This is probably what you're looking for. In short, install the kernel headers and you should be set.







share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 25 '13 at 10:02









schaiba

5,38312028




5,38312028











  • linux-headers-3.6 was installed, problem still persist
    – archer
    Jan 25 '13 at 10:03










  • This being the case, I'd go with a reinstall, with /home and the important files (e.g. make.conf) backed up. In terms of time spent, you are probably better off.
    – schaiba
    Jan 25 '13 at 10:12










  • that's absolutelly impossible as this is remote box. This system is fresh and clean but only fails sanity check is my issue.
    – archer
    Jan 25 '13 at 10:16










  • Please paste your make.conf as well.
    – schaiba
    Jan 25 '13 at 10:46
















  • linux-headers-3.6 was installed, problem still persist
    – archer
    Jan 25 '13 at 10:03










  • This being the case, I'd go with a reinstall, with /home and the important files (e.g. make.conf) backed up. In terms of time spent, you are probably better off.
    – schaiba
    Jan 25 '13 at 10:12










  • that's absolutelly impossible as this is remote box. This system is fresh and clean but only fails sanity check is my issue.
    – archer
    Jan 25 '13 at 10:16










  • Please paste your make.conf as well.
    – schaiba
    Jan 25 '13 at 10:46















linux-headers-3.6 was installed, problem still persist
– archer
Jan 25 '13 at 10:03




linux-headers-3.6 was installed, problem still persist
– archer
Jan 25 '13 at 10:03












This being the case, I'd go with a reinstall, with /home and the important files (e.g. make.conf) backed up. In terms of time spent, you are probably better off.
– schaiba
Jan 25 '13 at 10:12




This being the case, I'd go with a reinstall, with /home and the important files (e.g. make.conf) backed up. In terms of time spent, you are probably better off.
– schaiba
Jan 25 '13 at 10:12












that's absolutelly impossible as this is remote box. This system is fresh and clean but only fails sanity check is my issue.
– archer
Jan 25 '13 at 10:16




that's absolutelly impossible as this is remote box. This system is fresh and clean but only fails sanity check is my issue.
– archer
Jan 25 '13 at 10:16












Please paste your make.conf as well.
– schaiba
Jan 25 '13 at 10:46




Please paste your make.conf as well.
– schaiba
Jan 25 '13 at 10:46












up vote
0
down vote













Although emerge -avK gcc:4.6 didn't help I've manually extracted gcc-4.6.3.tbz2 into / directory then set gcc-config 1 and it helped (although my /usr/lib has gone after that operation, I've manually symlinked it back to /usr/lib64. Now I'm rebuilding both gcc's (4.5 and 4.6) with cxx USE flag.



My quesion now turns into another one. What's the reason cxx USE flag gone from my system built from stage3? I'm installing gentoo linux for years and never explicitly set cxx USE flag like now.






share|improve this answer




















  • You really need to reinstall... the CXX flag is inherited from the profile using eselect profile If you never set the profile, you're going to spend more time repairing damage than using the system.
    – eyoung100
    Dec 14 '14 at 2:18














up vote
0
down vote













Although emerge -avK gcc:4.6 didn't help I've manually extracted gcc-4.6.3.tbz2 into / directory then set gcc-config 1 and it helped (although my /usr/lib has gone after that operation, I've manually symlinked it back to /usr/lib64. Now I'm rebuilding both gcc's (4.5 and 4.6) with cxx USE flag.



My quesion now turns into another one. What's the reason cxx USE flag gone from my system built from stage3? I'm installing gentoo linux for years and never explicitly set cxx USE flag like now.






share|improve this answer




















  • You really need to reinstall... the CXX flag is inherited from the profile using eselect profile If you never set the profile, you're going to spend more time repairing damage than using the system.
    – eyoung100
    Dec 14 '14 at 2:18












up vote
0
down vote










up vote
0
down vote









Although emerge -avK gcc:4.6 didn't help I've manually extracted gcc-4.6.3.tbz2 into / directory then set gcc-config 1 and it helped (although my /usr/lib has gone after that operation, I've manually symlinked it back to /usr/lib64. Now I'm rebuilding both gcc's (4.5 and 4.6) with cxx USE flag.



My quesion now turns into another one. What's the reason cxx USE flag gone from my system built from stage3? I'm installing gentoo linux for years and never explicitly set cxx USE flag like now.






share|improve this answer












Although emerge -avK gcc:4.6 didn't help I've manually extracted gcc-4.6.3.tbz2 into / directory then set gcc-config 1 and it helped (although my /usr/lib has gone after that operation, I've manually symlinked it back to /usr/lib64. Now I'm rebuilding both gcc's (4.5 and 4.6) with cxx USE flag.



My quesion now turns into another one. What's the reason cxx USE flag gone from my system built from stage3? I'm installing gentoo linux for years and never explicitly set cxx USE flag like now.







share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 25 '13 at 12:59









archer

869




869











  • You really need to reinstall... the CXX flag is inherited from the profile using eselect profile If you never set the profile, you're going to spend more time repairing damage than using the system.
    – eyoung100
    Dec 14 '14 at 2:18
















  • You really need to reinstall... the CXX flag is inherited from the profile using eselect profile If you never set the profile, you're going to spend more time repairing damage than using the system.
    – eyoung100
    Dec 14 '14 at 2:18















You really need to reinstall... the CXX flag is inherited from the profile using eselect profile If you never set the profile, you're going to spend more time repairing damage than using the system.
– eyoung100
Dec 14 '14 at 2:18




You really need to reinstall... the CXX flag is inherited from the profile using eselect profile If you never set the profile, you're going to spend more time repairing damage than using the system.
– eyoung100
Dec 14 '14 at 2:18

















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f62527%2fgcc-fail-sanity-check-error-i-suppose-due-to-cxx-use-flag-missed%23new-answer', 'question_page');

);

Post as a guest













































































Popular posts from this blog

Peggy Mitchell

Palaiologos

The Forum (Inglewood, California)