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












0














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
















0














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














0












0








0


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.7k1880135




22.7k1880135










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


















0














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



















0














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',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
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















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














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
















0














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














0












0








0






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,45912029




5,45912029












  • 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













0














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
















0














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














0












0








0






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




















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




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















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Morgemoulin

Scott Moir

Souastre