[SOLVED] config stackprotector flag error with make of kernel
SlackwareThis Forum is for the discussion of Slackware Linux.
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.
I looked up "Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: -fstack-protector not supported by compiler"
and found something that said it was a result of having multiple versions of gcc installed.
I have only installed what was on the install DVD. When I
Code:
gcc --version (and g++)
returns
Quote:
gcc (GCC) 5.3.0
So I don't think it's the compiler. But I don't know for sure. What else can be causing the error?
If I understand the accepted answer correctly, I don't need this on my computer in order to make the new kernel. When I looked in the kernel's Makefile for the lines with the relevant flag, on lines 693-715 or so, it says:
What do I need to change to stop the CONFIG_CC_STACKPROTECTOR_ problem when I try to make the new kernel, assuming the problem is with the kernel Makefile and not something else?
Last edited by deretsigernu; 09-21-2018 at 07:18 PM.
Reason: add info
That version of gcc seems adequate based on this. I suppose it's possible that a newer version of gcc is required for 4.18.xx and -fstack-protector-strong but I can't find anything to corroborate that, in fact it seems that gcc 4.8 should be good enough.
If you're sure that you don't have any compiler options specified in your environment somewhere that might be causing this you could try disabling "Strong Stack Protector" (not ideal) in the "General setup" of your kernel config, make clean and then make again, or you could try an older kernel like 4.16.
@fskmh, I don't know all the settings in the config to know what could be causing the problem. They're all default.
@55020, thanks for the link. I'm not sure what to do with all those files you linked to. I always pointed and clicked at something ready to download and make. To start, I downloaded the kernel generic, kernel headers, kernel modules, and kernel source (txz for each). They are on a different computer than what this thread is written about, so I have to move them over. If I put them on a thumbdrive and extract them to a new folder in /usr/src, what do I do next? For example, do I need to make anything? What order do the files need to processed? What other steps do I need? The only thing I know about modifying the kernel is what I linked to in my first post, where I said "... following instructions here:".
@55020, thanks for the link. I'm not sure what to do with all those files you linked to. I always pointed and clicked at something ready to download and make. To start, I downloaded the kernel generic, kernel headers, kernel modules, and kernel source (txz for each). They are on a different computer than what this thread is written about, so I have to move them over. If I put them on a thumbdrive and extract them to a new folder in /usr/src, what do I do next? For example, do I need to make anything? What order do the files need to processed? What other steps do I need? The only thing I know about modifying the kernel is what I linked to in my first post, where I said "... following instructions here:".
These are pre-compiled packages and are all ready for installation. Then you would just need to regenerate an initrd, ensure your bootloader (lilo, grub, etc) is up-to-date with the newer kernel, then reboot.
If I put them on a thumbdrive and extract them to a new folder in /usr/src, what do I do next?
As bassmadigral indicated: these packages are not source code--they are slackware packages! To install them, put your thumbdrive in... mount it to /mnt/tmp, or any mountpoint of your choice, and then use installpkg or upgradepkg... And as he also said, you might want to check out the script: /usr/share/mkinitrd/mkinitrd_command_generator.sh, which can produce the mkinitrd command for you. Update your bootloader, and good to go. I don't think it matters which order you install them, but I usually go: source, headers, generic, modules.
I don't think it matters which order you install them, but I usually go: source, headers, generic, modules.
It doesn't matter unless you install both the huge and generic kernels and use the /boot/vmlinuz symlink.
The reason why is both the huge and generic kernels have a script that is run at the end of installation that will update symlinks. Both will update the /boot/vmlinuz symlink to point to its own kernel. The last one run will be the one that /boot/vmlinuz is linked against. So, if you rely on /boot/vmlinuz symlink for your bootloader, make sure the kernel you want to use is used last.
I typically recommend referencing the specific kernel rather than relying on the symlink, but that's just personal preference.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.