Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
People,
For some unknown reason, my g++ compiler will not run any more.
It gives an error message:
cc1plus: error: /usr/local/include/x86_64-linux-gnu permission denied
Also noted:
1. The directory /usr/local/include is empty. Permissions are 774.
owner is root; group is staff.
2. Running whereis gives /usr/bin/g++
3. Directory /usr/bin is full of symlinks of the sort x86_64-* which all
seem to link back to routines in /usr/bin.
4. System is here stand-alone desktop running under Debian 8.6
Can anybody please suggest what might be wrong and how I can fix it?
Thanks in advance.
Dynosaw
--
You are a newbie. To see some file as root you have deleted 'em, and some other again. You must reinstall gcc! If files are missing, this is not a complete installation! Be careful! Now if you have packet (surely!) manager use it according your distribution documentation and use a reinstall of the packet corresponding gcc. So you will solve all! Don't post similar idiocies or forum will be fullfill and we can't work!
Norobro,
Thanks for your advice. Much appreciated. In fact setting the permissions of
/usr/local/include to 776 seems to have done the trick. From that standpoint the
matter can be closed out. But some unanswered questions do remain.
1. The directory /usr/local/include is still empty (not even a dot-file to be seen).
Why does g++ need world access to an empty directory?? Isn't /tmp (or such like)
used for interim storage?
2. Neither the SUID nor the GUID bit is set for /usr/local/include. And g++ works so
why must the GUID bit be set? Why widen the malware attack profile?
BTW:
From my "newbie" perspective the subject of SUID/GUID seems to be one big UNDOCUMENTED
can of worms. There is a sufficiency of articles expounding the Grand General Principles
of how potentially insecure the SUID and GUID bits can be; but there is a dearth of
detailed info on the web which fleshes out the the do's and don't's. And the books I have don't help either.
And don't say mechanically "The distro knows best".
Immediately after I installed Jessie, I ran iptables -S -V and found the box was wide
open to everything on internet; INPUT OUTPUT and FORWARD all ACCEPT without restriction
presumably, also during installation as well. Not even a simple --conntrack check. Nor
even a warning that the box was still unprotected and action was required.
The point here is, a couple of weeks leisurely internet research found what I needed to
set up iptables to strap down internet access, chain-by-chain, port-by-port, protocol-
by-protocol leaving no superfluous services to widen the attack profile. And a simple check
with nmap found no holes so we hope for the best.
But the SUID and GUID saga seems to be a different story. It makes me very nervous.]
Sorry, SUID/GUID is a bit off-topic but it has to be said.
--
Dynosaw
if you are interested, just open a new thread about suid-guid.
/usr/local/include may contain include files, but by default it is not used. You might installed something which put some files into /usr/local/include.
2 and 3 is ok, but if you tell the exact links you found we may tell you more about that.
(in general /usr/bin/g++ is link to the real compiler, which contains a version number too. Therefore you may have different versions installed)
Distribution: Debian, Red Hat, Slackware, Fedora, Ubuntu
Posts: 13,602
Rep:
Quote:
Originally Posted by Unaaaaab
You are a newbie. [snip] Don't post similar idiocies or forum will be fullfill and we can't work!
Welcome to LQ, Unaaaaab. Please note that we aim to be welcoming to members of all technical levels, so the above behavior isn't expected here. If you have any questions, let us know.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.